Re: [PATCH 1/2] drm/i915: Get power refs in encoder->get_power_domain()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Imre Deak (2019-04-07 11:25:37)
> On Sat, Apr 06, 2019 at 05:05:53PM +0100, Chris Wilson wrote:
> > Quoting Imre Deak (2019-04-05 16:36:56)
> > > Push getting the reference for the encoders' power domains into the
> > > encoder get_power_domain() hook instead of doing this from the caller.
> > > This way the encoder can store away the corresponding wakerefs.
> > > 
> > > This fixes the DSI encoder disabling, which didn't release these
> > > power references it acquired during HW state readout.
> > 
> > The io_wakeref is for the paired io_enable/io_disable.
> > 
> > get_encoder_power_domains() is the owner of these wakerefs, and they
> > then belong to the atomic state from preparation through use to final
> > release.
> 
> Yes, we have two cases:
> 
> 1. HW readout
> 
> encoder->get_power_domains() -> io_enable() -> takes wakerefs
> encoder->disable() -> io_disable() -> releases wakerefs

However, get_power_domains is used for the atomic state wakerefs (as
well?) and they have different much longer lifetimes.

Clear io_wakerefs, and put a WARN_ON(io_wakeref[]) prior to filling it
to convince me that it is being used to track a temporary wakeref.

get_power_domains() and atomic needs to take responsibility for the
overlapping set of powerwells imo.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux