diff options
author | Dave Airlie <airlied@gmail.com> | 2014-04-18 21:16:02 -0400 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2014-04-18 21:16:02 -0400 |
commit | a42892ed10585c5511e8a3e53f0350b4e2242050 (patch) | |
tree | 75cc2ac053bd81a441e083a970a39a58691a8667 /drivers/gpu/drm/radeon/radeon_display.c | |
parent | c044330baa91b6885597cfaaa58b00b6aa690958 (diff) | |
parent | 8902e6f2b832e00e10c6f9e9532f6f63feb4972f (diff) |
Merge branch 'drm-next-3.15-wip' of git://people.freedesktop.org/~deathsimple/linux into drm-next
Some i2c fixes over DisplayPort.
* 'drm-next-3.15-wip' of git://people.freedesktop.org/~deathsimple/linux:
drm/radeon: Improve vramlimit module param documentation
drm/radeon: fix audio pin counts for DCE6+ (v2)
drm/radeon/dp: switch to the common i2c over aux code
drm/dp/i2c: Update comments about common i2c over dp assumptions (v3)
drm/dp/i2c: send bare addresses to properly reset i2c connections (v4)
drm/radeon/dp: handle zero sized i2c over aux transactions (v2)
drm/i915: support address only i2c-over-aux transactions
drm/tegra: dp: Support address-only I2C-over-AUX transactions
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_display.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_display.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 063d4255137f..2f7cbb901fb1 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c | |||
@@ -759,19 +759,18 @@ int radeon_ddc_get_modes(struct radeon_connector *radeon_connector) | |||
759 | 759 | ||
760 | if (radeon_connector_encoder_get_dp_bridge_encoder_id(&radeon_connector->base) != | 760 | if (radeon_connector_encoder_get_dp_bridge_encoder_id(&radeon_connector->base) != |
761 | ENCODER_OBJECT_ID_NONE) { | 761 | ENCODER_OBJECT_ID_NONE) { |
762 | struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; | 762 | if (radeon_connector->ddc_bus->has_aux) |
763 | |||
764 | if (dig->dp_i2c_bus) | ||
765 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, | 763 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, |
766 | &dig->dp_i2c_bus->adapter); | 764 | &radeon_connector->ddc_bus->aux.ddc); |
767 | } else if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) || | 765 | } else if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) || |
768 | (radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)) { | 766 | (radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)) { |
769 | struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; | 767 | struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; |
770 | 768 | ||
771 | if ((dig->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT || | 769 | if ((dig->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT || |
772 | dig->dp_sink_type == CONNECTOR_OBJECT_ID_eDP) && dig->dp_i2c_bus) | 770 | dig->dp_sink_type == CONNECTOR_OBJECT_ID_eDP) && |
771 | radeon_connector->ddc_bus->has_aux) | ||
773 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, | 772 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, |
774 | &dig->dp_i2c_bus->adapter); | 773 | &radeon_connector->ddc_bus->aux.ddc); |
775 | else if (radeon_connector->ddc_bus && !radeon_connector->edid) | 774 | else if (radeon_connector->ddc_bus && !radeon_connector->edid) |
776 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, | 775 | radeon_connector->edid = drm_get_edid(&radeon_connector->base, |
777 | &radeon_connector->ddc_bus->adapter); | 776 | &radeon_connector->ddc_bus->adapter); |