[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