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 <[email protected]>
---
 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

_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to