diff mbox

[v5] drm/i915/bdw: Only use 2g GGTT for 32b platforms

Message ID 1401234788-17506-1-git-send-email-benjamin.widawsky@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky May 27, 2014, 11:53 p.m. UTC
Daniel requested in the bug that I use a 3GB fallback size. Since this
is not in the spec as a valid size, I decided against it. We could
potentially add a patch to bump it to 3GB on top of this one.

This probably should be CC: stable - but I'll let the powers that be
decide that one.

Regression from a revert of the revert:
commit 7907f45bf9f67a1c5e5d4ae05bab428d7c2f43b2
Author: Ben Widawsky <benjamin.widawsky@intel.com>
Date:   Wed Feb 19 22:05:46 2014 -0800

    Revert "drm/i915/bdw: Limit GTT to 2GB"

v2: Change ifdef to 32b, instead of ifndef
update comment

v3. Update comment to not wrap (Daniel).
Update commit message

v4: s/CONFIG_32/CONFIG_X86_32 (Jani).

v5: s/CONFIG_x86_32BIT/CONFIG_x86_32, as meant in v4
s/32B/32b (chris)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76619
Cc: stable@vger.kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Yang, Guang A June 3, 2014, 6:05 a.m. UTC | #1
Tested-by: "Yang, Guang A" <guang.a.yang@intel.com>

With this patch, the 32 bit system can be able to boot normally.



Best Regards~~

Open Source Technology Center (OTC)
Terence Yang????
Tel: 86-021-61167360
iNet: 8821-7360

> -----Original Message-----

> From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of

> Ben Widawsky

> Sent: Wednesday, May 28, 2014 7:53 AM

> To: Intel GFX

> Cc: Ben Widawsky; stable@vger.kernel.org; Widawsky, Benjamin

> Subject: [Intel-gfx] [PATCH] [v5] drm/i915/bdw: Only use 2g GGTT for 32b

> platforms

> 

> Daniel requested in the bug that I use a 3GB fallback size. Since this is not in

> the spec as a valid size, I decided against it. We could potentially add a patch to

> bump it to 3GB on top of this one.

> 

> This probably should be CC: stable - but I'll let the powers that be decide that

> one.

> 

> Regression from a revert of the revert:

> commit 7907f45bf9f67a1c5e5d4ae05bab428d7c2f43b2

> Author: Ben Widawsky <benjamin.widawsky@intel.com>

> Date:   Wed Feb 19 22:05:46 2014 -0800

> 

>     Revert "drm/i915/bdw: Limit GTT to 2GB"

> 

> v2: Change ifdef to 32b, instead of ifndef update comment

> 

> v3. Update comment to not wrap (Daniel).

> Update commit message

> 

> v4: s/CONFIG_32/CONFIG_X86_32 (Jani).

> 

> v5: s/CONFIG_x86_32BIT/CONFIG_x86_32, as meant in v4 s/32B/32b (chris)

> 

> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76619

> Cc: stable@vger.kernel.org

> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>

> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>

> ---

>  drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++++

>  1 file changed, 7 insertions(+)

> 

> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c

> b/drivers/gpu/drm/i915/i915_gem_gtt.c

> index 931b906..eec820a 100644

> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c

> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c

> @@ -1775,6 +1775,13 @@ static inline unsigned int

> gen8_get_total_gtt_size(u16 bdw_gmch_ctl)

>  	bdw_gmch_ctl &= BDW_GMCH_GGMS_MASK;

>  	if (bdw_gmch_ctl)

>  		bdw_gmch_ctl = 1 << bdw_gmch_ctl;

> +

> +#ifdef CONFIG_X86_32

> +	/* Limit 32b platforms to a 2GB GGTT: 4 << 20 / pte size * PAGE_SIZE */

> +	if (bdw_gmch_ctl > 4)

> +		bdw_gmch_ctl = 4;

> +#endif

> +

>  	return bdw_gmch_ctl << 20;

