hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/sh/boards/mach-se/7724/setup.c
....@@ -32,6 +32,7 @@
3232 #include <linux/smc91x.h>
3333 #include <linux/usb/r8a66597.h>
3434 #include <linux/videodev2.h>
35
+#include <linux/dma-map-ops.h>
3536
3637 #include <mach-se/mach/se7724.h>
3738 #include <media/drv-intf/renesas-ceu.h>
....@@ -937,21 +938,15 @@
937938
938939 /* Initialize CEU platform devices separately to map memory first */
939940 device_initialize(&ms7724se_ceu_devices[0]->dev);
940
- arch_setup_pdev_archdata(ms7724se_ceu_devices[0]);
941941 dma_declare_coherent_memory(&ms7724se_ceu_devices[0]->dev,
942942 ceu0_dma_membase, ceu0_dma_membase,
943
- ceu0_dma_membase +
944
- CEU_BUFFER_MEMORY_SIZE - 1,
945
- DMA_MEMORY_EXCLUSIVE);
943
+ CEU_BUFFER_MEMORY_SIZE);
946944 platform_device_add(ms7724se_ceu_devices[0]);
947945
948946 device_initialize(&ms7724se_ceu_devices[1]->dev);
949
- arch_setup_pdev_archdata(ms7724se_ceu_devices[1]);
950947 dma_declare_coherent_memory(&ms7724se_ceu_devices[1]->dev,
951948 ceu1_dma_membase, ceu1_dma_membase,
952
- ceu1_dma_membase +
953
- CEU_BUFFER_MEMORY_SIZE - 1,
954
- DMA_MEMORY_EXCLUSIVE);
949
+ CEU_BUFFER_MEMORY_SIZE);
955950 platform_device_add(ms7724se_ceu_devices[1]);
956951
957952 return platform_add_devices(ms7724se_devices,
....@@ -965,12 +960,18 @@
965960 phys_addr_t phys;
966961 phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;
967962
968
- phys = memblock_alloc_base(size, PAGE_SIZE, MEMBLOCK_ALLOC_ANYWHERE);
963
+ phys = memblock_phys_alloc(size, PAGE_SIZE);
964
+ if (!phys)
965
+ panic("Failed to allocate CEU0 memory\n");
966
+
969967 memblock_free(phys, size);
970968 memblock_remove(phys, size);
971969 ceu0_dma_membase = phys;
972970
973
- phys = memblock_alloc_base(size, PAGE_SIZE, MEMBLOCK_ALLOC_ANYWHERE);
971
+ phys = memblock_phys_alloc(size, PAGE_SIZE);
972
+ if (!phys)
973
+ panic("Failed to allocate CEU1 memory\n");
974
+
974975 memblock_free(phys, size);
975976 memblock_remove(phys, size);
976977 ceu1_dma_membase = phys;