]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/msm/dpu: allow using two SSPP blocks for a single plane
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 15 Dec 2024 12:40:17 +0000 (14:40 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 15 Dec 2024 12:43:05 +0000 (14:43 +0200)
commit8c62a31607f6589545ef1c0a85f2924dee39430b
tree8df0864f75d277e3aac0cd31051d442f03eda223
parent774bcfb731765d092992136b54c34958d7c64bea
drm/msm/dpu: allow using two SSPP blocks for a single plane

Virtual wide planes give high amount of flexibility, but it is not
always enough:

In parallel multirect case only the half of the usual width is supported
for tiled formats. Thus the whole width of two tiled multirect
rectangles can not be greater than max_linewidth, which is not enough
for some platforms/compositors.

Another example is as simple as wide YUV plane. YUV planes can not use
multirect, so currently they are limited to max_linewidth too.

Now that the planes are fully virtualized, add support for allocating
two SSPP blocks to drive a single DRM plane. This fixes both mentioned
cases and allows all planes to go up to 2*max_linewidth (at the cost of
making some of the planes unavailable to the user).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/629026/
Link: https://lore.kernel.org/r/20241215-dpu-virtual-wide-v8-2-65221f213ce1@linaro.org
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c