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

Imre Deak imre.deak at intel.com
Sun Apr 7 10:25:37 UTC 2019


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

2. modeset

encoder->enable() -> io_enable() -> takes wakerefs
encoder->disable() -> io_disble() -> releases wakerefs

--Imre


More information about the Intel-gfx mailing list