diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-11 19:19:23 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-11 19:19:23 -0500 |
| commit | 3ab0a0f91cca6a9988ef1544176cd7f2106ec722 (patch) | |
| tree | f118b15a42d82901bac0ef678a67dd84e79a622e | |
| parent | 7640131032db9118a78af715ac77ba2debeeb17c (diff) | |
| parent | 0bbca274a31c2366414d8d3f95e03d1c4674d93f (diff) | |
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm/i915 fixes from Dave Airlie:
"Just two i915 regression fixes, that should be it from me"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/i915: Actually retry with bit-banging after GMBUS timeout
drm/i915: Fix bogus dig_port_map[] assignment for pre-HSW
| -rw-r--r-- | drivers/gpu/drm/i915/intel_audio.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_ddi.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_i2c.c | 6 |
5 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c index 31f6d212fb1b..30f921421b0c 100644 --- a/drivers/gpu/drm/i915/intel_audio.c +++ b/drivers/gpu/drm/i915/intel_audio.c | |||
| @@ -527,6 +527,8 @@ void intel_audio_codec_enable(struct intel_encoder *intel_encoder) | |||
| 527 | 527 | ||
| 528 | mutex_lock(&dev_priv->av_mutex); | 528 | mutex_lock(&dev_priv->av_mutex); |
| 529 | intel_dig_port->audio_connector = connector; | 529 | intel_dig_port->audio_connector = connector; |
| 530 | /* referred in audio callbacks */ | ||
| 531 | dev_priv->dig_port_map[port] = intel_encoder; | ||
| 530 | mutex_unlock(&dev_priv->av_mutex); | 532 | mutex_unlock(&dev_priv->av_mutex); |
| 531 | 533 | ||
| 532 | if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) | 534 | if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) |
| @@ -554,6 +556,7 @@ void intel_audio_codec_disable(struct intel_encoder *intel_encoder) | |||
| 554 | 556 | ||
| 555 | mutex_lock(&dev_priv->av_mutex); | 557 | mutex_lock(&dev_priv->av_mutex); |
| 556 | intel_dig_port->audio_connector = NULL; | 558 | intel_dig_port->audio_connector = NULL; |
| 559 | dev_priv->dig_port_map[port] = NULL; | ||
| 557 | mutex_unlock(&dev_priv->av_mutex); | 560 | mutex_unlock(&dev_priv->av_mutex); |
| 558 | 561 | ||
| 559 | if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) | 562 | if (acomp && acomp->audio_ops && acomp->audio_ops->pin_eld_notify) |
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 0f3df2c39f7c..084d5586585d 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c | |||
| @@ -3358,7 +3358,6 @@ void intel_ddi_init(struct drm_device *dev, enum port port) | |||
| 3358 | intel_encoder->get_config = intel_ddi_get_config; | 3358 | intel_encoder->get_config = intel_ddi_get_config; |
| 3359 | 3359 | ||
| 3360 | intel_dig_port->port = port; | 3360 | intel_dig_port->port = port; |
| 3361 | dev_priv->dig_port_map[port] = intel_encoder; | ||
| 3362 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & | 3361 | intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & |
| 3363 | (DDI_BUF_PORT_REVERSAL | | 3362 | (DDI_BUF_PORT_REVERSAL | |
| 3364 | DDI_A_4_LANES); | 3363 | DDI_A_4_LANES); |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 1d8de43bed56..cdc2c15873dc 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
| @@ -6045,7 +6045,6 @@ intel_dp_init(struct drm_device *dev, | |||
| 6045 | } | 6045 | } |
| 6046 | 6046 | ||
| 6047 | intel_dig_port->port = port; | 6047 | intel_dig_port->port = port; |
| 6048 | dev_priv->dig_port_map[port] = intel_encoder; | ||
| 6049 | intel_dig_port->dp.output_reg = output_reg; | 6048 | intel_dig_port->dp.output_reg = output_reg; |
| 6050 | 6049 | ||
| 6051 | intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; | 6050 | intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index cb5d1b15755c..616108c4bc3e 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
| @@ -2154,7 +2154,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, | |||
| 2154 | void intel_hdmi_init(struct drm_device *dev, | 2154 | void intel_hdmi_init(struct drm_device *dev, |
| 2155 | i915_reg_t hdmi_reg, enum port port) | 2155 | i915_reg_t hdmi_reg, enum port port) |
| 2156 | { | 2156 | { |
| 2157 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
| 2158 | struct intel_digital_port *intel_dig_port; | 2157 | struct intel_digital_port *intel_dig_port; |
| 2159 | struct intel_encoder *intel_encoder; | 2158 | struct intel_encoder *intel_encoder; |
| 2160 | struct intel_connector *intel_connector; | 2159 | struct intel_connector *intel_connector; |
| @@ -2223,7 +2222,6 @@ void intel_hdmi_init(struct drm_device *dev, | |||
| 2223 | intel_encoder->cloneable |= 1 << INTEL_OUTPUT_HDMI; | 2222 | intel_encoder->cloneable |= 1 << INTEL_OUTPUT_HDMI; |
| 2224 | 2223 | ||
| 2225 | intel_dig_port->port = port; | 2224 | intel_dig_port->port = port; |
| 2226 | dev_priv->dig_port_map[port] = intel_encoder; | ||
| 2227 | intel_dig_port->hdmi.hdmi_reg = hdmi_reg; | 2225 | intel_dig_port->hdmi.hdmi_reg = hdmi_reg; |
| 2228 | intel_dig_port->dp.output_reg = INVALID_MMIO_REG; | 2226 | intel_dig_port->dp.output_reg = INVALID_MMIO_REG; |
| 2229 | 2227 | ||
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c index deb8282c26d8..52fbe530fc9e 100644 --- a/drivers/gpu/drm/i915/intel_i2c.c +++ b/drivers/gpu/drm/i915/intel_i2c.c | |||
| @@ -664,6 +664,12 @@ int intel_setup_gmbus(struct drm_device *dev) | |||
| 664 | 664 | ||
| 665 | bus->adapter.algo = &gmbus_algorithm; | 665 | bus->adapter.algo = &gmbus_algorithm; |
| 666 | 666 | ||
| 667 | /* | ||
| 668 | * We wish to retry with bit banging | ||
| 669 | * after a timed out GMBUS attempt. | ||
| 670 | */ | ||
| 671 | bus->adapter.retries = 1; | ||
| 672 | |||
| 667 | /* By default use a conservative clock rate */ | 673 | /* By default use a conservative clock rate */ |
| 668 | bus->reg0 = pin | GMBUS_RATE_100KHZ; | 674 | bus->reg0 = pin | GMBUS_RATE_100KHZ; |
| 669 | 675 | ||
