在 2025-08-17星期日的 11:39 -0700,Drew Fustini写道: > 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.
Oops got silly here... > > > + > > + vcrtc = drm_crtc_to_vs_crtc(crtc); > > + output = vcrtc->id; > > Thanks, > Drew