[Intel-gfx] [PATCH] drm/i915: use correct runtime get/put calls at init/teardown

Jesse Barnes jbarnes at virtuousgeek.org
Thu Sep 17 14:59:18 PDT 2015


On 09/17/2015 02:40 PM, Paulo Zanoni wrote:
> 2015-09-17 18:23 GMT-03:00 Jesse Barnes <jbarnes at virtuousgeek.org>:
>> According to the PCI docs and Rafael, we need to be using
>> pm_runtime_put_noidle() and pm_runtime_get_noresume() in our init and
>> teardown routines, rather than using a direct enable/disable pair (and
>> we didn't even have the enable side, so never autosuspended after an
>> unload).
>>
>> This fixes one failure of the basic-pci-d3-state test on my BYT.  I'm
>> still debugging why the device never autosuspends.
>>
>> Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
>> ---
>>  drivers/gpu/drm/i915/intel_runtime_pm.c | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> index 85c35fd..1addb8a 100644
>> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> @@ -1822,7 +1822,7 @@ static void intel_runtime_pm_disable(struct drm_i915_private *dev_priv)
>>
>>         /* Make sure we're not suspended first. */
> 
> So is the comment above still valid?
> 
> As far as I remember, we explicitly wake up the hardware after unload
> because our driver is (was) not prepared to be loaded on a hardware
> that is suspended. Did you try module reloading after this change?

I'm still debugging it; in fact I think this change may be wrong.

> Also, basic-pci-d3-state should not be unloading/reloading the driver,
> so it's not clear to me how this change helps passing that test.

The BAT tests just happen to run the module reload test first.  That's how I caught this in the first place...

Jesse


More information about the Intel-gfx mailing list