Re: [Intel-gfx] [PATCH 00/12] drm: Put drm_display_mode on diet

Daniel Vetter
2020-02-21T14:43:11Z

On Fri, Feb 21, 2020 at 12:43 PM Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
>
> On Fri, Feb 21, 2020 at 01:32:29PM +0200, Jani Nikula wrote:
> > On Thu, 20 Feb 2020, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > > Looks like getting rid of private_flags is going to be pretty
> > > straightforward. I'll post patches for that once this first series
> > > lands.
> >
> > Going all in on crtc state? I suppose migrating away from private_flags
> > could easily start in i915 before that. Seems rather independent.
> >
> > I guess it's __intel_get_crtc_scanline() and:
> >
> > vblank = &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)];
> > mode = &vblank->hwmode;
> >
> > if (mode->private_flags & I915_MODE_FLAG_GET_SCANLINE_FROM_TIMESTAMP)
> >
> > that gives me the creeps in reviewing all that.
> >
> > There's also [1] adding new uses for private_flags; I think there were
> > issues in getting at the right crtc state on some of those paths, but I
> > forget the exact details. Ideas?
>
> I'm just going to move them to the crtc_state and put a copy into the
> crtc itself for the vblank code. Pretty much a 1:1 replacement.
> Saves me from having to think ;)

I've looked through the patches, and didn't spot any place where we
couldn't just get at the full crtc state. Might need some crtc->state
dereferencing and upcasting and making sure stuff is ordered correctly
with enable/disable paths of crtc, but nothing to jump over.

Was this maybe predating the switch of the vblank callbacks over from
drm_driver to drm_crtc_funcs, and in the former it's indeed not
super-obvious that you can just look at the crtc? Anyway, didn't look
like it needs private flags at all from a quick scan.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch