[Intel-gfx] [PATCH] drm/i915: Read the Base of Stolen Memory for 915gm

Ben Widawsky ben at bwidawsk.net
Sun Feb 10 22:37:52 CET 2013


On Sun, Feb 10, 2013 at 07:38:13PM +0000, Chris Wilson wrote:
> Reading the cspec pays dividends once again, as I found the 'Base of
> Stolen Memory' config register so that we can skip the fragile
> computation from Top of Usable Draw and use the real value provided by
> the BIOS.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Don't really want to dig out the doc, but I so prefer this to the
old way.
Acked-by: Ben Widawsky <ben at bwidawsk.net>

> ---
>  drivers/gpu/drm/i915/i915_gem_stolen.c |    9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
> index 130d1db..7f1735c 100644
> --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
> @@ -72,13 +72,10 @@ static unsigned long i915_stolen_to_physical(struct drm_device *dev)
>  	} else if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) {
>  		/* Read Graphics Base of Stolen Memory directly */
>  		pci_read_config_dword(pdev, 0xA4, &base);
> -#if 0
>  	} else if (IS_GEN3(dev)) {
> -		u8 val;
> -		/* Stolen is immediately below Top of Low Usable DRAM */
> -		pci_read_config_byte(pdev, 0x9c, &val);
> -		base = val >> 3 << 27;
> -		base -= dev_priv->mm.gtt->stolen_size;
> +		/* Read D2:F0 Base of Stolen Memory directly */
> +		pci_read_config_dword(dev->pdev, 0x5c, &base);
> +#if 0
>  	} else {
>  		/* Stolen is immediately above Top of Memory */
>  		base = max_low_pfn_mapped << PAGE_SHIFT;
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ben Widawsky, Intel Open Source Technology Center



More information about the Intel-gfx mailing list