[Nouveau] [PATCH] disp: Silence DCB warnings.

Rosen Penev rosenp at gmail.com
Wed Jul 26 00:21:43 UTC 2017


Most of these errors seem to be WFD related. Official documentation
says dcb type 8 is reserved. It's probably used for WFD. Silence
the warning in either case.

Connector type 70 is stated to be a virtual connector for WiFi
display. Since we know this, don't warn that we don't.

Signed-off by: Rosen Penev <rosenp at gmail.com>
---
 drm/nouveau/include/nvkm/subdev/bios/conn.h | 1 +
 drm/nouveau/include/nvkm/subdev/bios/dcb.h  | 1 +
 drm/nouveau/nouveau_connector.c             | 1 +
 drm/nouveau/nvkm/engine/disp/base.c         | 4 ++++
 4 files changed, 7 insertions(+)

diff --git a/drm/nouveau/include/nvkm/subdev/bios/conn.h b/drm/nouveau/include/nvkm/subdev/bios/conn.h
index e8e77ee2..deb47728 100644
--- a/drm/nouveau/include/nvkm/subdev/bios/conn.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/conn.h
@@ -18,6 +18,7 @@ enum dcb_connector_type {
 	DCB_CONNECTOR_HDMI_C = 0x63,
 	DCB_CONNECTOR_DMS59_DP0 = 0x64,
 	DCB_CONNECTOR_DMS59_DP1 = 0x65,
+	DCB_CONNECTOR_WFD	= 0x70,
 	DCB_CONNECTOR_NONE = 0xff
 };
 
diff --git a/drm/nouveau/include/nvkm/subdev/bios/dcb.h b/drm/nouveau/include/nvkm/subdev/bios/dcb.h
index 4892a65d..903d1176 100644
--- a/drm/nouveau/include/nvkm/subdev/bios/dcb.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/dcb.h
@@ -6,6 +6,7 @@ enum dcb_output_type {
 	DCB_OUTPUT_TMDS		= 0x2,
 	DCB_OUTPUT_LVDS		= 0x3,
 	DCB_OUTPUT_DP		= 0x6,
+	DCB_OUTPUT_WFD		= 0x8,
 	DCB_OUTPUT_EOL		= 0xe,
 	DCB_OUTPUT_UNUSED	= 0xf,
 	DCB_OUTPUT_ANY = -1,
diff --git a/drm/nouveau/nouveau_connector.c b/drm/nouveau/nouveau_connector.c
index dab78c66..94799d88 100644
--- a/drm/nouveau/nouveau_connector.c
+++ b/drm/nouveau/nouveau_connector.c
@@ -1195,6 +1195,7 @@ drm_conntype_from_dcb(enum dcb_connector_type dcb)
 	case DCB_CONNECTOR_HDMI_0   :
 	case DCB_CONNECTOR_HDMI_1   :
 	case DCB_CONNECTOR_HDMI_C   : return DRM_MODE_CONNECTOR_HDMIA;
+	case DCB_CONNECTOR_WFD	    : return DRM_MODE_CONNECTOR_VIRTUAL;
 	default:
 		break;
 	}
diff --git a/drm/nouveau/nvkm/engine/disp/base.c b/drm/nouveau/nvkm/engine/disp/base.c
index c7c84d34..5b0f49f8 100644
--- a/drm/nouveau/nvkm/engine/disp/base.c
+++ b/drm/nouveau/nvkm/engine/disp/base.c
@@ -283,6 +283,10 @@ nvkm_disp_oneinit(struct nvkm_engine *engine)
 		case DCB_OUTPUT_DP:
 			ret = nvkm_dp_new(disp, i, &dcbE, &outp);
 			break;
+		case DCB_OUTPUT_WFD:
+			/* No support for WFD yet. */
+			ret = -ENODEV;
+			continue;
 		default:
 			nvkm_warn(subdev, "dcb %d type %d unknown\n",
 				  i, dcbE.type);
-- 
2.13.3



More information about the Nouveau mailing list