aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/platform.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-12-06 15:25:54 -0500
committerChristoph Hellwig <hch@lst.de>2018-12-13 15:06:09 -0500
commit05887cb610a54bf568de7f0bc07c4a64e45ac6f9 (patch)
tree8850d8c8140123823a2dd6e373accf85b17313a0 /drivers/base/platform.c
parent7f0fee242e899f2eb42fd9e72bcfc3cb59aad1ce (diff)
dma-mapping: move dma_get_required_mask to kernel/dma
dma_get_required_mask should really be with the rest of the DMA mapping implementation instead of in drivers/base as a lone outlier. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Jesper Dangaard Brouer <brouer@redhat.com> Tested-by: Jesper Dangaard Brouer <brouer@redhat.com> Tested-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'drivers/base/platform.c')
-rw-r--r--drivers/base/platform.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 41b91af95afb..eae841935a45 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -1179,37 +1179,6 @@ int __init platform_bus_init(void)
1179 return error; 1179 return error;
1180} 1180}
1181 1181
1182#ifndef ARCH_HAS_DMA_GET_REQUIRED_MASK
1183static u64 dma_default_get_required_mask(struct device *dev)
1184{
1185 u32 low_totalram = ((max_pfn - 1) << PAGE_SHIFT);
1186 u32 high_totalram = ((max_pfn - 1) >> (32 - PAGE_SHIFT));
1187 u64 mask;
1188
1189 if (!high_totalram) {
1190 /* convert to mask just covering totalram */
1191 low_totalram = (1 << (fls(low_totalram) - 1));
1192 low_totalram += low_totalram - 1;
1193 mask = low_totalram;
1194 } else {
1195 high_totalram = (1 << (fls(high_totalram) - 1));
1196 high_totalram += high_totalram - 1;
1197 mask = (((u64)high_totalram) << 32) + 0xffffffff;
1198 }
1199 return mask;
1200}
1201
1202u64 dma_get_required_mask(struct device *dev)
1203{
1204 const struct dma_map_ops *ops = get_dma_ops(dev);
1205
1206 if (ops->get_required_mask)
1207 return ops->get_required_mask(dev);
1208 return dma_default_get_required_mask(dev);
1209}
1210EXPORT_SYMBOL_GPL(dma_get_required_mask);
1211#endif
1212
1213static __initdata LIST_HEAD(early_platform_driver_list); 1182static __initdata LIST_HEAD(early_platform_driver_list);
1214static __initdata LIST_HEAD(early_platform_device_list); 1183static __initdata LIST_HEAD(early_platform_device_list);
1215 1184