[PATCH v4 0/7] Managing live video input format for ZynqMP DPSUB

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Wed Apr 24 14:54:17 UTC 2024


Hi,

On 16/04/2024 23:31, Anatoliy Klymenko wrote:
> Implement live video input format setting for ZynqMP DPSUB.
> 
> ZynqMP DPSUB can operate in 2 modes: DMA-based and live.
> 
> In the live mode, DPSUB receives a live video signal from FPGA-based CRTC.
> DPSUB acts as a DRM encoder bridge in such a scenario. To properly tune
> into the incoming video signal, DPSUB should be programmed with the proper
> media bus format. This patch series addresses this task.
> 
> Patch 1/7: Set the DPSUB layer mode of operation prior to enabling the
> layer. Allows to use layer operational mode before its enablement.
> 
> Patch 2/7: Update some IP register defines.
> 
> Patch 3/7: Factor out some code into a helper function.
> 
> Patch 4/7: Announce supported input media bus formats via
> drm_bridge_funcs.atomic_get_input_bus_fmts callback.
> 
> Patch 5/7: Minimize usage of a global flag. Minor improvement.
> 
> Patch 6/7: Program DPSUB live video input format based on selected bus
> config in the new atomic bridge state.
> 
> Patch 7/7: New optional CRTC atomic helper proposal that will allow to
> negotiate video signal format between CRTC and connected encoder.
> Incorporate this callback into the DRM bridge format negotiation process.
> Save negotiated output format in drm_crtc_state. Reference usage of this
> API is available here:
> https://github.com/onotole/linux/tree/dpsub-live-in

The patches up to and including patch 6 look ready to me. I'll pick them 
up to drm-misc.

  Tomi


> To: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> To: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> To: Maxime Ripard <mripard at kernel.org>
> To: Thomas Zimmermann <tzimmermann at suse.de>
> To: David Airlie <airlied at gmail.com>
> To: Daniel Vetter <daniel at ffwll.ch>
> To: Michal Simek <michal.simek at amd.com>
> To: Andrzej Hajda <andrzej.hajda at intel.com>
> To: Neil Armstrong <neil.armstrong at linaro.org>
> To: Robert Foss <rfoss at kernel.org>
> To: Jonas Karlman <jonas at kwiboo.se>
> To: Jernej Skrabec <jernej.skrabec at gmail.com>
> To: Rob Herring <robh+dt at kernel.org>
> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
> To: Conor Dooley <conor+dt at kernel.org>
> To: Mauro Carvalho Chehab <mchehab at kernel.org>
> Cc: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> Cc: devicetree at vger.kernel.org
> Cc: linux-media at vger.kernel.org
> Signed-off-by: Anatoliy Klymenko <anatoliy.klymenko at amd.com>
> 
> Changes in v4:
> - Replace controversial reference driver patches with the private
>    repository link.
> - Split display layer format manipulation functions into 2 separate cases
>    for diferet layer modes.
> - Address misc review comments (typos, comments, etc.)
> 
> Link to v3: https://lore.kernel.org/r/20240321-dp-live-fmt-v3-0-d5090d796b7e@amd.com
> 
> Changes in v3:
> - Add connected live layer helper
> - Include reference DRM format in zynqmp_disp_format for live layerss.
> - Add default bus format list for non-live case.
> - Explain removal of redundant checks in the commit message.
> - Minor fixes and improvements from review comments.
> 
> Link to v2: https://lore.kernel.org/r/20240312-dp-live-fmt-v2-0-a9c35dc5c50d@amd.com
> 
> Changes in v2:
> - Factor out register defines update into separate patch.
> - Add some improvements minimizing ithe usage of a global flag.
> - Reuse existing format setting API instead of introducing new versions.
> - Add warning around NULL check on new bridge state within atomic enable
>    callback.
> - Add drm_helper_crtc_select_output_bus_format() that wraps
>    drm_crtc_helper_funcs.select_output_bus_format().
> - Update API comments per review recommendations.
> - Address some minor review comments.
> - Add reference CRTC driver that demonstrates the usage of the proposed
>    drm_crtc_helper_funcs.select_output_bus_format() API.
> 
> - Link to v1: https://lore.kernel.org/r/20240226-dp-live-fmt-v1-0-b78c3f69c9d8@amd.com
> 
> ---
> Anatoliy Klymenko (7):
>        drm: xlnx: zynqmp_dpsub: Set layer mode during creation
>        drm: xlnx: zynqmp_dpsub: Update live format defines
>        drm: xlnx: zynqmp_dpsub: Add connected live layer helper
>        drm: xlnx: zynqmp_dpsub: Anounce supported input formats
>        drm: xlnx: zynqmp_dpsub: Minimize usage of global flag
>        drm: xlnx: zynqmp_dpsub: Set input live format
>        drm/atomic-helper: Add select_output_bus_format callback
> 
>   drivers/gpu/drm/drm_bridge.c             |  14 +-
>   drivers/gpu/drm/drm_crtc_helper.c        |  38 +++++
>   drivers/gpu/drm/xlnx/zynqmp_disp.c       | 231 +++++++++++++++++++++++++++----
>   drivers/gpu/drm/xlnx/zynqmp_disp.h       |  17 +--
>   drivers/gpu/drm/xlnx/zynqmp_disp_regs.h  |   8 +-
>   drivers/gpu/drm/xlnx/zynqmp_dp.c         |  81 ++++++++---
>   drivers/gpu/drm/xlnx/zynqmp_kms.c        |   2 +-
>   include/drm/drm_crtc.h                   |  11 ++
>   include/drm/drm_crtc_helper.h            |   5 +
>   include/drm/drm_modeset_helper_vtables.h |  30 ++++
>   10 files changed, 372 insertions(+), 65 deletions(-)
> ---
> base-commit: bfa4437fd3938ae2e186e7664b2db65bb8775670
> change-id: 20240226-dp-live-fmt-6415773b5a68
> 
> Best regards,



More information about the dri-devel mailing list