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