mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 10:32:35 +00:00
drm/radeon/kms: fix displayport->dvi connector DDC.
It appears that attempting AUXCH DDC breaks the subsequent attempt to do DDC over the i2c lines, so use the sink type to determine if we should be doing AUXCH or i2c DDC. This fixes my DVI monitor plugged into DP->DVI convertor. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9270eb1b49
commit
7a15cbd401
@ -357,7 +357,8 @@ int radeon_ddc_get_modes(struct radeon_connector *radeon_connector)
|
|||||||
if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) ||
|
if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) ||
|
||||||
(radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)) {
|
(radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)) {
|
||||||
struct radeon_connector_atom_dig *dig = radeon_connector->con_priv;
|
struct radeon_connector_atom_dig *dig = radeon_connector->con_priv;
|
||||||
if (dig->dp_i2c_bus)
|
if ((dig->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT ||
|
||||||
|
dig->dp_sink_type == CONNECTOR_OBJECT_ID_eDP) && dig->dp_i2c_bus)
|
||||||
radeon_connector->edid = drm_get_edid(&radeon_connector->base, &dig->dp_i2c_bus->adapter);
|
radeon_connector->edid = drm_get_edid(&radeon_connector->base, &dig->dp_i2c_bus->adapter);
|
||||||
}
|
}
|
||||||
if (!radeon_connector->ddc_bus)
|
if (!radeon_connector->ddc_bus)
|
||||||
|
Loading…
Reference in New Issue
Block a user