SPIDEV slow (~3ms) on Beaglebone. SPI_DEBUG?

Hi all,

I am working with SPI, on both a BB AI and a BBBlue and on both machines a transfer on the using the ioctl() system call (spidev1.0 interface), takes approx 3ms. Is the kernel adding some overhead for debugging there that could be removed?
https://groups.google.com/g/beagleboard/c/Owld0Inun-0/m/JDfcanRb0I4J

Would appreciate any help on how to do this.
Thanks a lot and have a great Sunday.

Michele

SPI_DEBUG was disabled a long time ago, what image/kernel are you running?

sudo /opt/scripts/tools/version.sh

Regards,

Hi Robert,

thanks for the reply.

model:[BeagleBoard.org_BeagleBone_AI]
dogtag:[BeagleBoard.org Debian Buster IoT TIDL Image 2020-04-06]
UBOOT: Booted Device-Tree:[am5729-beagleboneai.dts]
UBOOT: Loaded Overlay:[BONE-I2C3]
UBOOT: Loaded Overlay:[BONE-SPI1_0]
UBOOT: Loaded Overlay:[BONE-SPI1_1]
UBOOT: Loaded Overlay:[BONE-UART5]
kernel:[4.19.94-ti-r55]
nodejs:[v10.21.0]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[uboot_overlay_addr0=/lib/firmware/BONE-SPI1_0.dtbo]
uboot_overlay_options:[uboot_overlay_addr1=/lib/firmware/BONE-SPI1_1.dtbo]
uboot_overlay_options:[uboot_overlay_addr2=/lib/firmware/BONE-I2C3.dtbo]
uboot_overlay_options:[uboot_overlay_addr3=/lib/firmware/BONE-UART5.dtbo]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.14.20201021.1-0~buster+20201021]
pkg:[bb-customizations]:[1.20201105.0-0~buster+20201110]
pkg:[bb-usb-gadgets]:[1.20200504.0-0~buster+20200504]
pkg:[bb-wl18xx-firmware]:[1.20200813.1-0~buster+20200813]
pkg:[kmod]:[26-1]
pkg:[librobotcontrol]:[1.0.5-git20200715.0-0~buster+20200716]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep remoteproc admin spi iio docker tisdk weston-launch xenomai cloud9ide]
cmdline:[console=ttyS0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet]
dmesg | grep remote
[ 11.132152] remoteproc remoteproc0: 58820000.ipu is available
[ 11.166138] remoteproc remoteproc1: 55020000.ipu is available
[ 11.203119] remoteproc remoteproc0: powering up 58820000.ipu
[ 11.203139] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 7051536
[ 11.203195] Modules linked in: omap_remoteproc(+) virtio_rpmsg_bus remoteproc virtio virtio_ring usb_f_ncm usb_f_mass_storage usb_f_rndis u_ether libcomposite uio_pdrv_genirq uio cmemk(O) spidev
[ 11.203470] [] (iommu_attach_device) from [] (rproc_boot+0x380/0x6ec [remoteproc])
[ 11.203508] [] (rproc_boot [remoteproc]) from [] (rproc_auto_boot_callback+0x20/0x2c [remoteproc])
[ 11.203528] [] (rproc_auto_boot_callback [remoteproc]) from [] (request_firmware_work_func+0x60/0x9c)
[ 11.221780] remoteproc remoteproc1: powering up 55020000.ipu
[ 11.221799] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3751356
[ 11.222095] remoteproc remoteproc0: registered virtio0 (type 7)
[ 11.222102] remoteproc remoteproc0: remote processor 58820000.ipu is now up
[ 11.225372] remoteproc remoteproc2: 40800000.dsp is available
[ 11.225841] remoteproc remoteproc3: 41000000.dsp is available
[ 11.443664] remoteproc remoteproc1: registered virtio1 (type 7)
[ 11.443671] remoteproc remoteproc1: remote processor 55020000.ipu is now up
[ 11.506742] remoteproc remoteproc2: powering up 40800000.dsp
[ 11.506765] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 21014532
[ 11.510625] remoteproc remoteproc3: powering up 41000000.dsp
[ 11.510642] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 21014532
[ 11.570238] remoteproc remoteproc2: registered virtio2 (type 7)
[ 11.570245] remoteproc remoteproc2: remote processor 40800000.dsp is now up
[ 11.578670] remoteproc remoteproc3: registered virtio3 (type 7)
[ 11.578678] remoteproc remoteproc3: remote processor 41000000.dsp is now up
[ 21.494466] remoteproc remoteproc4: 4b234000.pru is available
[ 21.495285] remoteproc remoteproc5: 4b238000.pru is available
[ 21.500830] remoteproc remoteproc6: 4b2b4000.pru is available
[ 21.504067] remoteproc remoteproc7: 4b2b8000.pru is available
dmesg | grep pru
[ 19.761117] pruss_uio_shmem 4b200000.pruss_shmem: Allocating gdev
[ 19.761126] pruss_uio_shmem 4b200000.pruss_shmem: Allocating info
[ 19.761163] pruss_uio_shmem 4b200000.pruss_shmem: Requesting resource
[ 19.761208] pruss_uio_shmem 4b200000.pruss_shmem: Mapping resource
[ 19.761268] pruss_uio_shmem 4b200000.pruss_shmem: Registering with uio driver
[ 19.763540] pruss_uio_shmem 4b200000.pruss_shmem: Saving platform data
[ 19.782877] pruss_uio_shmem 4b280000.pruss_shmem: Allocating gdev
[ 19.782889] pruss_uio_shmem 4b280000.pruss_shmem: Allocating info
[ 19.782895] pruss_uio_shmem 4b280000.pruss_shmem: Requesting resource
[ 19.782917] pruss_uio_shmem 4b280000.pruss_shmem: Mapping resource
[ 19.782933] pruss_uio_shmem 4b280000.pruss_shmem: Registering with uio driver
[ 19.784197] pruss_uio_shmem 4b280000.pruss_shmem: Saving platform data
[ 21.494466] remoteproc remoteproc4: 4b234000.pru is available
[ 21.494536] pru-rproc 4b234000.pru: PRU rproc node pru@4b234000 probed successfully
[ 21.495285] remoteproc remoteproc5: 4b238000.pru is available
[ 21.495349] pru-rproc 4b238000.pru: PRU rproc node pru@4b238000 probed successfully
[ 21.500830] remoteproc remoteproc6: 4b2b4000.pru is available
[ 21.500893] pru-rproc 4b2b4000.pru: PRU rproc node pru@4b2b4000 probed successfully
[ 21.504067] remoteproc remoteproc7: 4b2b8000.pru is available
[ 21.504135] pru-rproc 4b2b8000.pru: PRU rproc node pru@4b2b8000 probed successfully
dmesg | grep pinctrl-single
[ 1.008685] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
dmesg | grep gpio-of-helper
[ 1.021032] gpio-of-helper 44000000.ocp:cape-universal: ready
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END

Michele