The patch titled dma-mapping: dma-mapping.h: add dma_set_coherent_mask has been added to the -mm tree. Its filename is dma-mapping-dma-mappingh-add-dma_set_coherent_mask.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 *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: dma-mapping: dma-mapping.h: add dma_set_coherent_mask From: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> dma_set_coherent_mask corresponds to pci_set_consistent_dma_mask. This is necessary to move to the generic device model DMA API from the PCI bus specific API in the long term. dma_set_coherent_mask works in the exact same way that pci_set_consistent_dma_mask does. So this patch also changes pci_set_consistent_dma_mask to call dma_set_coherent_mask. Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: Kay Sievers <kay.sievers@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/DMA-API.txt | 10 ++++++++++ drivers/pci/pci.c | 7 +++---- include/linux/dma-mapping.h | 8 ++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff -puN Documentation/DMA-API.txt~dma-mapping-dma-mappingh-add-dma_set_coherent_mask Documentation/DMA-API.txt --- a/Documentation/DMA-API.txt~dma-mapping-dma-mappingh-add-dma_set_coherent_mask +++ a/Documentation/DMA-API.txt @@ -167,6 +167,16 @@ parameters if it is. Returns: 0 if successful and a negative error if not. +int +dma_set_coherent_mask(struct device *dev, u64 mask) +int +pci_set_consistent_dma_mask(struct pci_device *dev, u64 mask) + +Checks to see if the mask is possible and updates the device +parameters if it is. + +Returns: 0 if successful and a negative error if not. + u64 dma_get_required_mask(struct device *dev) diff -puN drivers/pci/pci.c~dma-mapping-dma-mappingh-add-dma_set_coherent_mask drivers/pci/pci.c --- a/drivers/pci/pci.c~dma-mapping-dma-mappingh-add-dma_set_coherent_mask +++ a/drivers/pci/pci.c @@ -2271,12 +2271,11 @@ pci_set_dma_mask(struct pci_dev *dev, u6 int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) { - if (!pci_dma_supported(dev, mask)) - return -EIO; + int ret = dma_set_coherent_mask(&dev->dev, mask); + if (ret) + return ret; - dev->dev.coherent_dma_mask = mask; dev_dbg(&dev->dev, "using %dbit consistent DMA mask\n", fls64(mask)); - return 0; } #endif diff -puN include/linux/dma-mapping.h~dma-mapping-dma-mappingh-add-dma_set_coherent_mask include/linux/dma-mapping.h --- a/include/linux/dma-mapping.h~dma-mapping-dma-mappingh-add-dma_set_coherent_mask +++ a/include/linux/dma-mapping.h @@ -127,6 +127,14 @@ static inline u64 dma_get_mask(struct de return DMA_BIT_MASK(32); } +static inline int dma_set_coherent_mask(struct device *dev, u64 mask) +{ + if (!dma_supported(dev, mask)) + return -EIO; + dev->coherent_dma_mask = mask; + return 0; +} + extern u64 dma_get_required_mask(struct device *dev); static inline unsigned int dma_get_max_seg_size(struct device *dev) _ Patches currently in -mm which might be from fujita.tomonori@xxxxxxxxxxxxx are origin.patch linux-next.patch scsi-add-__init-__exit-macros-to-ibmvstgtc.patch frv-remove-pci_dma_sync_single-and-pci_dma_sync_sg.patch documentation-dma-apitxt-remove-deprecated-function-descriptions.patch dma-apitxt-add-dma_sync_single-sg-api-description.patch dma-apitxt-remove-dma_sync_single_range-description.patch alpha-remove-dma_sync_single_range.patch um-remove-dma_sync_single_range.patch pci-dma-add-include-linux-pci-dmah.patch pci-dma-x86-use-include-linux-pci-dmah.patch pci-dma-alpha-use-include-linux-pci-dmah.patch pci-dma-arm-use-include-linux-pci-dmah.patch pci-dma-frv-use-include-linux-pci-dmah.patch pci-dma-ia64-use-include-linux-pci-dmah.patch pci-dma-mips-use-include-linux-pci-dmah.patch pci-dma-parisc-use-include-linux-pci-dmah.patch pci-dma-powerpc-use-include-linux-pci-dmah.patch pci-dma-sh-use-include-linux-pci-dmah.patch pci-dma-sparc-use-include-linux-pci-dmah.patch pci-dma-xtensa-use-include-linux-pci-dmah.patch pci-dma-cris-use-include-linux-pci-dmah.patch pci-dma-add-linux-pci-dmah-to-linux-pcih.patch dma-mappingh-add-the-dma_unmap-state-api.patch frv-remove-the-obsolete-and-unnecessary-dma-api-comments.patch blackfin-remove-the-obsolete-and-unnecessary-dma-api-comments.patch mn10300-remove-the-obsolete-and-unnecessary-dma-api-comments.patch dma-mapping-sparc-unify-32bit-and-64bit-dma_set_mask.patch dma-mapping-alpha-use-include-linux-pci-dma-compath.patch dma-mapping-pci-convert-pci_set_dma_mask-to-call-dma_set_mask.patch dma-mapping-dma-mappingh-add-dma_set_coherent_mask.patch dma-mapping-powerpc-use-generic-pci_set_dma_mask-and-pci_set_consistent_dma_mask.patch dma-mapping-arm-use-generic-pci_set_dma_mask-and-pci_set_consistent_dma_mask.patch dma-mapping-pci-move-pci_set_dma_mask-and-pci_set_consistent_dma_mask-to-pci-dma-compath.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