[Intel-gfx] [PATCH 2/3] drm/i915: Do only one posting read on forcewake put sequence
Mika Kuoppala
mika.kuoppala at linux.intel.com
Wed Jan 28 05:28:56 PST 2015
Chris Wilson <chris at chris-wilson.co.uk> writes:
> On Wed, Jan 28, 2015 at 02:43:25PM +0200, Mika Kuoppala wrote:
>> commit 05a2fb157e44a53c79133805d30eaada43911941
>> Author: Mika Kuoppala <mika.kuoppala at linux.intel.com>
>> Date: Mon Jan 19 16:20:43 2015 +0200
>>
>> drm/i915: Consolidate forcewake code
>>
>> introduced domain handling where each domain has it's own posting
>> read registers. This changed the forcewake sequence on 'put' side when
>> there is multiple domains as there would be extra read between the domain
>> puts. Any posting read should be enough to flush all the changes.
>>
>> Do a posting read only once, at the end of the sequence and for
>> the first domain. Like it was before.
>>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
>
> fwiw, I would argue that the posting read in _get() is superfluous as we
> will serialise the fw with not only the ack, but any subsequent mmio.
>
> On the _put() side we do want to flush the write so that the hw can
> power down as early as possible. So just kill the posting read from _get
> and otherwise drop the patch. :)
Yes, both put/get patches should be dropped. I posted a patch removing
the posting read on get side and with your explanations in commit message.
This all starts to make so much sense that some gen is bound to break ;)
-Mika
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list