>  }

> 

> --

> 1.9.3

> 

> _______________________________________________

> Intel-gfx mailing list

> Intel-gfx@lists.freedesktop.org

> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter June 3, 2014, 7:45 a.m. UTC | #2
On Tue, Jun 03, 2014 at 06:05:45AM +0000, Yang, Guang A wrote:
> Tested-by: "Yang, Guang A" <guang.a.yang@intel.com>
> With this patch, the 32 bit system can be able to boot normally.

I wonder what's going to happen on 64 bit kernels with 32 bit userspace.
Since that one's a really common thing with games. Whatever. Queued for
-next, thanks for the patch.
-Daniel
> 
> 
> 
> Best Regards~~
> 
> Open Source Technology Center (OTC)
> Terence Yang????
> Tel: 86-021-61167360
> iNet: 8821-7360
> 
> > -----Original Message-----
> > From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
> > Ben Widawsky
> > Sent: Wednesday, May 28, 2014 7:53 AM
> > To: Intel GFX
> > Cc: Ben Widawsky; stable@vger.kernel.org; Widawsky, Benjamin
> > Subject: [Intel-gfx] [PATCH] [v5] drm/i915/bdw: Only use 2g GGTT for 32b
> > platforms
> > 
> > Daniel requested in the bug that I use a 3GB fallback size. Since this is not in
> > the spec as a valid size, I decided against it. We could potentially add a patch to
> > bump it to 3GB on top of this one.
> > 
> > This probably should be CC: stable - but I'll let the powers that be decide that
> > one.
> > 
> > Regression from a revert of the revert:
> > commit 7907f45bf9f67a1c5e5d4ae05bab428d7c2f43b2
> > Author: Ben Widawsky <benjamin.widawsky@intel.com>
> > Date:   Wed Feb 19 22:05:46 2014 -0800
> > 
> >     Revert "drm/i915/bdw: Limit GTT to 2GB"
> > 
> > v2: Change ifdef to 32b, instead of ifndef update comment
> > 
> > v3. Update comment to not wrap (Daniel).
> > Update commit message
> > 
> > v4: s/CONFIG_32/CONFIG_X86_32 (Jani).
> > 
> > v5: s/CONFIG_x86_32BIT/CONFIG_x86_32, as meant in v4 s/32B/32b (chris)
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76619
> > Cc: stable@vger.kernel.org
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> > Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> > ---
> >  drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > index 931b906..eec820a 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > @@ -1775,6 +1775,13 @@ static inline unsigned int
> > gen8_get_total_gtt_size(u16 bdw_gmch_ctl)
> >  	bdw_gmch_ctl &= BDW_GMCH_GGMS_MASK;
> >  	if (bdw_gmch_ctl)
> >  		bdw_gmch_ctl = 1 << bdw_gmch_ctl;
> > +
> > +#ifdef CONFIG_X86_32
> > +	/* Limit 32b platforms to a 2GB GGTT: 4 << 20 / pte size * PAGE_SIZE */
> > +	if (bdw_gmch_ctl > 4)
> > +		bdw_gmch_ctl = 4;
> > +#endif
> > +
> >  	return bdw_gmch_ctl << 20;
> >  }
> > 
> > --
> > 1.9.3
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 931b906..eec820a 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1775,6 +1775,13 @@  static inline unsigned int gen8_get_total_gtt_size(u16 bdw_gmch_ctl)
 	bdw_gmch_ctl &= BDW_GMCH_GGMS_MASK;
 	if (bdw_gmch_ctl)
 		bdw_gmch_ctl = 1 << bdw_gmch_ctl;
+
+#ifdef CONFIG_X86_32
+	/* Limit 32b platforms to a 2GB GGTT: 4 << 20 / pte size * PAGE_SIZE */
+	if (bdw_gmch_ctl > 4)
+		bdw_gmch_ctl = 4;
+#endif
+
 	return bdw_gmch_ctl << 20;
 }