[PATCH 1/2] drm/radeon: Only enable and handle pageflip interrupts when needed

Christian König deathsimple at vodafone.de
Fri Jun 27 01:18:51 PDT 2014


Am 27.06.2014 04:58, schrieb Michel Dänzer:
> On 26.06.2014 19:39, Christian König wrote:
>> Am 26.06.2014 11:29, schrieb Michel Dänzer:
>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>
>>> Prevents radeon_crtc_handle_flip() from running before
>>> radeon_flip_work_func(), resulting in a kernel panic due to the BUG_ON()
>>> in drm_vblank_put().
>>>
>>> Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>> Does patch #2 alone fixes the problem as well?
> It should avoid the panic as well.
>
>
>> I would rather want to avoid turning the pflip interrupt on and off.
> What's the problem with that? It's not like we're saving any register
> writes by not doing it.

We don't? As far as I can see we reprogram all interrupt registers if 
any of the interrupts changed, this has already lead to quite some 
additional overhead in the fence waiting code.

>
> The diagnostic messages Dieter was getting with only patch #2 show that
> the pflip interrupt often triggers unnecessarily, potentially wasting
> power by waking up the CPU from a power saving state pointlessly.
That's a really good point, but my question would rather be why does the 
pflip interrupt fires if there isn't any pflip?

Turning the vblank and other interrupts off makes sense because they 
fire anyway, but pflip should only fire if we really made a request for 
it to do so.

Regards,
Christian.


More information about the dri-devel mailing list