All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/bdw: Don't allow the FBC base to be 0
@ 2014-05-02  1:47 Ben Widawsky
  2014-05-02  8:19 ` Ville Syrjälä
  0 siblings, 1 reply; 9+ messages in thread
From: Ben Widawsky @ 2014-05-02  1:47 UTC (permalink / raw)
  To: Intel GFX; +Cc: Ben Widawsky, Art Runyan, Ben Widawsky

"Restriction :
The offset must be greater than 4K bytes, avoiding the first 4KB of
stolen memory."

Since it looks like we currently allocate an overlay out of stolen
before we get the compressed framebuffer, I believe this is not
currently an issue which fixes anything. We simply want to make the code
as future-proof, and as clear as possible, by match the spec.

Cc: Art Runyan <arthur.j.runyan@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gem_stolen.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 62ef55b..65016b0 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -107,19 +107,24 @@ static int i915_setup_compression(struct drm_device *dev, int size)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct drm_mm_node *compressed_fb, *uninitialized_var(compressed_llb);
+	unsigned long start = 0;
 	int ret;
 
 	compressed_fb = kzalloc(sizeof(*compressed_fb), GFP_KERNEL);
 	if (!compressed_fb)
 		goto err_llb;
 
+	if (IS_BROADWELL(dev))
+		start = 0x1000;
+
 	/* Try to over-allocate to reduce reallocations and fragmentation */
-	ret = drm_mm_insert_node(&dev_priv->mm.stolen, compressed_fb,
-				 size <<= 1, 4096, DRM_MM_SEARCH_DEFAULT);
+	ret = drm_mm_insert_node_in_range(&dev_priv->mm.stolen, compressed_fb,
+					  size <<= 1, 4096, start, dev_priv->gtt.stolen_size,
+					  DRM_MM_SEARCH_DEFAULT);
 	if (ret)
-		ret = drm_mm_insert_node(&dev_priv->mm.stolen, compressed_fb,
-					 size >>= 1, 4096,
-					 DRM_MM_SEARCH_DEFAULT);
+		ret = drm_mm_insert_node_in_range(&dev_priv->mm.stolen, compressed_fb,
+						  size >>= 1, 4096, start, dev_priv->gtt.stolen_size,
+						  DRM_MM_SEARCH_DEFAULT);
 	if (ret)
 		goto err_llb;
 
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-05-15 14:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-02  1:47 [PATCH] drm/i915/bdw: Don't allow the FBC base to be 0 Ben Widawsky
2014-05-02  8:19 ` Ville Syrjälä
2014-05-02  8:38   ` Chris Wilson
2014-05-02 13:00     ` Ville Syrjälä
2014-05-02 17:00       ` Ben Widawsky
2014-05-02 20:35         ` Chris Wilson
2014-05-03  1:48           ` Ben Widawsky
2014-05-15 14:05             ` Ville Syrjälä
2014-05-15 14:45               ` Damien Lespiau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.