Commit 53c44c3a authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent da647d5b
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -5210,6 +5210,21 @@ divine_connector_type(struct nvbios *bios, int index)
	return type;
}

static void
apply_dcb_connector_quirks(struct nvbios *bios, int idx)
{
	struct dcb_connector_table_entry *cte = &bios->dcb.connector.entry[idx];
	struct drm_device *dev = bios->dev;

	/* Gigabyte NX85T */
	if ((dev->pdev->device == 0x0421) &&
	    (dev->pdev->subsystem_vendor == 0x1458) &&
	    (dev->pdev->subsystem_device == 0x344c)) {
		if (cte->type == DCB_CONNECTOR_HDMI_1)
			cte->type = DCB_CONNECTOR_DVI_I;
	}
}

static void
parse_dcb_connector_table(struct nvbios *bios)
{
@@ -5266,6 +5281,8 @@ parse_dcb_connector_table(struct nvbios *bios)
		if (cte->type == 0xff)
			continue;

		apply_dcb_connector_quirks(bios, i);

		NV_INFO(dev, "  %d: 0x%08x: type 0x%02x idx %d tag 0x%02x\n",
			i, cte->entry, cte->type, cte->index, cte->gpio_tag);