From: Chris Wilson <chris@chris-wilson.co.uk>
To: intel-gfx@lists.freedesktop.org
Cc: Ben Widawsky <ben@bwidawsk.net>
Subject: Re: [PATCH 3/5] drm/i915: Extract gen6 aliasing ppgtt code
Date: Sat, 29 Dec 2012 11:49:01 +0000 [thread overview]
Message-ID: <84c8a8$74vpth@orsmga001.jf.intel.com> (raw)
In-Reply-To: <1356755249-19810-3-git-send-email-ben@bwidawsk.net>
On Fri, 28 Dec 2012 20:27:27 -0800, Ben Widawsky <ben@bwidawsk.net> wrote:
> This refactor clearly identifies the GEN specific portion of the aliased
> ppgtt code. Aside from some of the gen specific parts being extracted,
> it also preps us for an upcoming patch that pulls out the size, which
> has some nice benefits.
Error handling looks a little wonky.
>
> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> ---
> drivers/gpu/drm/i915/i915_gem_gtt.c | 51 ++++++++++++++++++++++---------------
> 1 file changed, 30 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 94d21aa..3b1bff1 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -108,29 +108,20 @@ static void i915_ppgtt_clear_range(struct i915_hw_ppgtt *ppgtt,
> }
> }
>
> -static int i915_gem_init_aliasing_ppgtt(struct drm_device *dev)
> +static int gen6_init_aliasing_ppgtt(struct i915_hw_ppgtt *ppgtt)
> {
> + struct drm_device *dev = ppgtt->dev;
> struct drm_i915_private *dev_priv = dev->dev_private;
> - struct i915_hw_ppgtt *ppgtt;
> unsigned first_pd_entry_in_global_pt;
> - int i;
> - int ret = -ENOMEM;
> + int i, ret = -ENOMEM;
>
> /* ppgtt PDEs reside in the global gtt pagetable, which has 512*1024
> * entries. For aliasing ppgtt support we just steal them at the end for
> * now. */
> first_pd_entry_in_global_pt = dev_priv->mm.gtt->gtt_total_entries - I915_PPGTT_PD_ENTRIES;
> -
> - ppgtt = kzalloc(sizeof(*ppgtt), GFP_KERNEL);
> - if (!ppgtt)
> - return ret;
> -
> - ppgtt->dev = dev;
> ppgtt->num_pd_entries = I915_PPGTT_PD_ENTRIES;
> ppgtt->pt_pages = kzalloc(sizeof(struct page *)*ppgtt->num_pd_entries,
> GFP_KERNEL);
> - if (!ppgtt->pt_pages)
> - goto err_ppgtt;
I think you still want this...
> @@ -185,9 +171,32 @@ err_pt_alloc:
> if (ppgtt->pt_pages[i])
> __free_page(ppgtt->pt_pages[i]);
> }
> - kfree(ppgtt->pt_pages);
> -err_ppgtt:
> - kfree(ppgtt);
> +
> + if (!ppgtt->pt_pages)
> + kfree(ppgtt->pt_pages);
And will want to reconsider this chunk.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
next prev parent reply other threads:[~2012-12-29 11:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-29 4:27 [PATCH 1/5] drm/i915: trivial: kill-agp collateral cleanups Ben Widawsky
2012-12-29 4:27 ` [PATCH 2/5] drm/i915: Reclaim GTT space for failed PPGTT Ben Widawsky
2012-12-29 4:27 ` [PATCH 3/5] drm/i915: Extract gen6 aliasing ppgtt code Ben Widawsky
2012-12-29 11:49 ` Chris Wilson [this message]
2012-12-29 19:45 ` Ben Widawsky
2012-12-29 23:44 ` Chris Wilson
2012-12-29 4:27 ` [PATCH 4/5] drm/i915: Aliased PPGTT size abstraction Ben Widawsky
2012-12-29 4:27 ` [PATCH 5/5] drm/i915: Dynamically calculate dclv Ben Widawsky
2013-01-26 0:41 [PATCH 0/5] [REPOST] GTT cleanups, rebased Ben Widawsky
2013-01-26 0:41 ` [PATCH 3/5] drm/i915: Extract gen6 aliasing ppgtt code Ben Widawsky
2013-01-29 12:55 ` Daniel Vetter
2013-01-29 19:00 ` Ben Widawsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='84c8a8$74vpth@orsmga001.jf.intel.com' \
--to=chris@chris-wilson.co.uk \
--cc=ben@bwidawsk.net \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).