Hi,
I have been upgrading the Arrow SoCkit (Cyclone V SoC) and OpenCL driver to linux version 5.4.84 from github.com/altera-opensource/linux-socfpga.git from linux version 4.4.130. I am using GHRD 19.1 and the latest version of altera-opensource/u-boot-socfpga When I try to insert the OpenCL driver with insmod aclsoc_drv.ko I get the following error:
[ 3269.158312] aclsoc_drv: loading out-of-tree module taints kernel.
insmod: ERROR: could not insert module aclsoc_drv.ko: No such device
I have traced this error back to a return value of -19 from platform_driver_probe(), anything but a return value of 0 indicates a fault. Arrow have provided me with an OpenCL driver updated to v5.3 of the kernel so I have a high level of confidence in the driver. I have compared the /sys/bus/platform/devices/ folder of v4.4.130 and v5.4.84 and I have found that they are different even though the device tree sources and overlay are the same. I have noticed strange behaviour in the device trees, for example, the INTC controller has the same code in both device trees but only appears in devices in v4.4.130. In v4.4.130 I have /dev/acl0 and /dev/fpga0 but neither are present in v5.4.84.
Any help with getting the OpenCL driver working on v5.4.84 of linux would be greatly appreciated.
The difference in /sys/bus/platform/devices/ folders are as follows:
v4.4.130
lrwxrwxrwx 1 root root 36 Mar 26 14:01 alarmtimer -> …/…/…/devices/platform/alarmtimer
lrwxrwxrwx 1 root root 29 Mar 26 14:01 amba.1 -> …/…/…/devices/soc.0/amba.1
lrwxrwxrwx 1 root root 30 Mar 26 14:01 arm-pmu -> …/…/…/devices/soc.0/arm-pmu
lrwxrwxrwx 1 root root 40 Mar 26 14:01 ff702000.ethernet -> …/…/…/devices/soc.0/ff702000.ethernet
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ff704000.dwmmc0 -> …/…/…/devices/soc.0/ff704000.dwmmc0
lrwxrwxrwx 1 root root 35 Mar 26 14:01 ff705000.spi -> …/…/…/devices/soc.0/ff705000.spi
lrwxrwxrwx 1 root root 39 Mar 26 14:01 ff706000.fpgamgr -> …/…/…/devices/soc.0/ff706000.fpgamgr
lrwxrwxrwx 1 root root 36 Mar 26 14:01 ff708000.gpio -> …/…/…/devices/soc.0/ff708000.gpio
lrwxrwxrwx 1 root root 36 Mar 26 14:01 ff709000.gpio -> …/…/…/devices/soc.0/ff709000.gpio
lrwxrwxrwx 1 root root 36 Mar 26 14:01 ff70a000.gpio -> …/…/…/devices/soc.0/ff70a000.gpio
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ff800000.l3regs -> …/…/…/devices/soc.0/ff800000.l3regs
lrwxrwxrwx 1 root root 39 Mar 26 14:01 ffc02000.serial0 -> …/…/…/devices/soc.0/ffc02000.serial0
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffc08000.timer0 -> …/…/…/devices/soc.0/ffc08000.timer0
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffc09000.timer1 -> …/…/…/devices/soc.0/ffc09000.timer1
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffc25000.sdrctl -> …/…/…/devices/soc.0/ffc25000.sdrctl
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd00000.timer2 -> …/…/…/devices/soc.0/ffd00000.timer2
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd01000.timer3 -> …/…/…/devices/soc.0/ffd01000.timer3
lrwxrwxrwx 1 root root 34 Mar 26 14:01 ffd02000.wd -> …/…/…/devices/soc.0/ffd02000.wd
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd04000.clkmgr -> …/…/…/devices/soc.0/ffd04000.clkmgr
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd05000.rstmgr -> …/…/…/devices/soc.0/ffd05000.rstmgr
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd08000.sysmgr -> …/…/…/devices/soc.0/ffd08000.sysmgr
lrwxrwxrwx 1 root root 38 Mar 26 14:01 ffd08140.l2edac -> …/…/…/devices/soc.0/ffd08140.l2edac
lrwxrwxrwx 1 root root 41 Mar 26 14:01 ffd08144.ocramedac -> …/…/…/devices/soc.0/ffd08144.ocramedac
lrwxrwxrwx 1 root root 37 Mar 26 14:01 fffec600.timer -> …/…/…/devices/soc.0/fffec600.timer
lrwxrwxrwx 1 root root 30 Mar 26 14:01 fffed000.intc -> …/…/…/devices/fffed000.intc
lrwxrwxrwx 1 root root 40 Mar 26 14:01 fffef000.l2-cache -> …/…/…/devices/soc.0/fffef000.l2-cache
lrwxrwxrwx 1 root root 36 Mar 26 14:01 ffff0000.sram -> …/…/…/devices/soc.0/ffff0000.sram
lrwxrwxrwx 1 root root 35 Mar 26 14:01 fpgabridge.2 -> …/…/…/devices/soc.0/fpgabridge.2
lrwxrwxrwx 1 root root 35 Mar 26 14:01 fpgabridge.3 -> …/…/…/devices/soc.0/fpgabridge.3
lrwxrwxrwx 1 root root 35 Mar 26 14:01 fpgabridge.4 -> …/…/…/devices/soc.0/fpgabridge.4
lrwxrwxrwx 1 root root 29 Mar 26 14:01 leds.6 -> …/…/…/devices/soc.0/leds.6
lrwxrwxrwx 1 root root 41 Mar 26 14:01 oprofile-perf.0 -> …/…/…/devices/platform/oprofile-perf.0
lrwxrwxrwx 1 root root 34 Mar 26 14:01 sdramedac.5 -> …/…/…/devices/soc.0/sdramedac.5
lrwxrwxrwx 1 root root 36 Mar 26 14:01 serial8250 -> …/…/…/devices/platform/serial8250
lrwxrwxrwx 1 root root 22 Mar 26 14:01 soc.0 -> …/…/…/devices/soc.0
v.5.4.84
lrwxrwxrwx 1 dan dan 38 Mar 26 11:51 ff111000.pmu -> …/…/…/devices/platform/ff111000.pmu
lrwxrwxrwx 1 dan dan 70 Mar 26 11:51 ff210000.SYSID_QSYS -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff210000.SYSID_QSYS
lrwxrwxrwx 1 dan dan 67 Mar 26 11:51 ff210040.LED_PIO -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff210040.LED_PIO
lrwxrwxrwx 1 dan dan 69 Mar 26 11:51 ff210080.DIPSW_PIO -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff210080.DIPSW_PIO
lrwxrwxrwx 1 dan dan 70 Mar 26 11:51 ff2100c0.BUTTON_PIO -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff2100c0.BUTTON_PIO
lrwxrwxrwx 1 dan dan 69 Mar 26 11:51 ff220000.JTAG_UART -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff220000.JTAG_UART
lrwxrwxrwx 1 dan dan 63 Mar 26 11:51 ff240000.ILC -> …/…/…/devices/platform/soc/soc:base-fpga-region/ff240000.ILC
lrwxrwxrwx 1 dan dan 50 Mar 26 11:51 ff400000.fpga_bridge -> …/…/…/devices/platform/soc/ff400000.fpga_bridge
lrwxrwxrwx 1 dan dan 50 Mar 26 11:51 ff500000.fpga_bridge -> …/…/…/devices/platform/soc/ff500000.fpga_bridge
lrwxrwxrwx 1 dan dan 47 Mar 26 11:51 ff702000.ethernet -> …/…/…/devices/platform/soc/ff702000.ethernet
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ff704000.dwmmc0 -> …/…/…/devices/platform/soc/ff704000.dwmmc0
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 ff705000.spi -> …/…/…/devices/platform/soc/ff705000.spi
lrwxrwxrwx 1 dan dan 46 Mar 26 11:51 ff706000.fpgamgr -> …/…/…/devices/platform/soc/ff706000.fpgamgr
lrwxrwxrwx 1 dan dan 43 Mar 26 11:51 ff708000.gpio -> …/…/…/devices/platform/soc/ff708000.gpio
lrwxrwxrwx 1 dan dan 43 Mar 26 11:51 ff709000.gpio -> …/…/…/devices/platform/soc/ff709000.gpio
lrwxrwxrwx 1 dan dan 43 Mar 26 11:51 ff70a000.gpio -> …/…/…/devices/platform/soc/ff70a000.gpio
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ff800000.l3regs -> …/…/…/devices/platform/soc/ff800000.l3regs
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 ffb40000.usb -> …/…/…/devices/platform/soc/ffb40000.usb
lrwxrwxrwx 1 dan dan 46 Mar 26 11:51 ffc02000.serial0 -> …/…/…/devices/platform/soc/ffc02000.serial0
lrwxrwxrwx 1 dan dan 46 Mar 26 11:51 ffc03000.serial1 -> …/…/…/devices/platform/soc/ffc03000.serial1
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 ffc05000.i2c -> …/…/…/devices/platform/soc/ffc05000.i2c
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffc08000.timer0 -> …/…/…/devices/platform/soc/ffc08000.timer0
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffc09000.timer1 -> …/…/…/devices/platform/soc/ffc09000.timer1
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 ffc25000.sdr -> …/…/…/devices/platform/soc/ffc25000.sdr
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffd00000.timer2 -> …/…/…/devices/platform/soc/ffd00000.timer2
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffd01000.timer3 -> …/…/…/devices/platform/soc/ffd01000.timer3
lrwxrwxrwx 1 dan dan 47 Mar 26 11:51 ffd02000.watchdog -> …/…/…/devices/platform/soc/ffd02000.watchdog
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffd04000.clkmgr -> …/…/…/devices/platform/soc/ffd04000.clkmgr
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffd05000.rstmgr -> …/…/…/devices/platform/soc/ffd05000.rstmgr
lrwxrwxrwx 1 dan dan 45 Mar 26 11:51 ffd08000.sysmgr -> …/…/…/devices/platform/soc/ffd08000.sysmgr
lrwxrwxrwx 1 dan dan 57 Mar 26 11:51 fffec000.snoop-control-unit -> …/…/…/devices/platform/soc/fffec000.snoop-control-unit
lrwxrwxrwx 1 dan dan 44 Mar 26 11:51 fffec600.timer -> …/…/…/devices/platform/soc/fffec600.timer
lrwxrwxrwx 1 dan dan 55 Mar 26 11:51 fffef000.cache-controller -> …/…/…/devices/platform/soc/fffef000.cache-controller
lrwxrwxrwx 1 dan dan 43 Mar 26 11:51 ffff0000.sram -> …/…/…/devices/platform/soc/ffff0000.sram
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 ‘Fixed MDIO bus.0’ -> ‘…/…/…/devices/platform/Fixed MDIO bus.0’
lrwxrwxrwx 1 dan dan 35 Mar 26 11:51 gpio-keys -> …/…/…/devices/platform/gpio-keys
lrwxrwxrwx 1 dan dan 30 Mar 26 11:51 leds -> …/…/…/devices/platform/leds
lrwxrwxrwx 1 dan dan 41 Mar 26 11:51 oprofile-perf.0 -> …/…/…/devices/platform/oprofile-perf.0
lrwxrwxrwx 1 dan dan 35 Mar 26 11:51 reg-dummy -> …/…/…/devices/platform/reg-dummy
lrwxrwxrwx 1 dan dan 36 Mar 26 11:51 serial8250 -> …/…/…/devices/platform/serial8250
lrwxrwxrwx 1 dan dan 29 Mar 26 11:51 soc -> …/…/…/devices/platform/soc
lrwxrwxrwx 1 dan dan 38 Mar 26 11:51 soc:amba -> …/…/…/devices/platform/soc/soc:amba
lrwxrwxrwx 1 dan dan 50 Mar 26 11:51 soc:base-fpga-region -> …/…/…/devices/platform/soc/soc:base-fpga-region
lrwxrwxrwx 1 dan dan 76 Mar 26 11:51 soc:base-fpga-region:leds -> …/…/…/devices/platform/soc/soc:base-fpga-region/soc:base-fpga-region:leds
lrwxrwxrwx 1 dan dan 40 Mar 26 11:51 soc:eccmgr -> …/…/…/devices/platform/soc/soc:eccmgr
lrwxrwxrwx 1 dan dan 43 Mar 26 11:51 soc:sdramedac -> …/…/…/devices/platform/soc/soc:sdramedac
lrwxrwxrwx 1 dan dan 40 Mar 26 11:51 soc:usbphy -> …/…/…/devices/platform/soc/soc:usbphy
lrwxrwxrwx 1 dan dan 42 Mar 26 11:51 vcc3p3-regulator -> …/…/…/devices/platform/vcc3p3-regulator
The differences are from v5.4.84:
fffed000.intc is missing
alarmtimer is missing
amba.1 is missing
arm-pmu is missing
ffc03000.serial1 is added
ffc05000.i2c is added
ffc25000.sdr changed name from ffc25000.sdctrl
ffd08140.l2edac is missing
ffd08144.ocramedac is missing
Fixed MDIO bus.0 is added
fpgabridge.2, fpgabridge.3 and fpgabridge.4 are missing but likely renamed to ff400000.fpga_bridge, ff400000.fpga_bridge
leds.6 likely renamed leds
sdramedac.5 likely renamed soc:sdramedac
ff111000.pmu is added
ff210000.SYSID_QSYS is added
ff210040.LED_PIO is added
ff210080.DIPSW_PIO is added
ff220000.JTAG_UART is added
ff240000.ILC is added
soc.0 likely renamed soc
soc:amba is added
soc:base-fpga-region is added
soc:base-fpga-region:keds is added
soc:eccmgr is added
soc:usbphy is added
vcc3p3-regulator is added
Many thanks in advance
Dan