The patch titled Subject: iommu: dma-mapping: use unsigned long for dma_attrs has been added to the -mm tree. Its filename is iommu-dma-mapping-use-unsigned-long-for-dma_attrs.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/iommu-dma-mapping-use-unsigned-long-for-dma_attrs.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/iommu-dma-mapping-use-unsigned-long-for-dma_attrs.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Subject: iommu: dma-mapping: use unsigned long for dma_attrs Split out subsystem specific changes for easier reviews. This will be squashed with main commit. Link: http://lkml.kernel.org/r/1468399300-5399-18-git-send-email-k.kozlowski@xxxxxxxxxxx Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Joerg Roedel <jroedel@xxxxxxx> [iommu] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/iommu/amd_iommu.c | 12 ++++++------ drivers/iommu/dma-iommu.c | 6 +++--- include/linux/dma-iommu.h | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff -puN drivers/iommu/amd_iommu.c~iommu-dma-mapping-use-unsigned-long-for-dma_attrs drivers/iommu/amd_iommu.c --- a/drivers/iommu/amd_iommu.c~iommu-dma-mapping-use-unsigned-long-for-dma_attrs +++ a/drivers/iommu/amd_iommu.c @@ -2717,7 +2717,7 @@ static void __unmap_single(struct dma_op static dma_addr_t map_page(struct device *dev, struct page *page, unsigned long offset, size_t size, enum dma_data_direction dir, - struct dma_attrs *attrs) + unsigned long attrs) { phys_addr_t paddr = page_to_phys(page) + offset; struct protection_domain *domain; @@ -2739,7 +2739,7 @@ static dma_addr_t map_page(struct device * The exported unmap_single function for dma_ops. */ static void unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size, - enum dma_data_direction dir, struct dma_attrs *attrs) + enum dma_data_direction dir, unsigned long attrs) { struct protection_domain *domain; @@ -2756,7 +2756,7 @@ static void unmap_page(struct device *de */ static int map_sg(struct device *dev, struct scatterlist *sglist, int nelems, enum dma_data_direction dir, - struct dma_attrs *attrs) + unsigned long attrs) { struct protection_domain *domain; int i; @@ -2804,7 +2804,7 @@ unmap: */ static void unmap_sg(struct device *dev, struct scatterlist *sglist, int nelems, enum dma_data_direction dir, - struct dma_attrs *attrs) + unsigned long attrs) { struct protection_domain *domain; struct scatterlist *s; @@ -2826,7 +2826,7 @@ static void unmap_sg(struct device *dev, */ static void *alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_addr, gfp_t flag, - struct dma_attrs *attrs) + unsigned long attrs) { u64 dma_mask = dev->coherent_dma_mask; struct protection_domain *domain; @@ -2880,7 +2880,7 @@ out_free: */ static void free_coherent(struct device *dev, size_t size, void *virt_addr, dma_addr_t dma_addr, - struct dma_attrs *attrs) + unsigned long attrs) { struct protection_domain *domain; struct page *page; diff -puN drivers/iommu/dma-iommu.c~iommu-dma-mapping-use-unsigned-long-for-dma_attrs drivers/iommu/dma-iommu.c --- a/drivers/iommu/dma-iommu.c~iommu-dma-mapping-use-unsigned-long-for-dma_attrs +++ a/drivers/iommu/dma-iommu.c @@ -286,7 +286,7 @@ void iommu_dma_free(struct device *dev, * or NULL on failure. */ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp, - struct dma_attrs *attrs, int prot, dma_addr_t *handle, + unsigned long attrs, int prot, dma_addr_t *handle, void (*flush_page)(struct device *, const void *, phys_addr_t)) { struct iommu_domain *domain = iommu_get_domain_for_dev(dev); @@ -400,7 +400,7 @@ dma_addr_t iommu_dma_map_page(struct dev } void iommu_dma_unmap_page(struct device *dev, dma_addr_t handle, size_t size, - enum dma_data_direction dir, struct dma_attrs *attrs) + enum dma_data_direction dir, unsigned long attrs) { __iommu_dma_unmap(iommu_get_domain_for_dev(dev), handle); } @@ -560,7 +560,7 @@ out_restore_sg: } void iommu_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, - enum dma_data_direction dir, struct dma_attrs *attrs) + enum dma_data_direction dir, unsigned long attrs) { /* * The scatterlist segments are mapped into a single diff -puN include/linux/dma-iommu.h~iommu-dma-mapping-use-unsigned-long-for-dma_attrs include/linux/dma-iommu.h --- a/include/linux/dma-iommu.h~iommu-dma-mapping-use-unsigned-long-for-dma_attrs +++ a/include/linux/dma-iommu.h @@ -39,7 +39,7 @@ int dma_direction_to_prot(enum dma_data_ * the arch code to take care of attributes and cache maintenance */ struct page **iommu_dma_alloc(struct device *dev, size_t size, gfp_t gfp, - struct dma_attrs *attrs, int prot, dma_addr_t *handle, + unsigned long attrs, int prot, dma_addr_t *handle, void (*flush_page)(struct device *, const void *, phys_addr_t)); void iommu_dma_free(struct device *dev, struct page **pages, size_t size, dma_addr_t *handle); @@ -56,9 +56,9 @@ int iommu_dma_map_sg(struct device *dev, * directly as DMA mapping callbacks for simplicity */ void iommu_dma_unmap_page(struct device *dev, dma_addr_t handle, size_t size, - enum dma_data_direction dir, struct dma_attrs *attrs); + enum dma_data_direction dir, unsigned long attrs); void iommu_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, - enum dma_data_direction dir, struct dma_attrs *attrs); + enum dma_data_direction dir, unsigned long attrs); int iommu_dma_supported(struct device *dev, u64 mask); int iommu_dma_mapping_error(struct device *dev, dma_addr_t dma_addr); _ Patches currently in -mm which might be from k.kozlowski@xxxxxxxxxxx are media-mtk-vcodec-remove-unused-dma_attrs.patch dma-mapping-use-unsigned-long-for-dma_attrs.patch alpha-dma-mapping-use-unsigned-long-for-dma_attrs.patch arc-dma-mapping-use-unsigned-long-for-dma_attrs.patch arm-dma-mapping-use-unsigned-long-for-dma_attrs.patch arm64-dma-mapping-use-unsigned-long-for-dma_attrs.patch avr32-dma-mapping-use-unsigned-long-for-dma_attrs.patch blackfin-dma-mapping-use-unsigned-long-for-dma_attrs.patch c6x-dma-mapping-use-unsigned-long-for-dma_attrs.patch cris-dma-mapping-use-unsigned-long-for-dma_attrs.patch frv-dma-mapping-use-unsigned-long-for-dma_attrs.patch drm-exynos-dma-mapping-use-unsigned-long-for-dma_attrs.patch drm-mediatek-dma-mapping-use-unsigned-long-for-dma_attrs.patch drm-msm-dma-mapping-use-unsigned-long-for-dma_attrs.patch drm-nouveau-dma-mapping-use-unsigned-long-for-dma_attrs.patch drm-rockship-dma-mapping-use-unsigned-long-for-dma_attrs.patch infiniband-dma-mapping-use-unsigned-long-for-dma_attrs.patch iommu-dma-mapping-use-unsigned-long-for-dma_attrs.patch media-dma-mapping-use-unsigned-long-for-dma_attrs.patch xen-dma-mapping-use-unsigned-long-for-dma_attrs.patch swiotlb-dma-mapping-use-unsigned-long-for-dma_attrs.patch powerpc-dma-mapping-use-unsigned-long-for-dma_attrs.patch video-dma-mapping-use-unsigned-long-for-dma_attrs.patch x86-dma-mapping-use-unsigned-long-for-dma_attrs.patch iommu-intel-dma-mapping-use-unsigned-long-for-dma_attrs.patch h8300-dma-mapping-use-unsigned-long-for-dma_attrs.patch hexagon-dma-mapping-use-unsigned-long-for-dma_attrs.patch ia64-dma-mapping-use-unsigned-long-for-dma_attrs.patch m68k-dma-mapping-use-unsigned-long-for-dma_attrs.patch metag-dma-mapping-use-unsigned-long-for-dma_attrs.patch microblaze-dma-mapping-use-unsigned-long-for-dma_attrs.patch mips-dma-mapping-use-unsigned-long-for-dma_attrs.patch mn10300-dma-mapping-use-unsigned-long-for-dma_attrs.patch nios2-dma-mapping-use-unsigned-long-for-dma_attrs.patch openrisc-dma-mapping-use-unsigned-long-for-dma_attrs.patch parisc-dma-mapping-use-unsigned-long-for-dma_attrs.patch misc-mic-dma-mapping-use-unsigned-long-for-dma_attrs.patch s390-dma-mapping-use-unsigned-long-for-dma_attrs.patch sh-dma-mapping-use-unsigned-long-for-dma_attrs.patch sparc-dma-mapping-use-unsigned-long-for-dma_attrs.patch tile-dma-mapping-use-unsigned-long-for-dma_attrs.patch unicore32-dma-mapping-use-unsigned-long-for-dma_attrs.patch xtensa-dma-mapping-use-unsigned-long-for-dma_attrs.patch remoteproc-qcom-use-unsigned-long-for-dma_attrs.patch dma-mapping-remove-dma_get_attr.patch dma-mapping-document-the-dma-attributes-next-to-the-declaration.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html