diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-22 13:16:03 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-22 13:16:03 -0400 |
| commit | cff229491af5df946781edfbeafd43e9cf66a3b4 (patch) | |
| tree | dff787191eb78a69c054510a9ea74cc391330b73 /include/linux/device.h | |
| parent | 13775dacca5c158a257320f4b47e1220b82e3b21 (diff) | |
| parent | b9fd04262a8abc366f40a9e97598e94591352c26 (diff) | |
Merge tag 'dma-mapping-4.20' of git://git.infradead.org/users/hch/dma-mapping
Pull dma mapping updates from Christoph Hellwig:
"First batch of dma-mapping changes for 4.20.
There will be a second PR as some big changes were only applied just
before the end of the merge window, and I want to give them a few more
days in linux-next.
Summary:
- mostly more consolidation of the direct mapping code, including
converting over hexagon, and merging the coherent and non-coherent
code into a single dma_map_ops instance (me)
- cleanups for the dma_configure/dma_unconfigure callchains (me)
- better handling of dma_masks in odd setups (me, Alexander Duyck)
- better debugging of passing vmalloc address to the DMA API (Stephen
Boyd)
- CMA command line parsing fix (He Zhe)"
* tag 'dma-mapping-4.20' of git://git.infradead.org/users/hch/dma-mapping: (27 commits)
dma-direct: respect DMA_ATTR_NO_WARN
dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN
dma-direct: document the zone selection logic
dma-debug: Check for drivers mapping invalid addresses in dma_map_single()
dma-direct: fix return value of dma_direct_supported
dma-mapping: move dma_default_get_required_mask under ifdef
dma-direct: always allow dma mask <= physiscal memory size
dma-direct: implement complete bus_dma_mask handling
dma-direct: refine dma_direct_alloc zone selection
dma-direct: add an explicit dma_direct_get_required_mask
dma-mapping: make the get_required_mask method available unconditionally
unicore32: remove swiotlb support
Revert "dma-mapping: clear dev->dma_ops in arch_teardown_dma_ops"
dma-mapping: support non-coherent devices in dma_common_get_sgtable
dma-mapping: consolidate the dma mmap implementations
dma-mapping: merge direct and noncoherent ops
dma-mapping: move the dma_coherent flag to struct device
MIPS: don't select DMA_MAYBE_COHERENT from DMA_PERDEV_COHERENT
dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration
dma-mapping: fix panic caused by passing empty cma command line argument
...
Diffstat (limited to 'include/linux/device.h')
| -rw-r--r-- | include/linux/device.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 8f882549edee..983506789402 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -927,6 +927,8 @@ struct dev_links_info { | |||
| 927 | * @offline: Set after successful invocation of bus type's .offline(). | 927 | * @offline: Set after successful invocation of bus type's .offline(). |
| 928 | * @of_node_reused: Set if the device-tree node is shared with an ancestor | 928 | * @of_node_reused: Set if the device-tree node is shared with an ancestor |
| 929 | * device. | 929 | * device. |
| 930 | * @dma_coherent: this particular device is dma coherent, even if the | ||
| 931 | * architecture supports non-coherent devices. | ||
| 930 | * | 932 | * |
| 931 | * At the lowest level, every device in a Linux system is represented by an | 933 | * At the lowest level, every device in a Linux system is represented by an |
| 932 | * instance of struct device. The device structure contains the information | 934 | * instance of struct device. The device structure contains the information |
| @@ -1016,6 +1018,11 @@ struct device { | |||
| 1016 | bool offline_disabled:1; | 1018 | bool offline_disabled:1; |
| 1017 | bool offline:1; | 1019 | bool offline:1; |
| 1018 | bool of_node_reused:1; | 1020 | bool of_node_reused:1; |
| 1021 | #if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \ | ||
| 1022 | defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \ | ||
| 1023 | defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) | ||
| 1024 | bool dma_coherent:1; | ||
| 1025 | #endif | ||
| 1019 | }; | 1026 | }; |
| 1020 | 1027 | ||
| 1021 | static inline struct device *kobj_to_dev(struct kobject *kobj) | 1028 | static inline struct device *kobj_to_dev(struct kobject *kobj) |
