[PATCH RFC v3 0/7] drm/display: dp: add new DPCD access functions
Simona Vetter
simona.vetter at ffwll.ch
Fri Mar 7 13:29:57 UTC 2025
On Fri, Mar 07, 2025 at 06:34:42AM +0200, Dmitry Baryshkov wrote:
> Existing DPCD access functions return an error code or the number of
> bytes being read / write in case of partial access. However a lot of
> drivers either (incorrectly) ignore partial access or mishandle error
> codes. In other cases this results in a boilerplate code which compares
> returned value with the size.
>
> As suggested by Jani implement new set of DPCD access helpers, which
> ignore partial access, always return 0 or an error code. Implement
> new helpers using existing functions to ensure backwards compatibility
> and to assess necessity to handle incomplete reads on a global scale.
> Currently only one possible place has been identified, dp-aux-dev, which
> needs to handle possible holes in DPCD.
>
> This series targets only the DRM helpers code. If the approach is found
> to be acceptable, each of the drivers should be converted on its own.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Just wanted to drop my "I like this" on your series here. Short
read/writes come from unix pipes, and they're everywhere, and yes ime
everyone gets them wrong. So ack or whatever that means :-)
-Sima
> ---
> Changes in v3:
> - Fixed cover letter (Jani)
> - Added intel-gfx and intel-xe to get the series CI-tested (Jani)
> - Link to v2: https://lore.kernel.org/r/20250301-drm-rework-dpcd-access-v2-0-4d92602fc7cd@linaro.org
>
> Changes in v2:
> - Reimplemented new helpers using old ones (Lyude)
> - Reworked the drm_dp_dpcd_read_link_status() patch (Lyude)
> - Dropped the dp-aux-dev patch (Jani)
> - Link to v1: https://lore.kernel.org/r/20250117-drm-rework-dpcd-access-v1-0-7fc020e04dbc@linaro.org
>
> ---
> Dmitry Baryshkov (7):
> drm/display: dp: implement new access helpers
> drm/display: dp: change drm_dp_dpcd_read_link_status() return value
> drm/display: dp: use new DCPD access helpers
> drm/display: dp-aux-dev: use new DCPD access helpers
> drm/display: dp-cec: use new DCPD access helpers
> drm/display: dp-mst-topology: use new DCPD access helpers
> drm/display: dp-tunnel: use new DCPD access helpers
>
> drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 8 +-
> .../gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 2 +-
> drivers/gpu/drm/display/drm_dp_aux_dev.c | 12 +-
> drivers/gpu/drm/display/drm_dp_cec.c | 37 ++-
> drivers/gpu/drm/display/drm_dp_helper.c | 307 +++++++++------------
> drivers/gpu/drm/display/drm_dp_mst_topology.c | 105 ++++---
> drivers/gpu/drm/display/drm_dp_tunnel.c | 20 +-
> drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.c | 4 +-
> drivers/gpu/drm/msm/dp/dp_ctrl.c | 24 +-
> drivers/gpu/drm/msm/dp/dp_link.c | 18 +-
> drivers/gpu/drm/radeon/atombios_dp.c | 8 +-
> include/drm/display/drm_dp_helper.h | 92 +++++-
> 12 files changed, 322 insertions(+), 315 deletions(-)
> ---
> base-commit: 565351ae7e0cee80e9b5ed84452a5b13644ffc4d
> change-id: 20241231-drm-rework-dpcd-access-b0fc2e47d613
>
> Best regards,
> --
> Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>
--
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list