Message ID | 1415636045-24669-4-git-send-email-stefano.stabellini@eu.citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 10, 2014 at 04:13:56PM +0000, Stefano Stabellini wrote: > Introduce a boolean flag and an accessor function to check whether a > device is dma_coherent. Set the flag from set_arch_dma_coherent_ops. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> BTW, why do I sign off this patch? As long as it's you as author, I don't think you should add my sign-off.
On Mon, 10 Nov 2014, Catalin Marinas wrote: > On Mon, Nov 10, 2014 at 04:13:56PM +0000, Stefano Stabellini wrote: > > Introduce a boolean flag and an accessor function to check whether a > > device is dma_coherent. Set the flag from set_arch_dma_coherent_ops. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> > > BTW, why do I sign off this patch? As long as it's you as author, I > don't think you should add my sign-off. IANAL but as you wrote most of the code in the patch, I think that your Signed-off-by is required because the lines you wrote are under your copyright, not mine. TBH for such a small patch, it probably doesn't matter (there is a limit to what one can claim copyright on).
diff --git a/arch/arm64/include/asm/device.h b/arch/arm64/include/asm/device.h index cf98b36..243ef25 100644 --- a/arch/arm64/include/asm/device.h +++ b/arch/arm64/include/asm/device.h @@ -21,6 +21,7 @@ struct dev_archdata { #ifdef CONFIG_IOMMU_API void *iommu; /* private IOMMU data */ #endif + bool dma_coherent; }; struct pdev_archdata { diff --git a/arch/arm64/include/asm/dma-mapping.h b/arch/arm64/include/asm/dma-mapping.h index adeae3f..e213dc4 100644 --- a/arch/arm64/include/asm/dma-mapping.h +++ b/arch/arm64/include/asm/dma-mapping.h @@ -54,11 +54,17 @@ static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops) static inline int set_arch_dma_coherent_ops(struct device *dev) { + dev->archdata.dma_coherent = true; set_dma_ops(dev, &coherent_swiotlb_dma_ops); return 0; } #define set_arch_dma_coherent_ops set_arch_dma_coherent_ops +static inline bool is_device_dma_coherent(struct device *dev) +{ + return dev->archdata.dma_coherent; +} + #include <asm-generic/dma-mapping-common.h> static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)