[Intel-gfx] [PATCH 0/4] drm/i915: Gen2/3 C3 wakeup stuff

Chris Wilson chris at chris-wilson.co.uk
Wed May 28 10:19:05 CEST 2014


On Tue, Feb 25, 2014 at 03:13:37PM +0200, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> I tried to fix the C3 vs. vblank interrupt issues reportd in [1], but
> it looks like the AGPBUSY# stuff doesn't help there for some reason. I
> guess either the board isn't wired correctly, or we're missing
> something else. I doubt the BM wakup mechanism itself would be
> broken since then I would expect the machine to lock up when someone
> does DMA while in C3. IIRC I actually had that kind of an issue on
> some old VIA chipset long ago.
> 
> Anyways, my 855gm actually supports C3, and on that machine the MI_STATE
> AGPBUSY# stuff is effective. So I'm going to assume that gen3 behaviour
> should match, and so I'm just sticking it all into .init_clock_gating()
> for both gen2 and gen3.
> 
> I also found another gen3 C3 bit in i915_gem_load(). I think it would
> be better to collect that into .init_clock_gating() as well. But I left
> it also in i915_gem_load() for UMS.
> 
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=30364
> 
> Ville Syrjälä (4):
>   drm/i915: Set AGPBUSY# bit in init_clock_gating
>   drm/i915: Flip the sense of AGPBUSY_DIS bit
>   drm/i915: Enable interrupt-based AGPBUSY# enable on 85x
>   drm/i915: Move the C3 LP write bit setup to gen3_init_clock_gating()
>     for KMS

They all look sensible, seem to better match the docs than the
existing code and make the code easier to read (apart from the
UMS frobbing!), so:

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

The slow vblank delivery issue remains iirc though.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list