This is an initial implementation of HDMI 3D mode support for the nouveau kernel driver. It works on all of the hardware that I have available to test at the moment, but I am unsure as to the overall approach taken for setting HDMI InfoFrames, there's no support for g84 or gf119 disps, and the criteria for enabling stereo support for an output seems a bit iffy.
The first four patches arrange to set the HDMI InfoFrames for gt215 and gk104 disps, and provide the parsing side of support for g84 and gf119 disps. The fifth patch removes code that sets up the "mandatory" 3D modes. The requirement is that a display that supports 3D support at least one of these modes, not that it must support all of them. The sixth patch enables stereo support on all TMDS outputs, and adds a term (copied from the i915 driver) to adjust the clock required for frame-packed stereo modes. The criteria used here for enabling stereo on an output seems wrong to me, but it's the least wrong thing that I've been able to come up with so far. Even just taking the InfoFrame patches and leaving the stereoscopy patches until the rest of the InfoFrame support is worked out would probably be a win. Alastair Bridgewater (6): drm/nouveau: Extend NVKM HDMI power control method to set InfoFrames drm/nouveau: Pass mode-dependent AVI and Vendor HDMI InfoFrames to NVKM drm/nouveau: Use supplied HDMI InfoFrames on GT215 hardware drm/nouveau: Use supplied HDMI InfoFrames on GK104 hardware drm: Delete "mandatory" stereographic modes drm/nouveau: Enable stereoscopic 3D output over HDMI drivers/gpu/drm/drm_edid.c | 66 -------------------- drivers/gpu/drm/nouveau/include/nvif/cl5070.h | 16 ++++- drivers/gpu/drm/nouveau/nouveau_connector.c | 13 ++++ drivers/gpu/drm/nouveau/nv50_display.c | 49 ++++++++++++++- drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c | 32 +++++++++- .../gpu/drm/nouveau/nvkm/engine/disp/hdmigf119.c | 32 +++++++++- .../gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c | 58 +++++++++++++++--- .../gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c | 70 ++++++++++++++++++---- 8 files changed, 248 insertions(+), 88 deletions(-) -- 2.10.2 _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau