[PATCH v4 16/19] powerpc: fsl_pci, swiotlb: Move controller ops from ppc_md to controller_ops

Scott Wood scottwood at freescale.com
Fri Apr 10 13:18:22 AEST 2015


On Fri, 2015-04-10 at 13:15 +1000, Daniel Axtens wrote:
> Move the installation of DMA operations out of swiotlb's subsys
> initcall, and into the generic PCI controller operations struct.
> 
> These ops are installed conditionally, based on the ppc_swiotlb_enable
> global. The global can be set in two places:
>  - swiotlb_detect_4g, which is always called at the arch initcall level
>  - setup_pci_atmu, which is called as part of the fsl_add_bridge and
> fsl_pci_syscore_do_resume.
> 
> fsl_pci_syscore_do_resume is called late enough that any changes as a
> result of that call will have no effect.
> 
> As such, if we test the global and set the operations as part of
> fsl_add_bridge, after the call to setup_pci_atmu, we can be confident
> that it will cover all the PCI implementations affected by the changes
> to dma-swiotlb.c.
> 
> Signed-off-by: Daniel Axtens <dja at axtens.net>
> 
> ---
> 
> v1 --> v2:
>  - Move the setup call to after setup_pci_atmu().
> 
> v2 --> v3:
>  - Only set the affected op, not the entire structure. Thanks mpe.
> 
> v3 --> v4:
>  - Improved commit message, thanks Scott Wood.
> ---
>  arch/powerpc/kernel/dma-swiotlb.c | 11 ++++-------
>  arch/powerpc/sysdev/fsl_pci.c     | 15 +++++++++++++++
>  2 files changed, 19 insertions(+), 7 deletions(-)

Acked-by: Scott Wood <scottwood at freescale.com>

-Scott




More information about the Linuxppc-dev mailing list