[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <25E78C44-E366-40D1-AC1B-3022F1A95069@kernel.crashing.org>
Date: Wed, 8 Apr 2009 23:43:27 -0500
From: Kumar Gala <galak@...nel.crashing.org>
To: Jeremy Fitzhardinge <jeremy@...p.org>
Cc: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>, hch@...radead.org,
linux-kernel@...r.kernel.org, mingo@...e.hu,
ian.campbell@...rix.com, beckyb@...nel.crashing.org
Subject: Re: [PATCH 4/7] swiotlb: Allow arch override of address_needs_mapping
On Apr 8, 2009, at 7:09 PM, Jeremy Fitzhardinge wrote:
> FUJITA Tomonori wrote:
>> On Wed, 08 Apr 2009 16:16:17 -0700
>> Jeremy Fitzhardinge <jeremy@...p.org> wrote:
>>
>>
>>> FUJITA Tomonori wrote:
>>>
>>>>> Becky's patches of last week also added __weak annotations to
>>>>> swiotlb_bus_to_virt, virt_to_bus and bus_to_phys; added the
>>>>> hwdev parameter to swiotlb_bus_to_phys; and added a weak
>>>>> swiotlb_arch_address_needs_mapping. I assume that was needed
>>>>> because powerpc needs non-trivial implementations for those
>>>>> functions.
>>>>>
>>>> Hmm, what she added are wrappers of virt_to_bus and bus_to_virt. We
>>>> can remove these and directly use virt_to_bus and bus_to_virt.
>>>>
>>> In general those interfaces are deprecated. Are we un-deprecating
>>> them? Or do you mean adding virt<->bus to dma_ops?
>>>
>>
>> Hmm, these interfaces are wrong for drivers surely because they can't
>> handle dma mapping properly. However, they are exactly what swiotlb
>> needs (swiotlb doesn't need to care about dma mapping).
>
> It needs to care about the mapping from phys to bus. On x86 they're
> identical, but on powerpc there can be at least an offset between
> them.
>
>> Until 2.6.28,
>> swiotlb has used them. They are with IA64, X86_64 and PPC_32, I
>> think.
>>
>
> Well, Becky's patches also added the hwdev argument to them, so
> presumably the powerpc implementation needs that (different devices/
> buses have differing views of physical memory, I guess).
On powerpc we need the hwdev because things vary based on bus. For
our SoC chips we don't need any mapping between phys & bus. However
something like PCI does have a mapping (a simple offset).
- k
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists