From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/bdw: Don't allow the FBC base to be 0 Date: Fri, 2 May 2014 11:19:27 +0300 Message-ID: <20140502081927.GR18465@intel.com> References: <1398995274-1317-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C1A0E6EEC3 for ; Fri, 2 May 2014 01:19:35 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1398995274-1317-1-git-send-email-benjamin.widawsky@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ben Widawsky Cc: Intel GFX , Art Runyan , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org On Thu, May 01, 2014 at 06:47:54PM -0700, Ben Widawsky wrote: > "Restriction : > The offset must be greater than 4K bytes, avoiding the first 4KB of > stolen memory." Isn't this a more generic issue that we must avoid the first 4k? If so I think we should just reserve the first 4k permanently at driver init time. > = > 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 > Signed-off-by: Ben Widawsky > --- > 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/i91= 5/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 =3D dev->dev_private; > struct drm_mm_node *compressed_fb, *uninitialized_var(compressed_llb); > + unsigned long start =3D 0; > int ret; > = > compressed_fb =3D kzalloc(sizeof(*compressed_fb), GFP_KERNEL); > if (!compressed_fb) > goto err_llb; > = > + if (IS_BROADWELL(dev)) > + start =3D 0x1000; > + > /* Try to over-allocate to reduce reallocations and fragmentation */ > - ret =3D drm_mm_insert_node(&dev_priv->mm.stolen, compressed_fb, > - size <<=3D 1, 4096, DRM_MM_SEARCH_DEFAULT); > + ret =3D drm_mm_insert_node_in_range(&dev_priv->mm.stolen, compressed_fb, > + size <<=3D 1, 4096, start, dev_priv->gtt.stolen_size, > + DRM_MM_SEARCH_DEFAULT); > if (ret) > - ret =3D drm_mm_insert_node(&dev_priv->mm.stolen, compressed_fb, > - size >>=3D 1, 4096, > - DRM_MM_SEARCH_DEFAULT); > + ret =3D drm_mm_insert_node_in_range(&dev_priv->mm.stolen, compressed_f= b, > + size >>=3D 1, 4096, start, dev_priv->gtt.stolen_size, > + DRM_MM_SEARCH_DEFAULT); > if (ret) > goto err_llb; > = > -- = > 1.9.2 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Ville Syrj=E4l=E4 Intel OTC