Re: [PATCH RFC] drm/verisilicon: Switch to drm_fb_dma_get_addr() for framebuffer addresses
From: Chen-Yu Tsai
Date: Fri Aug 07 2026 - 07:30:28 EST
On Fri, Aug 7, 2026 at 6:48 PM Chen-Yu Tsai <wenst@xxxxxxxxxxxx> wrote:
>
> The verisilicon driver has a custom framebuffer address calculating
> helper that the common drm_fb_dma_get_addr() can substitute.
>
> Differences from drm_fb_dma_get_addr():
>
> - Uses drm_format_info_min_pitch() to calculate the horizontal offset;
> however the driver does not support any of the blocked formats, so
> this just ends up being the same as in drm_fb_dma_get_addr():
> "cpp[plane] * y"
>
> - Uses clipped source coordinates instead of non-clipped coordinates
> as in drm_fb_dma_get_addr();
>
> For the primary plane this doesn't matter, since the primary plane
> must match the output, i.e. it cannot be clipped. Also this driver
> doesn't support scaling.
>
> For the cursor plane this seems wrong, as the clipping seems to be
> done by the hardware, and thus the buffer address should be unclipped.
>
> As such, it should be fine to use the common helper and drop the custom
> code.
>
> Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx>
> ---
>
> This is only compile tested. I do not have the hardware.
> ---
> drivers/gpu/drm/verisilicon/vs_cursor_plane.c | 3 ++-
> drivers/gpu/drm/verisilicon/vs_plane.c | 20 -------------------
> .../gpu/drm/verisilicon/vs_primary_plane.c | 6 +++++-
> 3 files changed, 7 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/verisilicon/vs_cursor_plane.c b/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> index fa4f601dd0c8..ae03d415d66b 100644
> --- a/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> +++ b/drivers/gpu/drm/verisilicon/vs_cursor_plane.c
> @@ -176,7 +176,8 @@ static void vs_cursor_plane_atomic_update(struct drm_plane *plane,
> break;
> }
>
> - dma_addr = vs_fb_get_dma_addr(fb, &state->src);
> + /* hardware handles clipping as seen below */
> + dma_addr = drm_fb_dma_get_gem_addr(fb, 0);
Blah, I don't know what happened, but this doesn't compile.
I'll send a new version.