ipq60xx: add dma arm64 api patch

This commit is contained in:
lean 2022-09-13 15:19:06 +08:00
parent f66cf9d38c
commit 79d9040c5c
5 changed files with 96 additions and 5 deletions

View File

@ -7,9 +7,14 @@
curdir:=target
$(curdir)/subtargets:=install
$(curdir)/builddirs:=linux sdk imagebuilder toolchain
$(curdir)/builddirs:=linux sdk imagebuilder toolchain llvm-bpf
$(curdir)/builddirs-default:=linux
$(curdir)/builddirs-install:=linux $(if $(CONFIG_SDK),sdk) $(if $(CONFIG_IB),imagebuilder) $(if $(CONFIG_MAKE_TOOLCHAIN),toolchain)
$(curdir)/builddirs-install:=\
linux \
$(if $(CONFIG_SDK),sdk) \
$(if $(CONFIG_IB),imagebuilder) \
$(if $(CONFIG_MAKE_TOOLCHAIN),toolchain) \
$(if $(CONFIG_SDK_LLVM_BPF),llvm-bpf)
$(curdir)/sdk/install:=$(curdir)/linux/install
$(curdir)/imagebuilder/install:=$(curdir)/linux/install

View File

@ -0,0 +1,29 @@
From a2f32cec773113a9d0a80f0b20947da9bc29f3bd Mon Sep 17 00:00:00 2001
From: Simon Casey <simon501098c@gmail.com>
Date: Wed, 2 Feb 2022 20:17:21 +0100
Subject: [PATCH] Update
902-arm64-provide-dma-cache-routines-with-same-API-as-32.patch for kernel
5.15
---
arch/arm64/include/asm/cacheflush.h | 9 +++++++++
1 file changed, 9 insertions(+)
--- a/arch/arm64/include/asm/cacheflush.h
+++ b/arch/arm64/include/asm/cacheflush.h
@@ -110,6 +110,15 @@ static inline void flush_icache_range(un
extern void __dma_map_area(const void *, size_t, int);
extern void __dma_unmap_area(const void *, size_t, int);
extern void __dma_flush_area(const void *, size_t);
+extern void __dma_inv_area(const void *start, const void *end);
+extern void __dma_clean_area(const void *start, const void *end);
+
+#define dmac_flush_range(start, end) \
+ __dma_flush_area(start, (void *)(end) - (void *)(start))
+#define dmac_inv_range(start, end) \
+ __dma_inv_area(start, end)
+#define dmac_clean_range(start, end) \
+ __dma_clean_area(start, end)
/*
* Copy user data from/to a page which is mapped into a different

View File

@ -0,0 +1,56 @@
From 6fae2dc7f45d14b5341e9929b5c5fef60596ed4f Mon Sep 17 00:00:00 2001
From: Simon Casey <simon501098c@gmail.com>
Date: Wed, 2 Feb 2022 20:25:38 +0100
Subject: [PATCH] Update
903-arm64-mm-export-__dma_inv_area-and-__dma_clean_area.patch for kernel 5.15
---
arch/arm64/include/asm/cacheflush.h | 4 ++--
arch/arm64/mm/cache.S | 4 ++--
arch/arm64/mm/flush.c | 2 ++
3 files changed, 6 insertions(+), 4 deletions(-)
--- a/arch/arm64/include/asm/cacheflush.h
+++ b/arch/arm64/include/asm/cacheflush.h
@@ -110,8 +110,8 @@ static inline void flush_icache_range(un
extern void __dma_map_area(const void *, size_t, int);
extern void __dma_unmap_area(const void *, size_t, int);
extern void __dma_flush_area(const void *, size_t);
-extern void __dma_inv_area(const void *start, const void *end);
-extern void __dma_clean_area(const void *start, const void *end);
+extern void __dma_inv_area(const void *, const void *);
+extern void __dma_clean_area(const void *, const void *);
#define dmac_flush_range(start, end) \
__dma_flush_area(start, (void *)(end) - (void *)(start))
--- a/arch/arm64/mm/cache.S
+++ b/arch/arm64/mm/cache.S
@@ -140,7 +140,7 @@ SYM_FUNC_END(dcache_clean_pou)
* - start - kernel start address of region
* - end - kernel end address of region
*/
-SYM_FUNC_START_LOCAL(__dma_inv_area)
+SYM_FUNC_START(__dma_inv_area)
SYM_FUNC_START_PI(dcache_inval_poc)
/* FALLTHROUGH */
@@ -178,7 +178,7 @@ SYM_FUNC_END(__dma_inv_area)
* - start - virtual start address of region
* - end - virtual end address of region
*/
-SYM_FUNC_START_LOCAL(__dma_clean_area)
+SYM_FUNC_START(__dma_clean_area)
SYM_FUNC_START_PI(dcache_clean_poc)
/* FALLTHROUGH */
--- a/arch/arm64/mm/flush.c
+++ b/arch/arm64/mm/flush.c
@@ -77,6 +77,8 @@ EXPORT_SYMBOL(flush_dcache_page);
* Additional functions defined in assembly.
*/
EXPORT_SYMBOL(caches_clean_inval_pou);
+EXPORT_SYMBOL(__dma_inv_area);
+EXPORT_SYMBOL(__dma_clean_area);
#ifdef CONFIG_ARCH_HAS_PMEM_API
void arch_wb_cache_pmem(void *addr, size_t size)

View File

@ -163,7 +163,8 @@ $(curdir)/ := .config prereq
$(curdir)/install: $(curdir)/compile
tools_enabled = $(foreach tool,$(sort $(tools-y) $(tools-)),$(if $(filter $(tool),$(tools-y)),y,n))
tools_config = CONFIG_SDK_LLVM_BPF
tools_enabled = $(foreach tool,$(sort $(tools-y) $(tools-)),$(if $(filter $(tool),$(tools-y)),y,n))$(foreach c,$(tools_config),$(if $($(c)),y,n))
$(eval $(call stampfile,$(curdir),tools,compile,,_$(subst $(space),,$(tools_enabled)),$(STAGING_DIR_HOST)))
$(eval $(call stampfile,$(curdir),tools,check,$(TMP_DIR)/.build,,$(STAGING_DIR_HOST)))
$(eval $(call subdir,$(curdir)))

View File

@ -7,12 +7,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=llvm-project
PKG_VERSION:=13.0.0
PKG_VERSION:=14.0.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz
PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION)
PKG_HASH:=6075ad30f1ac0e15f07c1bf062c1e1268c241d674f11bd32cdf0e040c71f2bf3
PKG_HASH:=8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION).src