在 2026-05-22五的 15:43 +0200,Thomas Zimmermann写道:
> Hi
> 
> Am 22.05.26 um 15:28 schrieb Ville Syrjälä:
> [...]
> > > > > But why does your HW use CRTC 1 in the first place.
> > > > Could be eg. the enabled outputs can't be driven with CRTC 0.

Yes, for many embedded display solutions the CRTC-connector map is
totally fixed.

> > > > 
> > > > I guess what you want to do is pick the first crtc from
> > > > modesets[]
> > > > which is enabled. Or perhaps even "pick the Nth enabled crtc
> > > > from
> > > > modesets[] based on the ioctl argument".
> > > The enable-status of each CRTC could change later on, which might
> > > lead
> > > to problems.
> > Sound like a locking issue if someone is changing the configuration
> > at the same time we're trying to do the vblank wait here.
> 
> I mean that the connected outputs could change at a later point or we
> could have multiple CRTCs in use. Today, someone in #intel-gfx
> reported 
> a problem with panning if multiple CRTCs are in use.
> 
> Therefore picking a CRTC freely could be a problem. Let's say we 
> configure modes from one CRTC, but later wait/pan/flush with another 
> CRTC. I would not trust this to work correctly.
> 
> Hence, my suggestion is to select a primary CRTC during the fbdev 
> client's probe and use it for all later operations until the next
> probe 
> happens.  All other CRTCs would mirror the primary one.

What will happen if the "primary CRTC" is then disabled because of no
connected connectors can be driven with it?

Thanks,
Icenowy

> 
> Best regards
> Thomas
> 
> 
> > 
> > > Picking the one CRTC/output with the lowest spec and
> > > mirroring it to the others might work. This CRTC would then be
> > > the one
> > > to wait for.
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > -- 
> > > --
> > > Thomas Zimmermann
> > > Graphics Driver Developer
> > > SUSE Software Solutions Germany GmbH
> > > Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
> > > GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809,
> > > AG Nürnberg)
> > > 

Reply via email to