From e18a08842c58c529ffcf0a8bca80776a5e14b3d5 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Mon, 11 Jan 2021 11:52:31 -0600 Subject: Linux v5.10.6 Signed-off-by: Justin M. Forbes --- 0001-drm-nouveau-kms-handle-mDP-connectors.patch | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 0001-drm-nouveau-kms-handle-mDP-connectors.patch (limited to '0001-drm-nouveau-kms-handle-mDP-connectors.patch') diff --git a/0001-drm-nouveau-kms-handle-mDP-connectors.patch b/0001-drm-nouveau-kms-handle-mDP-connectors.patch new file mode 100644 index 000000000..44c150fd3 --- /dev/null +++ b/0001-drm-nouveau-kms-handle-mDP-connectors.patch @@ -0,0 +1,54 @@ +From 54a080fdc2e65b38aea4dd59dde357d6c340fa25 Mon Sep 17 00:00:00 2001 +From: Karol Herbst +Date: Thu, 26 Nov 2020 14:47:50 +0100 +Subject: [PATCH] drm/nouveau/kms: handle mDP connectors + +In some cases we have the handle those explicitly as the fallback +connector type detection fails and marks those as eDP connectors. + +Attempting to use such a connector with mutter leads to a crash of mutter +as it ends up with two eDP displays. + +Information is taken from the official DCB documentation. + +Upstream Nouveau commit: 95adf381b74e86a8a34b93c3fab73c15dd2f3f5c + +Cc: stable@vger.kernel.org +Cc: dri-devel@lists.freedesktop.org +Cc: Ben Skeggs +Reported-by: Mark Pearson +Tested-by: Mark Pearson +Signed-off-by: Karol Herbst +Signed-off-by: Ben Skeggs +--- + drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h | 1 + + drivers/gpu/drm/nouveau/nouveau_connector.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h +index f5f59261ea81..d1beaad0c82b 100644 +--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h ++++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h +@@ -14,6 +14,7 @@ enum dcb_connector_type { + DCB_CONNECTOR_LVDS_SPWG = 0x41, + DCB_CONNECTOR_DP = 0x46, + DCB_CONNECTOR_eDP = 0x47, ++ DCB_CONNECTOR_mDP = 0x48, + DCB_CONNECTOR_HDMI_0 = 0x60, + DCB_CONNECTOR_HDMI_1 = 0x61, + DCB_CONNECTOR_HDMI_C = 0x63, +diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c +index 8b4b3688c7ae..4c992fd5bd68 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_connector.c ++++ b/drivers/gpu/drm/nouveau/nouveau_connector.c +@@ -1210,6 +1210,7 @@ drm_conntype_from_dcb(enum dcb_connector_type dcb) + case DCB_CONNECTOR_DMS59_DP0: + case DCB_CONNECTOR_DMS59_DP1: + case DCB_CONNECTOR_DP : ++ case DCB_CONNECTOR_mDP : + case DCB_CONNECTOR_USB_C : return DRM_MODE_CONNECTOR_DisplayPort; + case DCB_CONNECTOR_eDP : return DRM_MODE_CONNECTOR_eDP; + case DCB_CONNECTOR_HDMI_0 : +-- +2.29.2 + -- cgit