This series re-introduce the line-by-line algorithm. This is simpler than the read part because no rotation/translations are involved. PATCH 1/3 is the re-introduction itself PATCH 2/3 is a proposition to avoid code repetition using a "big" macro. PATCJ 3/3 is the usage of PATCH 2 to support a new format This series depends on [1]. [1]:https://lore.kernel.org/all/20241122-b4-new-color-formats-v3-0-23f7776197c9@xxxxxxxxxxx/ Signed-off-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx> --- Changes in v3: - Rebased on new iterations - Link to v2: https://lore.kernel.org/r/20240814-writeback_line_by_line-v2-0-36541c717569@xxxxxxxxxxx Changes in v2: - PATCH 2/3: Remove YUV from supported format list, it is not supported - Link to v1: https://lore.kernel.org/r/20240516-writeback_line_by_line-v1-0-7b2e3bf9f1c9@xxxxxxxxxxx --- Louis Chauvet (3): drm/vkms: Re-introduce line-by-line algorithm for writeback drm/vkms: Add a macro for write_line functions drm/vkms: Add support for XRGB2101010 drivers/gpu/drm/vkms/vkms_composer.c | 17 +++++++ drivers/gpu/drm/vkms/vkms_drv.h | 17 ++++--- drivers/gpu/drm/vkms/vkms_formats.c | 86 ++++++++++++++++++++++++----------- drivers/gpu/drm/vkms/vkms_formats.h | 2 +- drivers/gpu/drm/vkms/vkms_writeback.c | 5 +- 5 files changed, 92 insertions(+), 35 deletions(-) --- base-commit: 98efdd02e220fea84c1491012d7292749a71faeb change-id: 20240222-writeback_line_by_line-8475605b1d5c prerequisite-message-id: 20241122-yuv-v14-0-e66d83d28d0c@xxxxxxxxxxx prerequisite-patch-id: d08b040cfd7aeba4a237029500f5aa8266450cbd prerequisite-patch-id: deda292af6d8bbf6762b0bf4d351ffd2225995d8 prerequisite-patch-id: 6c2aa2645c7d854951608aa4d15a02e076abe1fe prerequisite-patch-id: 62f509c48590dc333dc84e2185dc8b9edd61761b prerequisite-patch-id: 7d988613c79a1ab056110418c04865bf019402cc prerequisite-patch-id: 43f37e9c1bc041d491e41dfb59548ed258a1e071 prerequisite-patch-id: 1b2a3898d5f8c21b0d306c07b424414bcb14554b prerequisite-message-id: 20241122-b4-new-color-formats-v3-0-23f7776197c9@xxxxxxxxxxx prerequisite-patch-id: e6717b75d79ae5cfb0815bab88d722082107dc0e prerequisite-patch-id: 4b3b1ea5ad2e3ba1922cd4b3d3d46214b27c8c2d prerequisite-patch-id: 060874d5a7433cc8cc654bc63e0b411036727ebb prerequisite-patch-id: 43115d21842e508d9d8b0468e15f67d442bffe3c prerequisite-patch-id: 627d0970e76d4154c982d0d4172e7a0c4dfb9a4c prerequisite-patch-id: 582445144ac0ab11175ef96262060b08a5e1467e prerequisite-patch-id: a98fac5a2c60fe23fbc6a455e9a4ab8b0f187ee8 prerequisite-patch-id: 62c8d109a22b9978f755255b67f13fe74fb7008d Best regards, -- Louis Chauvet <louis.chauvet@xxxxxxxxxxx>