For the HW-QoS configuration, some userspace tool would be needed. Rummaging through the network I found the following:
Mediatek DocumentXilinx QDMA Driver
but Xilinx driver unfortunately fails to compile due to an error:
from /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/cdev.c:22:
/opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/cdev.c: In function ‘qdma_cdev_create’:
./include/linux/kern_levels.h:5:18: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Werror=format=]
#define KERN_SOH “\001” /* ASCII Start Of Header /
./include/linux/kern_levels.h:14:19: note: in expansion of macro ‘KERN_SOH’
#define KERN_INFO KERN_SOH “6” / informational */
./include/linux/printk.h:313:9: note: in expansion of macro ‘KERN_INFO’
printk(KERN_INFO pr_fmt(fmt), ##VA_ARGS)
/opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/cdev.c:621:3: note: in expansion of macro ‘pr_info’
pr_info("%s OOM %lu.\n", qconf->name, sizeof(struct qdma_cdev));
/opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/cdev.c:623:38: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Werror=format=]
rv = sprintf(ebuf, “%s cdev OOM %lu.\n”,
~~^
%u
cc1: all warnings being treated as errors
now, after a few corrections similar to the previous one, I have an error:
from /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/libqdma/qdma_st_c2h.c:22:
./arch/armv7l/include/asm/spinlock_types.h:13:3: error: unknown type name ‘u32’
u32 slock;
./arch/armv7l/include/asm/spinlock_types.h:19:4: error: unknown type name ‘u16’
u16 owner;
./arch/armv7l/include/asm/spinlock_types.h:20:4: error: unknown type name ‘u16’
u16 next;
./arch/armv7l/include/asm/spinlock_types.h:29:2: error: unknown type name ‘u32’
u32 lock;
make[3]: *** [scripts/Makefile.build:327: /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/libqdma/qdma_st_c2h.o] Error 1
Kernel: Frank-FW 4.14.149.
Gentoo.
Compile natively on BPI-R2.
GCC-8.3.0-R1,
glibc-2.29-r2.
CC [M] /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/libqdma/qdma_st_c2h.o
In file included from ./include/linux/spinlock_types.h:13:0,
from /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/libqdma/qdma_descq.h:27,
from /opt/QDMA/dma_ip_drivers/QDMA/linux-kernel/drv/libqdma/qdma_st_c2h.c:22:
./arch/armv7l/include/asm/spinlock_types.h:13:3: error: unknown type name ‘u32’
u32 slock;
./arch/armv7l/include/asm/spinlock_types.h:19:4: error: unknown type name ‘u16’
u16 owner;
./arch/armv7l/include/asm/spinlock_types.h:20:4: error: unknown type name ‘u16’
u16 next;
./arch/armv7l/include/asm/spinlock_types.h:29:2: error: unknown type name ‘u32’
u32 lock;
tried crosscompiling it, but it looks like it compiles my kernel again…
git clone https://github.com/Xilinx/dma_ip_drivers.git
cd dma_ip_drivers/QDMA/linux-kernel/
make KDIR=/media/data_fast/bpi/kernel/BPI-R2-4.14 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
i see dmactl is compiled, but mod_pf failed…maybe because i tried with 5.4-rc4