enables the corresponding DPSUB layer only if the framebuffer
format has changed. This would leave the layer disabled after switching to
a different display mode with the same framebuffer format.
Signed-off-by: Anatoliy Klymenko
---
Changes in v2:
- Added comment around DPSUB layer enablement
enables the corresponding DPSUB layer only if the framebuffer
format has changed. This would leave the layer disabled after switching to
a different display mode with the same framebuffer format.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_kms.c | 5 ++---
1 file changed, 2
Fix arguments description for zynqmp_disp_layer_find_live_format() and
zynqmp_disp_layer_set_live_format().
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202404260616.kfgdpcdn-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx
Fix W=1 clang 19 compilation error in zynqmp_disp_layer_drm_formats().
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202404260946.4ozxvhd2-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion
-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
Changes in v3:
- Add Signed-off-by tag.
- Link to v2:
https://lore.kernel.org/r/20240425-dp-live-fmt-fix-v2-0-6048e8121...@amd.com
Changes in v2:
- Compilation error fix added.
- Link to v1:
https://lore.kernel.org/r/20240425-dp-live-fmt-fix-v1-1
-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
Changes in v2:
- Compilation error fix added.
- Link to v1:
https://lore.kernel.org/r/20240425-dp-live-fmt-fix-v1-1-405f352d3...@amd.com
---
Anatoliy Klymenko (2):
drm: xlnx: zynqmp_dpsub: Fix few function comments
drm: xlnx: zynqmp_dpsub: Fix
Fix W=1 clang 19 compilation error in zynqmp_disp_layer_drm_formats().
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202404260946.4ozxvhd2-...@intel.com/
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dri
Fix arguments description for zynqmp_disp_layer_find_live_format() and
zynqmp_disp_layer_set_live_format().
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202404260616.kfgdpcdn-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx
Fix arguments description for zynqmp_disp_layer_find_live_format() and
zynqmp_disp_layer_set_live_format().
Reported-by: kernel test robot
Closes:
https://lore.kernel.org/oe-kbuild-all/202404260616.kfgdpcdn-...@intel.com/
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx
accordingly.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 92 --
drivers/gpu/drm/xlnx/zynqmp_disp.h | 2 +
drivers/gpu/drm/xlnx/zynqmp_dp.c | 13 --
3 files changed, 90 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu
drm_crtc_helper_funcs.select_output_bus_format.
Incorporate select_output_bus_format callback into the format negotiation
stage to fix the input bus format of the first DRM bridge in the chain.
Save negotiated output media bus format in drm_crtc_state.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm
support of the hybrid scenario.
Remove redundant checks in DMA request/release contexts as
zynqmp_disp_layer.info is well-defined for all layer types, including the
correct number of DMA channels required for each particular layer.
Signed-off-by: Anatoliy Klymenko
Reviewed-by: Tomi Valkeinen
the different layer modes contexts.
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 110 +++--
drivers/gpu/drm/xlnx/zynqmp_disp.h | 2 +
drivers/gpu/drm/xlnx/zynqmp_dp.c | 31 +++
3 files changed
setting layer format depends on layer mode, and should be done before
given layer enabled.
Signed-off-by: Anatoliy Klymenko
Reviewed-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 21 +
drivers/gpu/drm/xlnx/zynqmp_disp.h | 13
Add a helper function capturing the first connected live display layer
discovery logic.
Signed-off-by: Anatoliy Klymenko
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 37 +++--
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a
Update live format defines to match DPSUB AV_BUF_LIVE_VID_CONFIG register
layout. These defines were never referenced before, so no other changes
required.
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp_regs.h | 8
1 file changed, 4
...@vger.kernel.org
Signed-off-by: Anatoliy Klymenko
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
Timing Controller. The VTC, working in
generator mode, suplements TPG with video timing signals.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/Kconfig | 21 +
drivers/gpu/drm/xlnx/Makefile| 4 +
drivers/gpu/drm/xlnx/xlnx_tpg.c | 846
DO NOT MERGE. REFERENCE ONLY.
Add binding for AMD/Xilinx Video Timing Controller and Test Pattern
Generator.
Copy media-bus-formats.h into dt-bindings/media to suplement TPG DT node.
Signed-off-by: Anatoliy Klymenko
---
.../bindings/display/xlnx/xlnx,v-tpg.yaml | 87
Add a helper function capturing the first connected live display layer
discovery logic.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 37 +++--
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/xlnx
drm_crtc_helper_funcs.select_output_bus_format.
Incorporate select_output_bus_format callback into the format negotiation
stage to fix the input bus format of the first DRM bridge in the chain.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/drm_bridge.c | 14 +++--
drivers/gpu/drm
accordingly. Update zynqmp_disp_layer_set_format() API to fit
both live and non-live layer types.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 66 +-
drivers/gpu/drm/xlnx/zynqmp_disp.h | 2 +-
drivers/gpu/drm/xlnx/zynqmp_dp.c | 13
support of the hybrid scenario.
Remove redundant checks in DMA request/release contexts as
zynqmp_disp_layer.info is well-defined for all layer types, including the
correct number of DMA channels required for each particular layer.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx
() to
reflect semantics for both live and non-live layer format lists.
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 76 +-
drivers/gpu/drm/xlnx/zynqmp_disp.h | 4 +-
drivers/gpu/drm/xlnx/zynqmp_dp.c
Update live format defines to match DPSUB AV_BUF_LIVE_VID_CONFIG register
layout.
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp_regs.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xlnx
setting layer format depends on layer mode, and should be done before
given layer enabled.
Signed-off-by: Anatoliy Klymenko
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 20
drivers/gpu/drm/xlnx/zynqmp_disp.h | 13 +
drivers/gpu/drm/xlnx
@lists.freedesktop.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-ker...@vger.kernel.org
Cc: devicet...@vger.kernel.org
Cc: linux-me...@vger.kernel.org
Signed-off-by: Anatoliy Klymenko
Changes in v3:
- Add connected live layer helper
- Include reference DRM format in zynqmp_disp_format for live
Update live format defines to match DPSUB AV_BUF_LIVE_VID_CONFIG register
layout.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp_regs.h | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp_regs.h
b/drivers/gpu/drm
Timing Controller. The VTC, working in
generator mode, suplements TPG with video timing signals.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/Kconfig | 21 +
drivers/gpu/drm/xlnx/Makefile| 4 +
drivers/gpu/drm/xlnx/xlnx_tpg.c | 854
DO NOT MERGE. REFERENCE ONLY.
Add binding for AMD/Xilinx Video Timing Controller and Test Pattern
Generator.
Copy media-bus-formats.h into dt-bindings/media to suplement TPG DT node.
Signed-off-by: Anatoliy Klymenko
---
.../bindings/display/xlnx/xlnx,v-tpg.yaml | 87
support of the hybrid scenario.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 11 ---
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b/drivers/gpu/drm/xlnx/zynqmp_disp.c
index af851190f447..dd48fa60fa9a 100644
drm_crtc_helper_funcs.select_output_bus_format.
Incorporate select_output_bus_format callback into the format negotiation
stage to fix the input bus format of the first DRM bridge in the chain.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/drm_bridge.c | 14 +++--
drivers/gpu/drm
() to
reflect semantics for both live and non-live layer format lists.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 67 +-
drivers/gpu/drm/xlnx/zynqmp_disp.h | 4 +--
drivers/gpu/drm/xlnx/zynqmp_dp.c | 26 +++
drivers
accordingly.
Update zynqmp_disp_layer_set_format() API to fit both live and non-live
layer types.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 93 +++---
drivers/gpu/drm/xlnx/zynqmp_disp.h | 2 +-
drivers/gpu/drm/xlnx/zynqmp_dp.c | 13
setting layer format depends on layer mode, and should be done before
given layer enabled.
Signed-off-by: Anatoliy Klymenko
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 20
drivers/gpu/drm/xlnx/zynqmp_disp.h | 13 +
drivers/gpu/drm/xlnx
...@vger.kernel.org
Cc: devicet...@vger.kernel.org
Cc: linux-me...@vger.kernel.org
Signed-off-by: Anatoliy Klymenko
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
DPSUB in bridge mode supports multiple input media bus formats.
Announce the list of supported input media bus formats via
drm_bridge.atomic_get_input_bus_fmts callback.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 37 +
drivers
setting layer format depends on layer mode, and should be done before
given layer enabled.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 20
drivers/gpu/drm/xlnx/zynqmp_disp.h | 13 +
drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +-
drivers
accordingly.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 52 +
drivers/gpu/drm/xlnx/zynqmp_disp.h | 2 ++
drivers/gpu/drm/xlnx/zynqmp_disp_regs.h | 8 ++---
drivers/gpu/drm/xlnx/zynqmp_dp.c| 13 ++---
4 files
the input bus format of the first DRM bridge in the chain.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/drm_bridge.c | 19 +--
include/drm/drm_modeset_helper_vtables.h | 31 +++
2 files changed, 48 insertions(+), 2 deletions(-)
diff
format
restrictions. Incorporate this callback into the DRM bridge format
negotiation process.
Signed-off-by: Anatoliy Klymenko
---
Anatoliy Klymenko (4):
drm: xlnx: zynqmp_dpsub: Set layer mode during creation
drm: xlnx: zynqmp_dpsub: Anounce supported input formats
drm: xlnx
.
Expect live video input format to be set as "bus-format" property in
connected remote endpoint.
Set display layer mode in the layer creation context.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 109 ++--
drivers/gpu/drm/xlnx/zyn
Clear status register as soon as we read it.
Addressing comments from
https://lore.kernel.org/dri-devel/beb551c7-bb7e-4cd0-b166-e9aad90c4...@ideasonboard.com/
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
Expect external video timing in live video input mode, program
DPSUB acordingly.
Reviewed-by: Tomi Valkeinen
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b
patch #3 into 3) moving status register clear immediately after
read; 4) masking status against interrupts' mask
Link to v1:
https://lore.kernel.org/all/20240112234222.913138-1-anatoliy.klyme...@amd.com/
Link to v2:
https://lore.kernel.org/all/20240119055437.2549149-1-anatoliy.klyme...@amd.com
drm_bridge.of_node being properly set.
Assign device OF node to the bridge prior to registering it. This will
make said bridge discoverable by an external CRTC driver.
Reviewed-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 1
d-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index 5a3335e1fffa..9f48e5bbcdec 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
+++ b/dr
Expect external video timing in live video input mode, program
DPSUB acordingly.
Reviewed-by: Tomi Valkeinen
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b
.
Expect live video input format to be set as "bus-format" property in
connected remote endpoint.
Set display layer mode in the layer creation context.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 109 ++--
drivers/gpu/drm/xlnx/zyn
d-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 12 ++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index d60b7431603f..9ed12244a429 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
drm_bridge.of_node being properly set.
Assign device OF node to the bridge prior to registering it. This will
make said bridge discoverable by an external CRTC driver.
Reviewed-by: Tomi Valkeinen
Reviewed-by: Laurent Pinchart
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 1
.kernel.org/all/20240112234222.913138-1-anatoliy.klyme...@amd.com/
Anatoliy Klymenko (4):
drm: xlnx: zynqmp_dpsub: Make drm bridge discoverable
drm: xlnx: zynqmp_dpsub: Fix timing for live mode
drm: xlnx: zynqmp_dpsub: Filter interrupts against mask
drm: xlnx: zynqmp_dpsub: Set live video in forma
Live video input format is expected to be set as
"bus-format" property in connected remote endpoint.
Program live video input format DPSUB registers.
Set display layer mode in layer creation context.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c
Expect external video timing in live video input mode, program
DPSUB accordingly.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c
b/drivers/gpu/drm/xlnx/zynqmp_disp.c
Filter out status register against interrupts' mask.
Some events are being reported via DP status register, even if
corresponding interrupts have been disabled. Avoid processing
of such events in interrupt handler context.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp
posed solution, as there are no api
to query CRTC output bus format.
Is this a good approach to go with?
Anatoliy Klymenko (4):
drm: xlnx: zynqmp_dpsub: Make drm bridge discoverable
drm: xlnx: zynqmp_dpsub: Fix timing for live mode
drm: xlnx: zynqmp_dpsub: Don't generate vblank in live
Assign device of node to bridge prior registering it. This will
make said bridge discoverable by separate crtc driver.
Signed-off-by: Anatoliy Klymenko
---
drivers/gpu/drm/xlnx/zynqmp_dp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm
57 matches
Mail list logo