Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ea2c4be authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms: add additional quirk for Acer rv620 laptop

HPD pins are reversed

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=29387



Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent cce13ff7
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -268,6 +268,7 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
				     uint16_t *line_mux,
				     uint16_t *line_mux,
				     struct radeon_hpd *hpd)
				     struct radeon_hpd *hpd)
{
{
	struct radeon_device *rdev = dev->dev_private;


	/* Asus M2A-VM HDMI board lists the DVI port as HDMI */
	/* Asus M2A-VM HDMI board lists the DVI port as HDMI */
	if ((dev->pdev->device == 0x791e) &&
	if ((dev->pdev->device == 0x791e) &&
@@ -370,13 +371,22 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
		}
		}
	}
	}


	/* Acer laptop reports DVI-D as DVI-I */
	/* Acer laptop reports DVI-D as DVI-I and hpd pins reversed */
	if ((dev->pdev->device == 0x95c4) &&
	if ((dev->pdev->device == 0x95c4) &&
	    (dev->pdev->subsystem_vendor == 0x1025) &&
	    (dev->pdev->subsystem_vendor == 0x1025) &&
	    (dev->pdev->subsystem_device == 0x013c)) {
	    (dev->pdev->subsystem_device == 0x013c)) {
		struct radeon_gpio_rec gpio;

		if ((*connector_type == DRM_MODE_CONNECTOR_DVII) &&
		if ((*connector_type == DRM_MODE_CONNECTOR_DVII) &&
		    (supported_device == ATOM_DEVICE_DFP1_SUPPORT))
		    (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) {
			gpio = radeon_lookup_gpio(rdev, 6);
			*hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio);
			*connector_type = DRM_MODE_CONNECTOR_DVID;
			*connector_type = DRM_MODE_CONNECTOR_DVID;
		} else if ((*connector_type == DRM_MODE_CONNECTOR_HDMIA) &&
			   (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) {
			gpio = radeon_lookup_gpio(rdev, 7);
			*hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio);
		}
	}
	}


	/* XFX Pine Group device rv730 reports no VGA DDC lines
	/* XFX Pine Group device rv730 reports no VGA DDC lines