diff mbox

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

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

Commit Message

Ben Widawsky May 8, 2014, 2:17 a.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

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: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Jani Nikula May 13, 2014, 7:41 a.m. UTC | #1
On Thu, 08 May 2014, Ben Widawsky <benjamin.widawsky@intel.com> wrote:
> 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
>
> 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: 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 4d87bf2..8d6d531 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2640,6 +2640,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_32BIT

There's no such config for x86.

There's CONFIG_X86_32 though. Which I think matches the original
approach of #ifndef CONFIG_64BIT in the referenced bug. However, "with
this patch only, the system still hung while booting." [1].

I want a new patch with Tested-by on it.


BR,
Jani.


[1] https://bugs.freedesktop.org/show_bug.cgi?id=76619#c16



> +	/* 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.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Jesse Barnes May 19, 2014, 3:13 p.m. UTC | #2
On Tue, 13 May 2014 10:41:58 +0300
Jani Nikula <jani.nikula@linux.intel.com> wrote:

> On Thu, 08 May 2014, Ben Widawsky <benjamin.widawsky@intel.com> wrote:
> > 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
> >
> > 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: 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 4d87bf2..8d6d531 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > @@ -2640,6 +2640,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_32BIT
> 
> There's no such config for x86.
> 
> There's CONFIG_X86_32 though. Which I think matches the original
> approach of #ifndef CONFIG_64BIT in the referenced bug. However, "with
> this patch only, the system still hung while booting." [1].
> 
> I want a new patch with Tested-by on it.
> 
> 
> BR,
> Jani.
> 
> 
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=76619#c16

Ben, will you re-post this or can you find someone else who can?
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 4d87bf2..8d6d531 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -2640,6 +2640,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_32BIT
+	/* 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;
 }