Message ID | 20211117141928.771082-1-narmstrong@baylibre.com |
---|---|
Headers | show |
Series | drm/omap: Add virtual-planes support | expand |
Hi Tomi, On 17/11/2021 15:19, Neil Armstrong wrote: > This patchset is the follow-up the v4 patchset from Benoit Parrot at [1]. > > This patch series adds virtual-plane support to omapdrm driver to allow the use > of display wider than 2048 pixels. > > In order to do so we introduce the concept of hw_overlay which can then be > dynamically allocated to a plane. When the requested output width exceed what > be supported by one overlay a second is then allocated if possible to handle > display wider then 2048. > > This series replaces an earlier series which was DT based and using statically > allocated resources. > > This implementation is inspired from the work done in msm/disp/mdp5 > driver. > > Changes since v6 at [3]: > - Patch 1: Added comment for drm_atomic_helper_check_plane_state, added Reviewed-by > - Patch 2: added Reviewed-by > - Patch 3: added Reviewed-by > - Patch 4: added Reviewed-by > - Patch 5: added Reviewed-by > - Patch 6: No changes > - Patch 7: No changes > - Patch 8: Reformatted omap_plane_atomic_print_state() output for overlays > - Patch 9: Added a comment of the utility of the local omap_atomic_update_normalize_zpos() + atomic_print_state() reformat > > Changes since v5 at [2]: > - Patch 1: renamed width/height_fp to max_width/height > - Patch 2: no changes > - Patch 3: removed possible_crtcs stuff, > added cleanup on failure to allocate, > removed name in omap_plane struct & plane_id_to_name in omap_plane.c, > switched all omap_plane->name to plane->name or omap_plane->id > - Patch 4: aligned omap_plane_atomic_duplicate_state the the crtc style > - Patch 5: removed glob_obj_lock & reformated global state declaration in omap_drv.h > - Patch 6: moved drm_atomic_helper_check_plane_state() from atomic_check() in separate commit, > removed zpos change, updated debug messages to be useful, > renamed omap_overlay_disable() to omap_overlay_update_state(), > added useful comments for omap_overlay_assign() & omap_overlay_update_state(), > simplified omap_overlay_assign() & omap_overlay_update_state() for actual use-cases, > refactored omap_plane_atomic_check() changes to be cleaner & simpler > - Patch 7: no changes (except possible_crtcs print removal) > - Patch 8: Reformated omap_plane_atomic_check() & omap_overlay_assign() changes to match previous patches layout > > Changes since v4 at [1]: > - rebased on v5.15-rc2 > - adapted to drm_atomic_get_new/old_plane_state() > - tested on Beagle-x15 > - checked for non-regression on Beagle-x15 > - removed unused "state" variable in omap_global_state > > [1] https://lore.kernel.org/all/20181012201703.29065-1-bparrot@ti.com/ > [2] https://lore.kernel.org/all/20210923070701.145377-1-narmstrong@baylibre.com/ > [3] https://lore.kernel.org/all/20211018142842.2511200-1-narmstrong@baylibre.com > > Benoit Parrot (8): > drm/omap: Add ability to check if requested plane modes can be > supported > drm/omap: Add ovl checking funcs to dispc_ops > drm/omap: introduce omap_hw_overlay > drm/omap: omap_plane: subclass drm_plane_state > drm/omap: Add global state as a private atomic object > drm/omap: dynamically assign hw overlays to planes > drm/omap: add plane_atomic_print_state support > drm/omap: Add a 'right overlay' to plane state > > Neil Armstrong (1): > drm/omap: add sanity plane state check > > drivers/gpu/drm/omapdrm/Makefile | 1 + > drivers/gpu/drm/omapdrm/dss/dispc.c | 31 ++- > drivers/gpu/drm/omapdrm/dss/dss.h | 5 + > drivers/gpu/drm/omapdrm/omap_drv.c | 196 +++++++++++++- > drivers/gpu/drm/omapdrm/omap_drv.h | 24 ++ > drivers/gpu/drm/omapdrm/omap_fb.c | 33 ++- > drivers/gpu/drm/omapdrm/omap_fb.h | 4 +- > drivers/gpu/drm/omapdrm/omap_overlay.c | 212 +++++++++++++++ > drivers/gpu/drm/omapdrm/omap_overlay.h | 35 +++ > drivers/gpu/drm/omapdrm/omap_plane.c | 349 +++++++++++++++++++++---- > drivers/gpu/drm/omapdrm/omap_plane.h | 1 + > 11 files changed, 832 insertions(+), 59 deletions(-) > create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.c > create mode 100644 drivers/gpu/drm/omapdrm/omap_overlay.h > > > base-commit: 49c39ec4670a8f045729e3717af2e1a74caf89a5 > Gentle ping, Neil
On 17/11/2021 16:19, Neil Armstrong wrote: > This patchset is the follow-up the v4 patchset from Benoit Parrot at [1]. > > This patch series adds virtual-plane support to omapdrm driver to allow the use > of display wider than 2048 pixels. > > In order to do so we introduce the concept of hw_overlay which can then be > dynamically allocated to a plane. When the requested output width exceed what > be supported by one overlay a second is then allocated if possible to handle > display wider then 2048. > > This series replaces an earlier series which was DT based and using statically > allocated resources. > > This implementation is inspired from the work done in msm/disp/mdp5 > driver. I think this looks good. I'll apply this to my work tree to see if I see any issues during my daily work, and if not, I'll push to drm-misc-next. Have you tested this with other platforms than x15? I'm mostly thinking about omap3/4, as the DSS is somewhat different on those platforms. Tomi
Hi, On 03/12/2021 12:31, Tomi Valkeinen wrote: > On 17/11/2021 16:19, Neil Armstrong wrote: >> This patchset is the follow-up the v4 patchset from Benoit Parrot at [1]. >> >> This patch series adds virtual-plane support to omapdrm driver to allow the use >> of display wider than 2048 pixels. >> >> In order to do so we introduce the concept of hw_overlay which can then be >> dynamically allocated to a plane. When the requested output width exceed what >> be supported by one overlay a second is then allocated if possible to handle >> display wider then 2048. >> >> This series replaces an earlier series which was DT based and using statically >> allocated resources. >> >> This implementation is inspired from the work done in msm/disp/mdp5 >> driver. > > I think this looks good. I'll apply this to my work tree to see if I see any issues during my daily work, and if not, I'll push to drm-misc-next. > > Have you tested this with other platforms than x15? I'm mostly thinking about omap3/4, as the DSS is somewhat different on those platforms. I haven't tested the last version non non-x15, but I haven't changed the logic from the original patchset which was in the TI BSP tree for multiple years. Neil > > Tomi