mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
100 lines
3.4 KiB
Diff
100 lines
3.4 KiB
Diff
From 2096cda971fed28cbc822d8c7d489bf85af22f34 Mon Sep 17 00:00:00 2001
|
|
From: Dan Pasanen <dan.pasanen@gmail.com>
|
|
Date: Thu, 21 Sep 2017 09:55:42 -0500
|
|
Subject: [PATCH] arm: partially revert
|
|
702b94bff3c50542a6e4ab9a4f4cef093262fe65
|
|
|
|
* Re-expose some dmi APIs for use in VCSM
|
|
---
|
|
arch/arm/include/asm/cacheflush.h | 21 +++++++++++++++++++++
|
|
arch/arm/include/asm/glue-cache.h | 2 ++
|
|
arch/arm/mm/proc-macros.S | 2 ++
|
|
arch/arm/mm/proc-syms.c | 3 +++
|
|
4 files changed, 28 insertions(+)
|
|
|
|
--- a/arch/arm/include/asm/cacheflush.h
|
|
+++ b/arch/arm/include/asm/cacheflush.h
|
|
@@ -94,6 +94,21 @@
|
|
* DMA Cache Coherency
|
|
* ===================
|
|
*
|
|
+ * dma_inv_range(start, end)
|
|
+ *
|
|
+ * Invalidate (discard) the specified virtual address range.
|
|
+ * May not write back any entries. If 'start' or 'end'
|
|
+ * are not cache line aligned, those lines must be written
|
|
+ * back.
|
|
+ * - start - virtual start address
|
|
+ * - end - virtual end address
|
|
+ *
|
|
+ * dma_clean_range(start, end)
|
|
+ *
|
|
+ * Clean (write back) the specified virtual address range.
|
|
+ * - start - virtual start address
|
|
+ * - end - virtual end address
|
|
+ *
|
|
* dma_flush_range(start, end)
|
|
*
|
|
* Clean and invalidate the specified virtual address range.
|
|
@@ -115,6 +130,8 @@ struct cpu_cache_fns {
|
|
void (*dma_map_area)(const void *, size_t, int);
|
|
void (*dma_unmap_area)(const void *, size_t, int);
|
|
|
|
+ void (*dma_inv_range)(const void *, const void *);
|
|
+ void (*dma_clean_range)(const void *, const void *);
|
|
void (*dma_flush_range)(const void *, const void *);
|
|
} __no_randomize_layout;
|
|
|
|
@@ -140,6 +157,8 @@ extern struct cpu_cache_fns cpu_cache;
|
|
* is visible to DMA, or data written by DMA to system memory is
|
|
* visible to the CPU.
|
|
*/
|
|
+#define dmac_inv_range cpu_cache.dma_inv_range
|
|
+#define dmac_clean_range cpu_cache.dma_clean_range
|
|
#define dmac_flush_range cpu_cache.dma_flush_range
|
|
|
|
#else
|
|
@@ -159,6 +178,8 @@ extern void __cpuc_flush_dcache_area(voi
|
|
* is visible to DMA, or data written by DMA to system memory is
|
|
* visible to the CPU.
|
|
*/
|
|
+extern void dmac_inv_range(const void *, const void *);
|
|
+extern void dmac_clean_range(const void *, const void *);
|
|
extern void dmac_flush_range(const void *, const void *);
|
|
|
|
#endif
|
|
--- a/arch/arm/include/asm/glue-cache.h
|
|
+++ b/arch/arm/include/asm/glue-cache.h
|
|
@@ -158,6 +158,8 @@ static inline void nop_dma_unmap_area(co
|
|
#define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range)
|
|
#define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area)
|
|
|
|
+#define dmac_inv_range __glue(_CACHE,_dma_inv_range)
|
|
+#define dmac_clean_range __glue(_CACHE,_dma_clean_range)
|
|
#define dmac_flush_range __glue(_CACHE,_dma_flush_range)
|
|
#endif
|
|
|
|
--- a/arch/arm/mm/proc-macros.S
|
|
+++ b/arch/arm/mm/proc-macros.S
|
|
@@ -335,6 +335,8 @@ ENTRY(\name\()_cache_fns)
|
|
.long \name\()_flush_kern_dcache_area
|
|
.long \name\()_dma_map_area
|
|
.long \name\()_dma_unmap_area
|
|
+ .long \name\()_dma_inv_range
|
|
+ .long \name\()_dma_clean_range
|
|
.long \name\()_dma_flush_range
|
|
.size \name\()_cache_fns, . - \name\()_cache_fns
|
|
.endm
|
|
--- a/arch/arm/mm/proc-syms.c
|
|
+++ b/arch/arm/mm/proc-syms.c
|
|
@@ -30,6 +30,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all);
|
|
EXPORT_SYMBOL(__cpuc_flush_user_range);
|
|
EXPORT_SYMBOL(__cpuc_coherent_kern_range);
|
|
EXPORT_SYMBOL(__cpuc_flush_dcache_area);
|
|
+EXPORT_SYMBOL(dmac_inv_range);
|
|
+EXPORT_SYMBOL(dmac_clean_range);
|
|
+EXPORT_SYMBOL(dmac_flush_range);
|
|
#else
|
|
EXPORT_SYMBOL(cpu_cache);
|
|
#endif
|