From: Daniel Vetter <daniel@ffwll.ch>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: dri-devel@lists.freedesktop.org, chris@chris-wilson.co.uk,
imre.deak@intel.com, daniel.vetter@ffwll.ch, airlied@linux.ie,
airlied@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/i915: make compact dma scatter lists creation work with SWIOTLB backend.
Date: Mon, 24 Jun 2013 20:30:08 +0200 [thread overview]
Message-ID: <20130624183008.GI5823@phenom.ffwll.local> (raw)
In-Reply-To: <1372088868-23477-2-git-send-email-konrad.wilk@oracle.com>
On Mon, Jun 24, 2013 at 11:47:48AM -0400, Konrad Rzeszutek Wilk wrote:
> Git commit 90797e6d1ec0dfde6ba62a48b9ee3803887d6ed4
> ("drm/i915: create compact dma scatter lists for gem objects") makes
> certain assumptions about the under laying DMA API that are not always
> correct.
>
> On a ThinkPad X230 with an Intel HD 4000 with Xen during the bootup
> I see:
>
> [drm:intel_pipe_set_base] *ERROR* pin & fence failed
> [drm:intel_crtc_set_config] *ERROR* failed to set mode on [CRTC:3], err = -28
>
> Bit of debugging traced it down to dma_map_sg failing (in
> i915_gem_gtt_prepare_object) as some of the SG entries were huge (3MB).
>
> That unfortunately are sizes that the SWIOTLB is incapable of handling -
> the maximum it can handle is a an entry of 512KB of virtual contiguous
> memory for its bounce buffer. (See IO_TLB_SEGSIZE).
>
> Previous to the above mention git commit the SG entries were of 4KB, and
> the code introduced by above git commit squashed the CPU contiguous PFNs
> in one big virtual address provided to DMA API.
>
> This patch is a simple semi-revert - were we emulate the old behavior
> if we detect that SWIOTLB is online. If it is not online then we continue
> on with the new compact scatter gather mechanism.
>
> An alternative solution would be for the the '.get_pages' and the
> i915_gem_gtt_prepare_object to retry with smaller max gap of the
> amount of PFNs that can be combined together - but with this issue
> discovered during rc7 that might be too risky.
>
> Reported-and-Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> CC: Chris Wilson <chris@chris-wilson.co.uk>
> CC: Imre Deak <imre.deak@intel.com>
> CC: Daniel Vetter <daniel.vetter@ffwll.ch>
> CC: David Airlie <airlied@linux.ie>
> CC: <dri-devel@lists.freedesktop.org>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Queued for -next (with cc: stable), thanks for the patch.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
prev parent reply other threads:[~2013-06-24 18:30 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-24 15:47 [PATCH] Bootup regression of v3.10-rc6 + SWIOTLB + Intel 4000 Konrad Rzeszutek Wilk
2013-06-24 15:47 ` [PATCH] drm/i915: make compact dma scatter lists creation work with SWIOTLB backend Konrad Rzeszutek Wilk
2013-06-24 17:09 ` Daniel Vetter
2013-06-24 17:32 ` Konrad Rzeszutek Wilk
2013-06-24 18:26 ` Daniel Vetter
2013-06-24 18:34 ` Konrad Rzeszutek Wilk
2013-06-24 20:52 ` Dave Airlie
2013-06-24 23:18 ` Konrad Rzeszutek Wilk
2013-06-25 0:06 ` Dave Airlie
2013-06-26 14:03 ` Konrad Rzeszutek Wilk
2013-06-24 18:30 ` Daniel Vetter [this message]
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=20130624183008.GI5823@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=airlied@gmail.com \
--cc=airlied@linux.ie \
--cc=chris@chris-wilson.co.uk \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=imre.deak@intel.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.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 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.