Hi, This series is a pretty small and consistent one for VOP2. The atomic uAPI very clearly specifies that drivers should either do what userspace requested (on a successful commit), or fail atomic_check if it is not for any reason possible to do what userspace requested.
VOP2 is unfortunately littered with a bunch of cases where it will apply fixups after atomic_check - doing something different to what userspace requested, e.g. clipping or aligning regions - or throw error messages into the log when userspace does request a condition which can't be met. Doing something different to what was requested is bad because it results in unexpected visual output which can look like artifacts. Throwing errors into the log is bad because generic userspace will reasonably attempt to try any configuration it can. For example, throwing an error message on a plane not being aligned to a 16 pixel boundary can result in 15 frames' worth of error output in the log when a window is being animated across a screen. This series removes all post-check fixups - failing the check if the configuration cannot be applied - and also demotes all messages about unsupported configurations to DEBUG_KMS. Cheers, Daniel Daniel Stone (13): drm/rockchip: Demote normal drm_err to debug drm/rockchip: Declare framebuffer width/height bounds drm/rockchip: Return error code for errors drm/rockchip: Rename variables for clarity drm/rockchip: Use temporary variables drm/rockchip: Switch impossible format conditional to WARN_ON drm/rockchip: Switch impossible pos conditional to WARN_ON drm/rockchip: Fix eSmart test condition drm/rockchip: Enforce scaling workaround in plane_check drm/rockchip: Enforce AFBC source alignment in plane_check drm/rockchip: Enforce AFBC transform stride align in plane_check drm/rockchip: Use drm_is_afbc helper function drm/rockchip: Simplify format_mod_supported drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 202 +++++++++---------- 1 file changed, 99 insertions(+), 103 deletions(-) -- 2.51.0
