* drm/i915: vbt data housecleaning
@ 2016-03-24 15:50 Jani Nikula
2016-03-24 15:50 ` [PATCH 1/4] drm/i915: use a substruct in vbt data for edp Jani Nikula
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Jani Nikula @ 2016-03-24 15:50 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
After this series, afaict, intel_bios.c only updates fields under
dev_priv->vbt with the data from VBT.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/4] drm/i915: use a substruct in vbt data for edp
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
@ 2016-03-24 15:50 ` Jani Nikula
2016-03-29 11:43 ` Daniel Vetter
2016-03-24 15:50 ` [PATCH 2/4] drm/i915: move edp low vswing config to vbt data Jani Nikula
` (5 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2016-03-24 15:50 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Housekeeping, similar to psr, backlight, and dsi. No functional changes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 19 ++++++++++---------
drivers/gpu/drm/i915/intel_bios.c | 38 +++++++++++++++++++-------------------
drivers/gpu/drm/i915/intel_ddi.c | 8 ++++----
drivers/gpu/drm/i915/intel_dp.c | 16 ++++++++--------
drivers/gpu/drm/i915/intel_lvds.c | 2 +-
5 files changed, 42 insertions(+), 41 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index b93ef7017c93..fe8021ecb254 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1446,15 +1446,16 @@ struct intel_vbt_data {
enum drrs_support_type drrs_type;
- /* eDP */
- int edp_rate;
- int edp_lanes;
- int edp_preemphasis;
- int edp_vswing;
- bool edp_initialized;
- bool edp_support;
- int edp_bpp;
- struct edp_power_seq edp_pps;
+ struct {
+ int rate;
+ int lanes;
+ int preemphasis;
+ int vswing;
+ bool initialized;
+ bool support;
+ int bpp;
+ struct edp_power_seq pps;
+ } edp;
struct {
bool full_link;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 083003b015f5..61eb7a6bb8f0 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -527,7 +527,7 @@ parse_driver_features(struct drm_i915_private *dev_priv,
return;
if (driver->lvds_config == BDB_DRIVER_FEATURE_EDP)
- dev_priv->vbt.edp_support = 1;
+ dev_priv->vbt.edp.support = 1;
if (driver->dual_frequency)
dev_priv->render_reclock_avail = true;
@@ -552,20 +552,20 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
edp = find_section(bdb, BDB_EDP);
if (!edp) {
- if (dev_priv->vbt.edp_support)
+ if (dev_priv->vbt.edp.support)
DRM_DEBUG_KMS("No eDP BDB found but eDP panel supported.\n");
return;
}
switch ((edp->color_depth >> (panel_type * 2)) & 3) {
case EDP_18BPP:
- dev_priv->vbt.edp_bpp = 18;
+ dev_priv->vbt.edp.bpp = 18;
break;
case EDP_24BPP:
- dev_priv->vbt.edp_bpp = 24;
+ dev_priv->vbt.edp.bpp = 24;
break;
case EDP_30BPP:
- dev_priv->vbt.edp_bpp = 30;
+ dev_priv->vbt.edp.bpp = 30;
break;
}
@@ -573,14 +573,14 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
edp_pps = &edp->power_seqs[panel_type];
edp_link_params = &edp->link_params[panel_type];
- dev_priv->vbt.edp_pps = *edp_pps;
+ dev_priv->vbt.edp.pps = *edp_pps;
switch (edp_link_params->rate) {
case EDP_RATE_1_62:
- dev_priv->vbt.edp_rate = DP_LINK_BW_1_62;
+ dev_priv->vbt.edp.rate = DP_LINK_BW_1_62;
break;
case EDP_RATE_2_7:
- dev_priv->vbt.edp_rate = DP_LINK_BW_2_7;
+ dev_priv->vbt.edp.rate = DP_LINK_BW_2_7;
break;
default:
DRM_DEBUG_KMS("VBT has unknown eDP link rate value %u\n",
@@ -590,13 +590,13 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
switch (edp_link_params->lanes) {
case EDP_LANE_1:
- dev_priv->vbt.edp_lanes = 1;
+ dev_priv->vbt.edp.lanes = 1;
break;
case EDP_LANE_2:
- dev_priv->vbt.edp_lanes = 2;
+ dev_priv->vbt.edp.lanes = 2;
break;
case EDP_LANE_4:
- dev_priv->vbt.edp_lanes = 4;
+ dev_priv->vbt.edp.lanes = 4;
break;
default:
DRM_DEBUG_KMS("VBT has unknown eDP lane count value %u\n",
@@ -606,16 +606,16 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
switch (edp_link_params->preemphasis) {
case EDP_PREEMPHASIS_NONE:
- dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_0;
+ dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_0;
break;
case EDP_PREEMPHASIS_3_5dB:
- dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_1;
+ dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_1;
break;
case EDP_PREEMPHASIS_6dB:
- dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_2;
+ dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_2;
break;
case EDP_PREEMPHASIS_9_5dB:
- dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
+ dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
break;
default:
DRM_DEBUG_KMS("VBT has unknown eDP pre-emphasis value %u\n",
@@ -625,16 +625,16 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
switch (edp_link_params->vswing) {
case EDP_VSWING_0_4V:
- dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_0;
+ dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_0;
break;
case EDP_VSWING_0_6V:
- dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_1;
+ dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_1;
break;
case EDP_VSWING_0_8V:
- dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
+ dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
break;
case EDP_VSWING_1_2V:
- dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
+ dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
break;
default:
DRM_DEBUG_KMS("VBT has unknown eDP voltage swing value %u\n",
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index e6c3a80e1360..50e4978359a4 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2002,8 +2002,8 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
pipe_config->has_audio =
intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
- if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp_bpp &&
- pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
+ if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
+ pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
/*
* This is a big fat ugly hack.
*
@@ -2018,8 +2018,8 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
* load.
*/
DRM_DEBUG_KMS("pipe has %d bpp for eDP panel, overriding BIOS-provided max %d bpp\n",
- pipe_config->pipe_bpp, dev_priv->vbt.edp_bpp);
- dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp;
+ pipe_config->pipe_bpp, dev_priv->vbt.edp.bpp);
+ dev_priv->vbt.edp.bpp = pipe_config->pipe_bpp;
}
intel_ddi_clock_get(encoder, pipe_config);
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 3ff8f1d67594..55faad13174d 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1500,10 +1500,10 @@ intel_dp_compute_config(struct intel_encoder *encoder,
/* Get bpp from vbt only for panels that dont have bpp in edid */
if (intel_connector->base.display_info.bpc == 0 &&
- (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp)) {
+ (dev_priv->vbt.edp.bpp && dev_priv->vbt.edp.bpp < bpp)) {
DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n",
- dev_priv->vbt.edp_bpp);
- bpp = dev_priv->vbt.edp_bpp;
+ dev_priv->vbt.edp.bpp);
+ bpp = dev_priv->vbt.edp.bpp;
}
/*
@@ -2386,8 +2386,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
intel_dotclock_calculate(pipe_config->port_clock,
&pipe_config->dp_m_n);
- if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp &&
- pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
+ if (is_edp(intel_dp) && dev_priv->vbt.edp.bpp &&
+ pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
/*
* This is a big fat ugly hack.
*
@@ -2402,8 +2402,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
* load.
*/
DRM_DEBUG_KMS("pipe has %d bpp for eDP panel, overriding BIOS-provided max %d bpp\n",
- pipe_config->pipe_bpp, dev_priv->vbt.edp_bpp);
- dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp;
+ pipe_config->pipe_bpp, dev_priv->vbt.edp.bpp);
+ dev_priv->vbt.edp.bpp = pipe_config->pipe_bpp;
}
}
@@ -5111,7 +5111,7 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
DRM_DEBUG_KMS("cur t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n",
cur.t1_t3, cur.t8, cur.t9, cur.t10, cur.t11_t12);
- vbt = dev_priv->vbt.edp_pps;
+ vbt = dev_priv->vbt.edp.pps;
/* Upper limits from eDP 1.3 spec. Note that we use the clunky units of
* our hw here, which are all in 100usec. */
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 766ba566fef1..5d2b2575de33 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -924,7 +924,7 @@ void intel_lvds_init(struct drm_device *dev)
if (HAS_PCH_SPLIT(dev)) {
if ((lvds & LVDS_DETECTED) == 0)
return;
- if (dev_priv->vbt.edp_support) {
+ if (dev_priv->vbt.edp.support) {
DRM_DEBUG_KMS("disable LVDS for eDP support\n");
return;
}
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/4] drm/i915: move edp low vswing config to vbt data
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
2016-03-24 15:50 ` [PATCH 1/4] drm/i915: use a substruct in vbt data for edp Jani Nikula
@ 2016-03-24 15:50 ` Jani Nikula
2016-03-24 15:50 ` [PATCH 3/4] drm/i915: move sdvo mappings " Jani Nikula
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2016-03-24 15:50 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Move all data initialized from VBT under dev_priv->vbt. No functional
changes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 3 +--
drivers/gpu/drm/i915/intel_bios.c | 4 ++--
drivers/gpu/drm/i915/intel_ddi.c | 4 ++--
drivers/gpu/drm/i915/intel_dp.c | 2 +-
4 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index fe8021ecb254..ad6f69ef95d5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1451,6 +1451,7 @@ struct intel_vbt_data {
int lanes;
int preemphasis;
int vswing;
+ bool low_vswing;
bool initialized;
bool support;
int bpp;
@@ -1963,8 +1964,6 @@ struct drm_i915_private {
struct intel_context *kernel_context;
- bool edp_low_vswing;
-
/* perform PHY state sanity checks? */
bool chv_phy_assert[2];
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 61eb7a6bb8f0..3af8a4a2e145 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -647,10 +647,10 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
/* Don't read from VBT if module parameter has valid value*/
if (i915.edp_vswing) {
- dev_priv->edp_low_vswing = i915.edp_vswing == 1;
+ dev_priv->vbt.edp.low_vswing = i915.edp_vswing == 1;
} else {
vswing = (edp->edp_vswing_preemph >> (panel_type * 4)) & 0xF;
- dev_priv->edp_low_vswing = vswing == 0;
+ dev_priv->vbt.edp.low_vswing = vswing == 0;
}
}
}
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 50e4978359a4..1e083853c70d 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -360,7 +360,7 @@ skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
static const struct ddi_buf_trans *
skl_get_buf_trans_edp(struct drm_i915_private *dev_priv, int *n_entries)
{
- if (dev_priv->edp_low_vswing) {
+ if (dev_priv->vbt.edp.low_vswing) {
if (IS_SKL_ULX(dev_priv) || IS_KBL_ULX(dev_priv)) {
*n_entries = ARRAY_SIZE(skl_y_ddi_translations_edp);
return skl_y_ddi_translations_edp;
@@ -1431,7 +1431,7 @@ static void bxt_ddi_vswing_sequence(struct drm_i915_private *dev_priv,
u32 n_entries, i;
uint32_t val;
- if (type == INTEL_OUTPUT_EDP && dev_priv->edp_low_vswing) {
+ if (type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.low_vswing) {
n_entries = ARRAY_SIZE(bxt_ddi_translations_edp);
ddi_translations = bxt_ddi_translations_edp;
} else if (type == INTEL_OUTPUT_DISPLAYPORT
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 55faad13174d..3bdd8ba59b8c 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -3157,7 +3157,7 @@ intel_dp_voltage_max(struct intel_dp *intel_dp)
if (IS_BROXTON(dev))
return DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
else if (INTEL_INFO(dev)->gen >= 9) {
- if (dev_priv->edp_low_vswing && port == PORT_A)
+ if (dev_priv->vbt.edp.low_vswing && port == PORT_A)
return DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
return DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
} else if (IS_VALLEYVIEW(dev) || IS_CHERRYVIEW(dev))
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/4] drm/i915: move sdvo mappings to vbt data
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
2016-03-24 15:50 ` [PATCH 1/4] drm/i915: use a substruct in vbt data for edp Jani Nikula
2016-03-24 15:50 ` [PATCH 2/4] drm/i915: move edp low vswing config to vbt data Jani Nikula
@ 2016-03-24 15:50 ` Jani Nikula
2016-03-29 11:45 ` Daniel Vetter
2016-03-24 15:50 ` [PATCH 4/4] drm/i915: remove unused dev_priv->render_reclock_avail Jani Nikula
` (3 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2016-03-24 15:50 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Move all data initialized from VBT under dev_priv->vbt. No functional
changes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 3 +--
drivers/gpu/drm/i915/intel_bios.c | 2 +-
drivers/gpu/drm/i915/intel_sdvo.c | 16 ++++++++--------
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ad6f69ef95d5..bf867e28731d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1491,6 +1491,7 @@ struct intel_vbt_data {
union child_device_config *child_dev;
struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
+ struct sdvo_device_mapping sdvo_mappings[2];
};
enum intel_ddb_partitioning {
@@ -1823,8 +1824,6 @@ struct drm_i915_private {
/* Kernel Modesetting */
- struct sdvo_device_mapping sdvo_mappings[2];
-
struct drm_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
struct drm_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
wait_queue_head_t pending_flip_queue;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 3af8a4a2e145..407fb7a12a49 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -482,7 +482,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
child->slave_addr,
(child->dvo_port == DEVICE_PORT_DVOB) ?
"SDVOB" : "SDVOC");
- p_mapping = &(dev_priv->sdvo_mappings[child->dvo_port - 1]);
+ p_mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
if (!p_mapping->initialized) {
p_mapping->dvo_port = child->dvo_port;
p_mapping->slave_addr = child->slave_addr;
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index fae64bc93c1b..2128fae5687d 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -2260,9 +2260,9 @@ intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv,
struct sdvo_device_mapping *mapping;
if (sdvo->port == PORT_B)
- mapping = &(dev_priv->sdvo_mappings[0]);
+ mapping = &dev_priv->vbt.sdvo_mappings[0];
else
- mapping = &(dev_priv->sdvo_mappings[1]);
+ mapping = &dev_priv->vbt.sdvo_mappings[1];
if (mapping->initialized)
sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4);
@@ -2278,9 +2278,9 @@ intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv,
u8 pin;
if (sdvo->port == PORT_B)
- mapping = &dev_priv->sdvo_mappings[0];
+ mapping = &dev_priv->vbt.sdvo_mappings[0];
else
- mapping = &dev_priv->sdvo_mappings[1];
+ mapping = &dev_priv->vbt.sdvo_mappings[1];
if (mapping->initialized &&
intel_gmbus_is_valid_pin(dev_priv, mapping->i2c_pin))
@@ -2316,11 +2316,11 @@ intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo)
struct sdvo_device_mapping *my_mapping, *other_mapping;
if (sdvo->port == PORT_B) {
- my_mapping = &dev_priv->sdvo_mappings[0];
- other_mapping = &dev_priv->sdvo_mappings[1];
+ my_mapping = &dev_priv->vbt.sdvo_mappings[0];
+ other_mapping = &dev_priv->vbt.sdvo_mappings[1];
} else {
- my_mapping = &dev_priv->sdvo_mappings[1];
- other_mapping = &dev_priv->sdvo_mappings[0];
+ my_mapping = &dev_priv->vbt.sdvo_mappings[1];
+ other_mapping = &dev_priv->vbt.sdvo_mappings[0];
}
/* If the BIOS described our SDVO device, take advantage of it. */
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/4] drm/i915: remove unused dev_priv->render_reclock_avail
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
` (2 preceding siblings ...)
2016-03-24 15:50 ` [PATCH 3/4] drm/i915: move sdvo mappings " Jani Nikula
@ 2016-03-24 15:50 ` Jani Nikula
2016-03-24 17:31 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp Patchwork
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2016-03-24 15:50 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Set from VBT, but never used. Good riddance.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 3 ---
drivers/gpu/drm/i915/intel_bios.c | 3 ---
2 files changed, 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index bf867e28731d..0906dfd7b1a9 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1844,9 +1844,6 @@ struct drm_i915_private {
struct i915_workarounds workarounds;
- /* Reclocking support */
- bool render_reclock_avail;
-
struct i915_frontbuffer_tracking fb_tracking;
u16 orig_clock;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 407fb7a12a49..9c406b0f4173 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -529,9 +529,6 @@ parse_driver_features(struct drm_i915_private *dev_priv,
if (driver->lvds_config == BDB_DRIVER_FEATURE_EDP)
dev_priv->vbt.edp.support = 1;
- if (driver->dual_frequency)
- dev_priv->render_reclock_avail = true;
-
DRM_DEBUG_KMS("DRRS State Enabled:%d\n", driver->drrs_enabled);
/*
* If DRRS is not supported, drrs_type has to be set to 0.
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
` (3 preceding siblings ...)
2016-03-24 15:50 ` [PATCH 4/4] drm/i915: remove unused dev_priv->render_reclock_avail Jani Nikula
@ 2016-03-24 17:31 ` Patchwork
2016-03-29 13:44 ` Patchwork
2016-03-29 14:13 ` Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2016-03-24 17:31 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/4] drm/i915: use a substruct in vbt data for edp
URL : https://patchwork.freedesktop.org/series/4868/
State : failure
== Summary ==
Series 4868v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/4868/revisions/1/mbox/
Test kms_flip:
Subgroup basic-flip-vs-wf_vblank:
pass -> FAIL (snb-x220t)
Test pm_rpm:
Subgroup basic-rte:
dmesg-warn -> PASS (byt-nuc) UNSTABLE
bdw-nuci7 total:192 pass:179 dwarn:0 dfail:0 fail:1 skip:12
bdw-ultra total:192 pass:170 dwarn:0 dfail:0 fail:1 skip:21
bsw-nuc-2 total:192 pass:155 dwarn:0 dfail:0 fail:0 skip:37
byt-nuc total:192 pass:157 dwarn:0 dfail:0 fail:0 skip:35
hsw-brixbox total:192 pass:170 dwarn:0 dfail:0 fail:0 skip:22
hsw-gt2 total:192 pass:175 dwarn:0 dfail:0 fail:0 skip:17
ivb-t430s total:192 pass:167 dwarn:0 dfail:0 fail:0 skip:25
skl-i7k-2 total:192 pass:169 dwarn:0 dfail:0 fail:0 skip:23
skl-nuci5 total:192 pass:181 dwarn:0 dfail:0 fail:0 skip:11
snb-dellxps total:192 pass:158 dwarn:0 dfail:0 fail:0 skip:34
snb-x220t total:192 pass:157 dwarn:0 dfail:0 fail:2 skip:33
Results at /archive/results/CI_IGT_test/Patchwork_1713/
f5d413cccefa1f93d64c34f357151d42add63a84 drm-intel-nightly: 2016y-03m-24d-14h-34m-29s UTC integration manifest
1a39afcdd378040f1e49f3958f7b4d1fb5816ebb drm/i915: remove unused dev_priv->render_reclock_avail
1d4564efdf67819ed1eaabd04282c0530fb1317b drm/i915: move sdvo mappings to vbt data
86cd1204bb7bfe27dcb2d8e7a400e4566a5547d6 drm/i915: move edp low vswing config to vbt data
4acc3eb5e89dcb05e9f7af7bc1ae490bcfcf2156 drm/i915: use a substruct in vbt data for edp
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] drm/i915: use a substruct in vbt data for edp
2016-03-24 15:50 ` [PATCH 1/4] drm/i915: use a substruct in vbt data for edp Jani Nikula
@ 2016-03-29 11:43 ` Daniel Vetter
0 siblings, 0 replies; 11+ messages in thread
From: Daniel Vetter @ 2016-03-29 11:43 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Thu, Mar 24, 2016 at 05:50:20PM +0200, Jani Nikula wrote:
> Housekeeping, similar to psr, backlight, and dsi. No functional changes.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Assuming gcc is still happy: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 19 ++++++++++---------
> drivers/gpu/drm/i915/intel_bios.c | 38 +++++++++++++++++++-------------------
> drivers/gpu/drm/i915/intel_ddi.c | 8 ++++----
> drivers/gpu/drm/i915/intel_dp.c | 16 ++++++++--------
> drivers/gpu/drm/i915/intel_lvds.c | 2 +-
> 5 files changed, 42 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index b93ef7017c93..fe8021ecb254 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1446,15 +1446,16 @@ struct intel_vbt_data {
>
> enum drrs_support_type drrs_type;
>
> - /* eDP */
> - int edp_rate;
> - int edp_lanes;
> - int edp_preemphasis;
> - int edp_vswing;
> - bool edp_initialized;
> - bool edp_support;
> - int edp_bpp;
> - struct edp_power_seq edp_pps;
> + struct {
> + int rate;
> + int lanes;
> + int preemphasis;
> + int vswing;
> + bool initialized;
> + bool support;
> + int bpp;
> + struct edp_power_seq pps;
> + } edp;
>
> struct {
> bool full_link;
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 083003b015f5..61eb7a6bb8f0 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -527,7 +527,7 @@ parse_driver_features(struct drm_i915_private *dev_priv,
> return;
>
> if (driver->lvds_config == BDB_DRIVER_FEATURE_EDP)
> - dev_priv->vbt.edp_support = 1;
> + dev_priv->vbt.edp.support = 1;
>
> if (driver->dual_frequency)
> dev_priv->render_reclock_avail = true;
> @@ -552,20 +552,20 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
>
> edp = find_section(bdb, BDB_EDP);
> if (!edp) {
> - if (dev_priv->vbt.edp_support)
> + if (dev_priv->vbt.edp.support)
> DRM_DEBUG_KMS("No eDP BDB found but eDP panel supported.\n");
> return;
> }
>
> switch ((edp->color_depth >> (panel_type * 2)) & 3) {
> case EDP_18BPP:
> - dev_priv->vbt.edp_bpp = 18;
> + dev_priv->vbt.edp.bpp = 18;
> break;
> case EDP_24BPP:
> - dev_priv->vbt.edp_bpp = 24;
> + dev_priv->vbt.edp.bpp = 24;
> break;
> case EDP_30BPP:
> - dev_priv->vbt.edp_bpp = 30;
> + dev_priv->vbt.edp.bpp = 30;
> break;
> }
>
> @@ -573,14 +573,14 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
> edp_pps = &edp->power_seqs[panel_type];
> edp_link_params = &edp->link_params[panel_type];
>
> - dev_priv->vbt.edp_pps = *edp_pps;
> + dev_priv->vbt.edp.pps = *edp_pps;
>
> switch (edp_link_params->rate) {
> case EDP_RATE_1_62:
> - dev_priv->vbt.edp_rate = DP_LINK_BW_1_62;
> + dev_priv->vbt.edp.rate = DP_LINK_BW_1_62;
> break;
> case EDP_RATE_2_7:
> - dev_priv->vbt.edp_rate = DP_LINK_BW_2_7;
> + dev_priv->vbt.edp.rate = DP_LINK_BW_2_7;
> break;
> default:
> DRM_DEBUG_KMS("VBT has unknown eDP link rate value %u\n",
> @@ -590,13 +590,13 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
>
> switch (edp_link_params->lanes) {
> case EDP_LANE_1:
> - dev_priv->vbt.edp_lanes = 1;
> + dev_priv->vbt.edp.lanes = 1;
> break;
> case EDP_LANE_2:
> - dev_priv->vbt.edp_lanes = 2;
> + dev_priv->vbt.edp.lanes = 2;
> break;
> case EDP_LANE_4:
> - dev_priv->vbt.edp_lanes = 4;
> + dev_priv->vbt.edp.lanes = 4;
> break;
> default:
> DRM_DEBUG_KMS("VBT has unknown eDP lane count value %u\n",
> @@ -606,16 +606,16 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
>
> switch (edp_link_params->preemphasis) {
> case EDP_PREEMPHASIS_NONE:
> - dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_0;
> + dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_0;
> break;
> case EDP_PREEMPHASIS_3_5dB:
> - dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_1;
> + dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_1;
> break;
> case EDP_PREEMPHASIS_6dB:
> - dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_2;
> + dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_2;
> break;
> case EDP_PREEMPHASIS_9_5dB:
> - dev_priv->vbt.edp_preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
> + dev_priv->vbt.edp.preemphasis = DP_TRAIN_PRE_EMPH_LEVEL_3;
> break;
> default:
> DRM_DEBUG_KMS("VBT has unknown eDP pre-emphasis value %u\n",
> @@ -625,16 +625,16 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
>
> switch (edp_link_params->vswing) {
> case EDP_VSWING_0_4V:
> - dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_0;
> + dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_0;
> break;
> case EDP_VSWING_0_6V:
> - dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_1;
> + dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_1;
> break;
> case EDP_VSWING_0_8V:
> - dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
> + dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_2;
> break;
> case EDP_VSWING_1_2V:
> - dev_priv->vbt.edp_vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
> + dev_priv->vbt.edp.vswing = DP_TRAIN_VOLTAGE_SWING_LEVEL_3;
> break;
> default:
> DRM_DEBUG_KMS("VBT has unknown eDP voltage swing value %u\n",
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index e6c3a80e1360..50e4978359a4 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2002,8 +2002,8 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
> pipe_config->has_audio =
> intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
>
> - if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp_bpp &&
> - pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
> + if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
> + pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
> /*
> * This is a big fat ugly hack.
> *
> @@ -2018,8 +2018,8 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
> * load.
> */
> DRM_DEBUG_KMS("pipe has %d bpp for eDP panel, overriding BIOS-provided max %d bpp\n",
> - pipe_config->pipe_bpp, dev_priv->vbt.edp_bpp);
> - dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp;
> + pipe_config->pipe_bpp, dev_priv->vbt.edp.bpp);
> + dev_priv->vbt.edp.bpp = pipe_config->pipe_bpp;
> }
>
> intel_ddi_clock_get(encoder, pipe_config);
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 3ff8f1d67594..55faad13174d 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1500,10 +1500,10 @@ intel_dp_compute_config(struct intel_encoder *encoder,
>
> /* Get bpp from vbt only for panels that dont have bpp in edid */
> if (intel_connector->base.display_info.bpc == 0 &&
> - (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp)) {
> + (dev_priv->vbt.edp.bpp && dev_priv->vbt.edp.bpp < bpp)) {
> DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n",
> - dev_priv->vbt.edp_bpp);
> - bpp = dev_priv->vbt.edp_bpp;
> + dev_priv->vbt.edp.bpp);
> + bpp = dev_priv->vbt.edp.bpp;
> }
>
> /*
> @@ -2386,8 +2386,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
> intel_dotclock_calculate(pipe_config->port_clock,
> &pipe_config->dp_m_n);
>
> - if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp &&
> - pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
> + if (is_edp(intel_dp) && dev_priv->vbt.edp.bpp &&
> + pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
> /*
> * This is a big fat ugly hack.
> *
> @@ -2402,8 +2402,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
> * load.
> */
> DRM_DEBUG_KMS("pipe has %d bpp for eDP panel, overriding BIOS-provided max %d bpp\n",
> - pipe_config->pipe_bpp, dev_priv->vbt.edp_bpp);
> - dev_priv->vbt.edp_bpp = pipe_config->pipe_bpp;
> + pipe_config->pipe_bpp, dev_priv->vbt.edp.bpp);
> + dev_priv->vbt.edp.bpp = pipe_config->pipe_bpp;
> }
> }
>
> @@ -5111,7 +5111,7 @@ intel_dp_init_panel_power_sequencer(struct drm_device *dev,
> DRM_DEBUG_KMS("cur t1_t3 %d t8 %d t9 %d t10 %d t11_t12 %d\n",
> cur.t1_t3, cur.t8, cur.t9, cur.t10, cur.t11_t12);
>
> - vbt = dev_priv->vbt.edp_pps;
> + vbt = dev_priv->vbt.edp.pps;
>
> /* Upper limits from eDP 1.3 spec. Note that we use the clunky units of
> * our hw here, which are all in 100usec. */
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 766ba566fef1..5d2b2575de33 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -924,7 +924,7 @@ void intel_lvds_init(struct drm_device *dev)
> if (HAS_PCH_SPLIT(dev)) {
> if ((lvds & LVDS_DETECTED) == 0)
> return;
> - if (dev_priv->vbt.edp_support) {
> + if (dev_priv->vbt.edp.support) {
> DRM_DEBUG_KMS("disable LVDS for eDP support\n");
> return;
> }
> --
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] drm/i915: move sdvo mappings to vbt data
2016-03-24 15:50 ` [PATCH 3/4] drm/i915: move sdvo mappings " Jani Nikula
@ 2016-03-29 11:45 ` Daniel Vetter
2016-03-29 12:25 ` Jani Nikula
0 siblings, 1 reply; 11+ messages in thread
From: Daniel Vetter @ 2016-03-29 11:45 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Thu, Mar 24, 2016 at 05:50:22PM +0200, Jani Nikula wrote:
> Move all data initialized from VBT under dev_priv->vbt. No functional
> changes.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 3 +--
> drivers/gpu/drm/i915/intel_bios.c | 2 +-
> drivers/gpu/drm/i915/intel_sdvo.c | 16 ++++++++--------
> 3 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index ad6f69ef95d5..bf867e28731d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1491,6 +1491,7 @@ struct intel_vbt_data {
> union child_device_config *child_dev;
>
> struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
> + struct sdvo_device_mapping sdvo_mappings[2];
> };
>
> enum intel_ddb_partitioning {
> @@ -1823,8 +1824,6 @@ struct drm_i915_private {
>
> /* Kernel Modesetting */
>
> - struct sdvo_device_mapping sdvo_mappings[2];
> -
> struct drm_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
> struct drm_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
> wait_queue_head_t pending_flip_queue;
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 3af8a4a2e145..407fb7a12a49 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -482,7 +482,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
> child->slave_addr,
> (child->dvo_port == DEVICE_PORT_DVOB) ?
> "SDVOB" : "SDVOC");
> - p_mapping = &(dev_priv->sdvo_mappings[child->dvo_port - 1]);
> + p_mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
Is the long-term plan that you pass around a point to dev_priv->vbt into
all the parsing functions? Could be nice step to reinforce all your work
to have vbt parsing consolidated into one place.
Anyway, on patches 2-4: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> if (!p_mapping->initialized) {
> p_mapping->dvo_port = child->dvo_port;
> p_mapping->slave_addr = child->slave_addr;
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index fae64bc93c1b..2128fae5687d 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -2260,9 +2260,9 @@ intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv,
> struct sdvo_device_mapping *mapping;
>
> if (sdvo->port == PORT_B)
> - mapping = &(dev_priv->sdvo_mappings[0]);
> + mapping = &dev_priv->vbt.sdvo_mappings[0];
> else
> - mapping = &(dev_priv->sdvo_mappings[1]);
> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>
> if (mapping->initialized)
> sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4);
> @@ -2278,9 +2278,9 @@ intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv,
> u8 pin;
>
> if (sdvo->port == PORT_B)
> - mapping = &dev_priv->sdvo_mappings[0];
> + mapping = &dev_priv->vbt.sdvo_mappings[0];
> else
> - mapping = &dev_priv->sdvo_mappings[1];
> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>
> if (mapping->initialized &&
> intel_gmbus_is_valid_pin(dev_priv, mapping->i2c_pin))
> @@ -2316,11 +2316,11 @@ intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo)
> struct sdvo_device_mapping *my_mapping, *other_mapping;
>
> if (sdvo->port == PORT_B) {
> - my_mapping = &dev_priv->sdvo_mappings[0];
> - other_mapping = &dev_priv->sdvo_mappings[1];
> + my_mapping = &dev_priv->vbt.sdvo_mappings[0];
> + other_mapping = &dev_priv->vbt.sdvo_mappings[1];
> } else {
> - my_mapping = &dev_priv->sdvo_mappings[1];
> - other_mapping = &dev_priv->sdvo_mappings[0];
> + my_mapping = &dev_priv->vbt.sdvo_mappings[1];
> + other_mapping = &dev_priv->vbt.sdvo_mappings[0];
> }
>
> /* If the BIOS described our SDVO device, take advantage of it. */
> --
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] drm/i915: move sdvo mappings to vbt data
2016-03-29 11:45 ` Daniel Vetter
@ 2016-03-29 12:25 ` Jani Nikula
0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2016-03-29 12:25 UTC (permalink / raw)
To: Daniel Vetter; +Cc: intel-gfx
On Tue, 29 Mar 2016, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Mar 24, 2016 at 05:50:22PM +0200, Jani Nikula wrote:
>> Move all data initialized from VBT under dev_priv->vbt. No functional
>> changes.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 3 +--
>> drivers/gpu/drm/i915/intel_bios.c | 2 +-
>> drivers/gpu/drm/i915/intel_sdvo.c | 16 ++++++++--------
>> 3 files changed, 10 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index ad6f69ef95d5..bf867e28731d 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -1491,6 +1491,7 @@ struct intel_vbt_data {
>> union child_device_config *child_dev;
>>
>> struct ddi_vbt_port_info ddi_port_info[I915_MAX_PORTS];
>> + struct sdvo_device_mapping sdvo_mappings[2];
>> };
>>
>> enum intel_ddb_partitioning {
>> @@ -1823,8 +1824,6 @@ struct drm_i915_private {
>>
>> /* Kernel Modesetting */
>>
>> - struct sdvo_device_mapping sdvo_mappings[2];
>> -
>> struct drm_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
>> struct drm_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
>> wait_queue_head_t pending_flip_queue;
>> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
>> index 3af8a4a2e145..407fb7a12a49 100644
>> --- a/drivers/gpu/drm/i915/intel_bios.c
>> +++ b/drivers/gpu/drm/i915/intel_bios.c
>> @@ -482,7 +482,7 @@ parse_sdvo_device_mapping(struct drm_i915_private *dev_priv,
>> child->slave_addr,
>> (child->dvo_port == DEVICE_PORT_DVOB) ?
>> "SDVOB" : "SDVOC");
>> - p_mapping = &(dev_priv->sdvo_mappings[child->dvo_port - 1]);
>> + p_mapping = &dev_priv->vbt.sdvo_mappings[child->dvo_port - 1];
>
> Is the long-term plan that you pass around a point to dev_priv->vbt into
> all the parsing functions? Could be nice step to reinforce all your work
> to have vbt parsing consolidated into one place.
Yes, eventually I'd like (most of) dev_priv->vbt be private to
intel_bios.c and abstracted away from the rest of the driver.
> Anyway, on patches 2-4: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Thanks, pushed to drm-intel-next-queued.
BR,
Jani.
>
>> if (!p_mapping->initialized) {
>> p_mapping->dvo_port = child->dvo_port;
>> p_mapping->slave_addr = child->slave_addr;
>> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
>> index fae64bc93c1b..2128fae5687d 100644
>> --- a/drivers/gpu/drm/i915/intel_sdvo.c
>> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
>> @@ -2260,9 +2260,9 @@ intel_sdvo_select_ddc_bus(struct drm_i915_private *dev_priv,
>> struct sdvo_device_mapping *mapping;
>>
>> if (sdvo->port == PORT_B)
>> - mapping = &(dev_priv->sdvo_mappings[0]);
>> + mapping = &dev_priv->vbt.sdvo_mappings[0];
>> else
>> - mapping = &(dev_priv->sdvo_mappings[1]);
>> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>>
>> if (mapping->initialized)
>> sdvo->ddc_bus = 1 << ((mapping->ddc_pin & 0xf0) >> 4);
>> @@ -2278,9 +2278,9 @@ intel_sdvo_select_i2c_bus(struct drm_i915_private *dev_priv,
>> u8 pin;
>>
>> if (sdvo->port == PORT_B)
>> - mapping = &dev_priv->sdvo_mappings[0];
>> + mapping = &dev_priv->vbt.sdvo_mappings[0];
>> else
>> - mapping = &dev_priv->sdvo_mappings[1];
>> + mapping = &dev_priv->vbt.sdvo_mappings[1];
>>
>> if (mapping->initialized &&
>> intel_gmbus_is_valid_pin(dev_priv, mapping->i2c_pin))
>> @@ -2316,11 +2316,11 @@ intel_sdvo_get_slave_addr(struct drm_device *dev, struct intel_sdvo *sdvo)
>> struct sdvo_device_mapping *my_mapping, *other_mapping;
>>
>> if (sdvo->port == PORT_B) {
>> - my_mapping = &dev_priv->sdvo_mappings[0];
>> - other_mapping = &dev_priv->sdvo_mappings[1];
>> + my_mapping = &dev_priv->vbt.sdvo_mappings[0];
>> + other_mapping = &dev_priv->vbt.sdvo_mappings[1];
>> } else {
>> - my_mapping = &dev_priv->sdvo_mappings[1];
>> - other_mapping = &dev_priv->sdvo_mappings[0];
>> + my_mapping = &dev_priv->vbt.sdvo_mappings[1];
>> + other_mapping = &dev_priv->vbt.sdvo_mappings[0];
>> }
>>
>> /* If the BIOS described our SDVO device, take advantage of it. */
>> --
>> 2.1.4
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
` (4 preceding siblings ...)
2016-03-24 17:31 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp Patchwork
@ 2016-03-29 13:44 ` Patchwork
2016-03-29 14:13 ` Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2016-03-29 13:44 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/4] drm/i915: use a substruct in vbt data for edp
URL : https://patchwork.freedesktop.org/series/4868/
State : failure
== Summary ==
Series 4868v1 Series without cover letter
2016-03-29T11:58:48.239234 http://patchwork.freedesktop.org/api/1.0/series/4868/revisions/1/mbox/
Applying: drm/i915: use a substruct in vbt data for edp
Using index info to reconstruct a base tree...
M drivers/gpu/drm/i915/i915_drv.h
M drivers/gpu/drm/i915/intel_bios.c
M drivers/gpu/drm/i915/intel_ddi.c
M drivers/gpu/drm/i915/intel_dp.c
M drivers/gpu/drm/i915/intel_lvds.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_bios.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.c
Auto-merging drivers/gpu/drm/i915/i915_drv.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_drv.h
Patch failed at 0001 drm/i915: use a substruct in vbt data for edp
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
` (5 preceding siblings ...)
2016-03-29 13:44 ` Patchwork
@ 2016-03-29 14:13 ` Patchwork
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2016-03-29 14:13 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/4] drm/i915: use a substruct in vbt data for edp
URL : https://patchwork.freedesktop.org/series/4868/
State : failure
== Summary ==
Series 4868v1 Series without cover letter
2016-03-29T11:58:48.726972 http://patchwork.freedesktop.org/api/1.0/series/4868/revisions/1/mbox/
Applying: drm/i915: use a substruct in vbt data for edp
Using index info to reconstruct a base tree...
M drivers/gpu/drm/i915/i915_drv.h
M drivers/gpu/drm/i915/intel_bios.c
M drivers/gpu/drm/i915/intel_ddi.c
M drivers/gpu/drm/i915/intel_dp.c
M drivers/gpu/drm/i915/intel_lvds.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_bios.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.c
Auto-merging drivers/gpu/drm/i915/i915_drv.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_drv.h
Patch failed at 0001 drm/i915: use a substruct in vbt data for edp
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-03-29 14:13 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-24 15:50 drm/i915: vbt data housecleaning Jani Nikula
2016-03-24 15:50 ` [PATCH 1/4] drm/i915: use a substruct in vbt data for edp Jani Nikula
2016-03-29 11:43 ` Daniel Vetter
2016-03-24 15:50 ` [PATCH 2/4] drm/i915: move edp low vswing config to vbt data Jani Nikula
2016-03-24 15:50 ` [PATCH 3/4] drm/i915: move sdvo mappings " Jani Nikula
2016-03-29 11:45 ` Daniel Vetter
2016-03-29 12:25 ` Jani Nikula
2016-03-24 15:50 ` [PATCH 4/4] drm/i915: remove unused dev_priv->render_reclock_avail Jani Nikula
2016-03-24 17:31 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] drm/i915: use a substruct in vbt data for edp Patchwork
2016-03-29 13:44 ` Patchwork
2016-03-29 14:13 ` Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.