On Fri, Aug 15, 2025 at 12:40:43AM +0800, Icenowy Zheng wrote:
> This is a from-scratch driver targeting Verisilicon DC-series display
> controllers, which feature self-identification functionality like their
> GC-series GPUs.
> 
> Only DC8200 is being supported now, and only the main framebuffer is set
> up (as the DRM primary plane). Support for more DC models and more
> features is my further targets.
> 
> As the display controller is delivered to SoC vendors as a whole part,
> this driver does not use component framework and extra bridges inside a
> SoC is expected to be implemented as dedicated bridges (this driver
> properly supports bridge chaining).
> 
> Signed-off-by: Icenowy Zheng <u...@icenowy.me>

Thanks for working on this!

[snip]
> diff --git a/drivers/gpu/drm/verisilicon/vs_primary_plane.c 
> b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
> new file mode 100644
> index 0000000000000..25d6e01cc8b71
> --- /dev/null
> +++ b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
[snip]
> +static void vs_primary_plane_atomic_update(struct drm_plane *plane,
> +                                        struct drm_atomic_state 
> *atomic_state)
> +{
> +     struct drm_plane_state *state = 
> drm_atomic_get_new_plane_state(atomic_state,
> +                                                                    plane);
> +     struct drm_framebuffer *fb = state->fb;
> +     struct drm_crtc *crtc = state->crtc;
> +     struct drm_gem_dma_object *gem;
> +     struct vs_dc *dc;
> +     struct vs_crtc *vcrtc;
> +     struct vs_format fmt;
> +     unsigned int output, bpp;
> +     dma_addr_t dma_addr;
> +
> +     if (!crtc)
> +             return;
> +
> +     DRM_DEBUG_DRIVER("Updating output %d primary plane\n", output);

clang flagged this when building. I think this needs to be after the
line below that assigns vcrtc->id to output.

> +
> +     vcrtc = drm_crtc_to_vs_crtc(crtc);
> +     output = vcrtc->id;

Thanks,
Drew

Reply via email to