[Intel-gfx] [PATCH 47/51] drm/i915: Update ironlake_enable_rc6() to do explicit request management

John Harrison John.C.Harrison at Intel.com
Wed Feb 18 06:28:16 PST 2015


On 13/02/2015 17:03, Chris Wilson wrote:
> On Fri, Feb 13, 2015 at 04:58:24PM +0000, John Harrison wrote:
>> On 13/02/2015 12:19, Chris Wilson wrote:
>>> On Fri, Feb 13, 2015 at 11:48:56AM +0000, John.C.Harrison at Intel.com wrote:
>>>> From: John Harrison <John.C.Harrison at Intel.com>
>>>>
>>>> Updated ironlake_enable_rc6() to do explicit request creation and submission.
>>> If you merged the context here with the common context switching code,
>>> we don't even need to touch the ring here.
>>> -Chris
>>>
>> It would certainly be preferable to not have any ring commands
>> written from deep within the power management code. However, I
>> didn't want to change anything I didn't really need to, especially
>> in code that I'm not at all sure about. Plus I don't have an
>> ironlake to test any significant change on.
> I did and tested extensively.
> -Chris

Do you have a patch that just does the move of this from PM code to 
context switch code? Something that I can drop into this series would be 
great. If not, exactly where about in the context switch code should it 
go? Should it be in the start of day initialisation, in the per context 
intialisation, every context switch, only the first switch after a 
resume, ...?

Tracing back to where/when this code is currently executed seems to be 
quite complicated. The _enable_rc6() function is called during ring 
reset but only for Gen6+ because Ironlake is broken according to the 
comment. It is also called by a system power management callback but it 
is unclear when that would occur. Finally, it is also called from the 
display code in intel_modeset_init_hw().

Thanks,
John.



More information about the Intel-gfx mailing list