On Wed, 2014-01-22 at 13:51 +0100, Daniel Vetter wrote: > On Wed, Jan 22, 2014 at 05:34:17PM +0530, naresh.kumar.kachhi@xxxxxxxxx wrote: > > From: Naresh Kumar Kachhi <naresh.kumar.kachhi@xxxxxxxxx> > > > > With runtime PM enabled, we need to make sure that all HW access > > are valid (i.e. Gfx is in D0). Invalid accesses might end up in > > HW hangs. Ex. A hang is seen if display register is accessed on > > BYT while display power island is power gated. > > > > This patch is covering all the IOCTLs with get/put. > > TODO: limit runtime_get/put to IOCTLs that accesses HW > > > > Signed-off-by: Naresh Kumar Kachhi <naresh.kumar.kachhi@xxxxxxxxx> > > Nack on the concept. We need to have get/put calls for the individual > functional blocks of the hw, which then in turn (if it's not the top-level > power domain) need to grab references to the next up power domain. > Splattering unconditional get/puts over all driver entry points is bad > style and imo also too fragile. > > Also, with Paulos final runtime pm/pc8 unification patches and Imre's > display power well patches for byt we should have full coverage already. > Have you looked at the work of these too? I'm still in debt with the BYT specific power domain patches, I want to post them (this week) after I sorted out spurious pipe stat IRQs we'd receive atm with the power well off. Until then there is only the WIP version at: https://github.com/ideak/linux/commits/powerwells But in practice, as you point out the plan was to only call modeset_update_power_wells() during modeset time and that will end up doing the proper RPM get/put as necessary. Similarly on some other code paths like connector detect and HW state read-out code, we'd ask only for the needed power domains which would end up doing the RPM get/put. --Imre
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx