[PATCH 0/5] drm/nouveau+amdgpu: add DP CEC-Tunneling-over-AUX
Alex Deucher
alexdeucher at gmail.com
Thu Aug 16 15:25:50 UTC 2018
On Thu, Aug 16, 2018 at 6:56 AM Hans Verkuil <hverkuil at xs4all.nl> wrote:
>
> From: Hans Verkuil <hans.verkuil at cisco.com>
>
> Now that the DisplayPort CEC-Tunneling-over-AUX drm+i915 support
> has been merged in the mainline kernel it is time to roll this
> out to nouveau and amdgpu as well.
>
> I combined both in the same patch series since both depend on the
> same first patch, the comments in this cover letter apply to both
> and the implementation is also very similar (and simple).
>
> As mentioned, the first patch is required for this: it adds checks that
> the drm_dp_cec functions are called with a working aux implementation.
> These checks weren't necessary for the i915, but nouveau and amdgpu
> require them.
>
> The next two patches update a comment in drm_dp_cec.c and fix a bug
> in sideband AUX handling that I found while researching CEC Tunneling
> over an MST hub. It's there to prevent others from stumbling over the
> same bug in the future.
>
> The fourth patch adds support for CEC to the nouveau driver.
>
> The last patch adds support for CEC to the amdgpu driver. However, there
> appear to be two classes of amdgpu hardware: as a discrete GPU or
> integrated. I only have a discrete GPU, so I can't test the integrated
> GPU support and I only implemented this for the discrete GPU case.
>
> If someone has the integrated GPU and wants to get this working and is
> willing to do some testing, then please contact me. It shouldn't be
> difficult. You will likely have to buy a working DP-to-HDMI adapter.
> See https://hverkuil.home.xs4all.nl/cec-status.txt for a (sadly very
> short) list of working adapters.
Actually you added support for APUs as well. In amdgpu, there are two
sets of modesetting code, an older less featured version
(amd/amdgpu/dce*.c) and the newer more featured code (amd/display/*).
Newer asics (vega and raven) are only supported by DC. Older asics
are supported by both. Eventually we'd like to remove the older
modesetting code. I'm not really a CEC expert, but the patches look
pretty straight forward to me. Series is:
Acked-by: Alex Deucher <alexander.deucher at amd.com>
>
> Note that I may be completely off-base regarding what atombios_dp.c
> does, it's the first time I ever looked at amdgpu code.
>
> Two notes on CEC-Tunneling-over-AUX:
>
> 1) You need to be very careful about which USB-C/DP/mini-DP to HDMI
> adapters you buy. Only a few support this feature correctly today.
> Known chipsets that support this are Parade PS175 & PS176 and
> MegaChips 2900. Unfortunately almost all Parade-based adapters
> do not hook up the HDMI CEC pin to the chip, making them useless
> for this. The Parade reference design was only recently changed
> to hook up this pin, so perhaps this situation will change for
> new Parade-based adapters.
>
> Adapters based on the new MegaChips 2900 fare much better: it
> appears that their reference design *does* hook up the CEC pin.
> Club3D has adapters using this device for USB-C, DP and mini-DP
> to HDMI, and they all work fine.
>
> If anyone finds other adapters that work besides those I list
> in https://hverkuil.home.xs4all.nl/cec-status.txt, please let
> me know and I'll add them to the list.
>
> Linux is the first OS that supports this feature, so I am
> not surprised that HW support for this has been poor. Hopefully
> this will change going forward. BTW, note the irony that CEC is
> now supported for DP-to-HDMI adapters, but not for the native
> HDMI ports on NVIDIA/AMD/Intel GPUs.
>
> 2) CEC-Tunneling does not work (yet?) if there is an MST hub in
> between. I'm still researching this but this might be a limitation
> of MST.
>
> Regards,
>
> Hans
>
> Hans Verkuil (5):
> drm_dp_cec: check that aux has a transfer function
> drm_dp_cec: add note about good MegaChips 2900 CEC support
> drm_dp_mst_topology: fix broken
> drm_dp_sideband_parse_remote_dpcd_read()
> drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
> drm/amdgpu: add DisplayPort CEC-Tunneling-over-AUX support
>
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 +++++++++++--
> .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 2 ++
> drivers/gpu/drm/drm_dp_cec.c | 18 +++++++++++++++++-
> drivers/gpu/drm/drm_dp_mst_topology.c | 1 +
> drivers/gpu/drm/nouveau/nouveau_connector.c | 17 +++++++++++++++--
> 5 files changed, 46 insertions(+), 5 deletions(-)
>
> --
> 2.18.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list