[Intel-gfx] [PATCH 2/3] drm/i915: Do only one posting read on forcewake put sequence

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 28 04:58:21 PST 2015


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. :)
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list