removing addr_needs_map in struct dma_mapping_ops
Kumar Gala
galak at kernel.crashing.org
Fri Jul 24 01:44:25 EST 2009
On Jul 23, 2009, at 2:09 AM, FUJITA Tomonori wrote:
>>> diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/
>>> powerpc/platforms/86xx/mpc86xx_hpcn.c
>>> index 6632702..d1878f3 100644
>>> --- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
>>> +++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
>>> @@ -187,5 +187,6 @@ define_machine(mpc86xx_hpcn) {
>>> .progress = udbg_progress,
>>> #ifdef CONFIG_PCI
>>> .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
>>> + .pci_dma_dev_setup = pci_dma_dev_setup_swiotlb,
>>> #endif
>>> };
>>
>> Instead of initializing this here (which has problems if !
>> CONFIG_SWIOTLB),
>
> Oops, I overlooked it.
>
>
>> place this in the xxxxx_xxxx_setup_arch function in
>> the same files, which already have an #ifdef CONFIG_SWIOTLB in which
>> this can be embedded.
>
> But the xxxxx_xxxx_setup_arch function doesn't access to each device
> so we need to add something like for_each_pci_dev()? You prefer that?
No.. I think what we want is:
#ifdef CONFIG_SWIOTLB
if (lmb_end_of_DRAM() > max) {
ppc_swiotlb_enable = 1;
set_pci_dma_ops(&swiotlb_pci_dma_ops);
ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
}
#endif
Buts its been a few days since Becky & I chatted about this and I feel
like I'm forgetting something.
- k
More information about the Linuxppc-dev
mailing list