Re: [PATCH 1/2] mmc: host: arasan: Add addition of-arasan quirks and add IOMMU support.
Hi Arnd, On Monday 15 December 2014 22:31:06 Suman Tripathi wrote: @@ -162,6 +206,16 @@ static int sdhci_arasan_probe(struct platform_device *pdev) goto clk_dis_ahb; } +#if defined(CONFIG_IOMMU_SUPPORT) + sdhci_arasan-domain = iommu_domain_alloc(amba_bustype); + if (!sdhci_arasan-domain) { + dev_err(pdev-dev, Unable to allocate iommu domain\n); + return PTR_ERR(sdhci_arasan-domain); + } + + iommu_attach_device(sdhci_arasan-domain, pdev-dev); +#endif + Device drivers should never care about the implementation details of the iommu. Please change the code to use the regular dma_map_* interfaces that will work both with and without IOMMU. After refer to iommu binding , there is a service that allows Remap address space to allow devices to access physical memory ranges that they otherwise wouldn't be capable of accessing. eg : 32-bit to 64 bit DMA . So do we have any existing driver that uses this service ? Just asking for suggestions. On Tue, Dec 16, 2014 at 2:57 AM, Arnd Bergmann a...@arndb.de wrote: On Monday 15 December 2014 22:31:06 Suman Tripathi wrote: @@ -162,6 +206,16 @@ static int sdhci_arasan_probe(struct platform_device *pdev) goto clk_dis_ahb; } +#if defined(CONFIG_IOMMU_SUPPORT) + sdhci_arasan-domain = iommu_domain_alloc(amba_bustype); + if (!sdhci_arasan-domain) { + dev_err(pdev-dev, Unable to allocate iommu domain\n); + return PTR_ERR(sdhci_arasan-domain); + } + + iommu_attach_device(sdhci_arasan-domain, pdev-dev); +#endif + Device drivers should never care about the implementation details of the iommu. Please change the code to use the regular dma_map_* interfaces that will work both with and without IOMMU. Arnd -- Thanks, with regards, Suman Tripathi CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and contains information that is confidential and proprietary to Applied Micro Circuits Corporation or its subsidiaries. It is to be used solely for the purpose of furthering the parties' business relationship. All unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/2] mmc: host: arasan: Add addition of-arasan quirks and add IOMMU support.
On Tuesday 06 January 2015 17:10:29 Suman Tripathi wrote: Hi Arnd, On Monday 15 December 2014 22:31:06 Suman Tripathi wrote: @@ -162,6 +206,16 @@ static int sdhci_arasan_probe(struct platform_device *pdev) goto clk_dis_ahb; } +#if defined(CONFIG_IOMMU_SUPPORT) + sdhci_arasan-domain = iommu_domain_alloc(amba_bustype); + if (!sdhci_arasan-domain) { + dev_err(pdev-dev, Unable to allocate iommu domain\n); + return PTR_ERR(sdhci_arasan-domain); + } + + iommu_attach_device(sdhci_arasan-domain, pdev-dev); +#endif + Device drivers should never care about the implementation details of the iommu. Please change the code to use the regular dma_map_* interfaces that will work both with and without IOMMU. After refer to iommu binding , there is a service that allows Remap address space to allow devices to access physical memory ranges that they otherwise wouldn't be capable of accessing. eg : 32-bit to 64 bit DMA . So do we have any existing driver that uses this service ? Just asking for suggestions. The interface is completely transparent to device drivers, it is implemented as a separate 'struct dma_map_ops' that is normally architecture independent, and that handles all sorts of DMA remapping issues for the driver, including - address space limits - offsets between CPU and device addresses for the same memory - cache flushes - bus-level synchronization On arm32, we currently support six sets of dma_map_ops including two for IOMMU (coherent and noncoherent). On arm64, we currently always use swiotlb, which solves your problem by copying memory to bounce buffers. This is rather inefficient, and a new implementation is being worked on, based on the arm32 implementation to support IOMMUs in a generic way. Arnd ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/2] mmc: host: arasan: Add addition of-arasan quirks and add IOMMU support.
On Monday 15 December 2014 22:31:06 Suman Tripathi wrote: @@ -162,6 +206,16 @@ static int sdhci_arasan_probe(struct platform_device *pdev) goto clk_dis_ahb; } +#if defined(CONFIG_IOMMU_SUPPORT) + sdhci_arasan-domain = iommu_domain_alloc(amba_bustype); + if (!sdhci_arasan-domain) { + dev_err(pdev-dev, Unable to allocate iommu domain\n); + return PTR_ERR(sdhci_arasan-domain); + } + + iommu_attach_device(sdhci_arasan-domain, pdev-dev); +#endif + Device drivers should never care about the implementation details of the iommu. Please change the code to use the regular dma_map_* interfaces that will work both with and without IOMMU. Arnd ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev