主题 : 求助!更新rknpu驱动0.9.8时报错!内核是6.1.57 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 150254
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2024-11-15
最后登录: 2025-02-14
楼主  发表于: 2024-11-15 03:58

 求助!更新rknpu驱动0.9.8时报错!内核是6.1.57

CALL scripts/checksyscalls.sh
fatal: not a git repository (or any of the parent directories): .git
CHK kernel/kheaders_data.tar.xz
CC [M] drivers/rknpu/rknpu_drv.o
CC [M] drivers/rknpu/rknpu_job.o
CC [M] drivers/rknpu/rknpu_iommu.o
CC [M] drivers/rknpu/rknpu_gem.o
LD [M] drivers/rknpu/rknpu.o
AR built-in.a
AR vmlinux.a
LD vmlinux.o
OBJCOPY modules.builtin.modinfo
GEN modules.builtin
GEN .vmlinux.objs
MODPOST Module.symvers
ERROR: modpost: "dcache_clean_poc" [drivers/rknpu/rknpu.ko] undefined!
ERROR: modpost: "dcache_inval_poc" [drivers/rknpu/rknpu.ko] undefined!
ERROR: modpost: "iommu_get_dma_cookie" [drivers/rknpu/rknpu.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:186: Module.symvers] Error 1
make: *** [Makefile:2009: modpost] Error 2

应该要怎么开启dcache_clean_poc dcache_inval_poc iommu_get_dma_cookie这三个函数功能呢?

板子是cm3588plus
操作系统镜像是rk3588-usb-debian-bookworm-core-6.1-arm64-20240818
需要更新的rknpu的驱动是v1.1.0,应该是最新版本。地址如下
https://github.com/airockchip/rknn-llm/tree/main/rknpu-driver
[ 此帖被quhan在2024-11-25 07:20重新编辑 ]
级别: 新手上路
UID: 150254
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2024-11-15
最后登录: 2025-02-14
1楼  发表于: 2024-11-25 05:50
+rknpu_iommu.c:420
#if KERNEL_VERSION(5, 10, 0) < LINUX_VERSION_CODE
    typedef int (*my_function_st_t)(struct iommu_domain *domain);
    my_function_st_t iommu_get_dma_cookie=(my_function_st_t)0xffffffc008901190;
#endif

+rknpu_gem.c:1538
+rknpu_gem.c:1597
#if KERNEL_VERSION(6, 1, 0) <= LINUX_VERSION_CODE
    typedef void (*my_function_ulul_t)(unsigned long,unsigned long);
    my_function_ulul_t dcache_clean_poc=(my_function_ulul_t)0xffffffc00802f88c;
    my_function_ulul_t dcache_inval_poc=(my_function_ulul_t)0xffffffc00802f834;
#endif
viz
级别: 新手上路
UID: 150289
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2024-11-26
最后登录: 2024-11-27
2楼  发表于: 2024-11-26 23:29
我也踩坑了,别编译成模块,builtin 就行了

看我刚弄好的

复制代码
  1. root@CM3588-Plus:/home/pi# uname -a
  2. Linux CM3588-Plus 6.1.57 #3 SMP Tue Nov 26 15:21:26 UTC 2024 aarch64 GNU/Linux
  3. root@CM3588-Plus:/home/pi# cat /sys/kernel/debug/rknpu/version
  4. RKNPU driver: v0.9.8
viz
级别: 新手上路
UID: 150289
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2024-11-26
最后登录: 2024-11-27
3楼  发表于: 2024-11-27 00:37
量化了个 Qwen2.5 的 0.5B 模型试了下,除了 chat 模板不对导致生成不容易停止外还是挺不错的。每秒大概 20 tokens
级别: 新手上路
UID: 150398
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2024-12-22
最后登录: 2024-12-22
4楼  发表于: 2024-12-22 10:53

 回 2楼(viz) 的帖子

大佬,怎么解决的?我用的是cm3588的板子。