[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: ATI radeon fails with "iommu=soft swiotlb=force" (seen on RV730/RV740 and RS780/RS800)

  • To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
  • From: Alex Deucher <alexdeucher@xxxxxxxxx>
  • Date: Mon, 5 Oct 2009 10:41:04 -0400
  • Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, dri-devel@xxxxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, Jan Beulich <JBeulich@xxxxxxxxxx>
  • Delivery-date: Tue, 06 Oct 2009 06:16:21 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=iPqLSvyHadOOvstDsWRc7XyGATeFWTkGyOGlBuxvZtMqlC7ZsXZoryWZrpyAB0+AbI ImlSImUhN6ZK3M1MhfN2OVSOPo20wkQ10OaCe0l3szGmXY/1Xf+NDnH8AntJIJfSojJx eZZGmhQVGNNBFitq38uC/YUMqB5dUu8gUWvto=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Mon, Oct 5, 2009 at 10:01 AM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> On Mon, Oct 05, 2009 at 11:32:31AM +0100, Jan Beulich wrote:
>> >>> Jeremy Fitzhardinge <jeremy@xxxxxxxx> 02.10.09 20:42 >>>
>> >On 10/02/09 10:23, Boris Derzhavets wrote:
>> >> Jeremy,
>> >> Please,  be aware of bugzilla.xensource.com [1519]  the most recent
>> >> entries :-
>> >>
>> >> http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1519
>> >>
>> >
>> >Ah, OK.  I pushed a variant of Konrad's patches.  Could you try them out?
>> Are you really convinced fixing this in DRM is the right thing to do? To
>> me, the use of vmalloc_32() in drivers/ieee1394/ seems to make similar
>> assumptions (pci_map_sg() not modifying the buffer addresses), and
>> who knows where else such assumptions exist. After all, vmalloc_32()
>> is *defined* to have the property assumed by both of the users, and
>> other than for most kmalloc() cases using GFP_DMA{,32} we're talking
>> about double buffering generally large amounts of data here even in
>> the cases where the DMA API is being used properly.
> I was chatting with Jeremy about this, and I realized that in some
> sense the radeon driver assumes that physical != bus addresses. Which is
> OK on x86, but if this card was ever moved to a Sun box it would fail.

FWIW, the radeon drm has been working fine on both sparc and ppc for years.


> The patch here thwarts this by allocating memory from the IOMMU, so that
> even if bus != physical address from pci_map_page, that is OK.
> Another way to make this work right is to modify the drivers
> that use vmalloc_32, with pci_map_[sg|page], is for them to check if the 
> physical
> != bus address, and if so, remap the virtual address (page_to_vmalloc) to
> point to the new bus addresses (and free the "old" page). Obviously this
> requires some book-keeping, but it does fix those drivers if they were to 
> move to
> non-x86 architecture. Or on machines where the IOMMU hands out non-physical
> addresses.
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
> http://p.sf.net/sfu/devconf
> --
> _______________________________________________
> Dri-devel mailing list
> Dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/dri-devel

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.