[i.MX8MQ EVK] spi_master spi0: I/O Error in DMA RX

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[i.MX8MQ EVK] spi_master spi0: I/O Error in DMA RX

1,054 Views
jhpark_vine
Contributor III

We use ecspi0 bus  as a interface to Wifi Module.

When we send a data file to  i.MX8MQ evk  via Wifi ,  it displays a I/O Error in DMA RX in spi0 device .

but, wifi connection works. 

How can fix this problem?    

Maybe this is related a DMX transfer problem 

 

Out dts config as follows .

=======  imx8mq.dtsi ===============

bus@30800000 { /* AIPS3 */
compatible = "fsl,imx8mq-aips-bus", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x30800000 0x30800000 0x400000>,
<0x08000000 0x08000000 0x10000000>;


ecspi1: spi@30820000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx8mq-ecspi", "fsl,imx6ul-ecspi";
/* compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; */
reg = <0x30820000 0x10000>;
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MQ_CLK_ECSPI1_ROOT>,
<&clk IMX8MQ_CLK_ECSPI1_ROOT>;
clock-names = "ipg", "per";
dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
dma-names = "rx", "tx";
status = "disabled";
};

 

 

=====  imx8mq-evk.dts  ============

&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
fsl,spi-num-chipselects = <1>;
pinctrl-0 = <&pinctrl_spi1>;
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
status = "okay";
spidev0: spi@0 {

compatible = "brcm,bcm2835","brcm,bcm2708","brcm,bcm2709";
reg = <0>;
spi-max-frequency = <15000000>; /* 15MHZ max */
status = "disabled";
};
};

 

 ===========   Kernel  LOG ==================

[ 321.110025] nrc-cspi spi0.0: SPI transfer failed: -110
[ 321.115551] spi_master spi0: failed to transfer one message from queue
[ 321.123673] ------------[ cut here ]------------
[ 321.128697] WARNING: CPU: 1 PID: 677 at /data/work/kernel/apps/danam/nrc_vine/nrc-hif-cspi.c:310 _c_spi_read_regs+0x208/0x228 [nrc]
[ 321.140568] Modules linked in: nrc(O)
[ 321.144322] CPU: 1 PID: 677 Comm: irq/165-spi-irq Tainted: G W O 5.4.24-00106-gf08a99287bcc-dirty #162
[ 321.154796] Hardware name: NXP i.MX8MQ EVK (DT)
[ 321.159375] pstate: 20000005 (nzCv daif -PAN -UAO)
[ 321.164230] pc : _c_spi_read_regs+0x208/0x228 [nrc]
[ 321.169145] lr : _c_spi_read_regs+0x19c/0x228 [nrc]
[ 321.174059] sp : ffff800012daba70
[ 321.177383] x29: ffff800012daba70 x28: ffff0000b8aaba00
[ 321.182735] x27: ffff0000b8aaba00 x26: ffff80001015d888
[ 321.188084] x25: ffff0000b4049f20 x24: ffff0000b9e31ec0
[ 321.193434] x23: ffff0000b40eb800 x22: 0000000000000020
[ 321.198783] x21: 0000000000000010 x20: ffff0000b8aaba00
[ 321.204132] x19: ffff0000b4049f20 x18: 0000000000000010
[ 321.209482] x17: 0000000000000000 x16: 0000000000000000
[ 321.214830] x15: 0000000000000000 x14: 0000000000000000
[ 321.220180] x13: 0000000000000002 x12: 0000000000000000
[ 321.225529] x11: 0000000000000000 x10: 0000000000000a40
[ 321.230879] x9 : ffff800012dab6c0 x8 : 0000000000000000
[ 321.236228] x7 : 0000000000000000 x6 : 0000000000000000
[ 321.241578] x5 : ffff80001247a000 x4 : ffff800012dac000
[ 321.246927] x3 : 0000000000000000 x2 : 0000000000000000
[ 321.252276] x1 : ffff0000b8aaba00 x0 : 00000000000000ff
[ 321.257637] Call trace:
[ 321.260145] _c_spi_read_regs+0x208/0x228 [nrc]
[ 321.264711] c_spi_read_regs+0x54/0x88 [nrc]
[ 321.269008] spi_update_status+0x70/0x258 [nrc]
[ 321.273562] spi_irq+0x20/0x48 [nrc]
[ 321.277268] irq_thread_fn+0x30/0xa0
[ 321.280855] irq_thread+0x150/0x248
[ 321.284411] kthread+0xfc/0x128
[ 321.287630] ret_from_fork+0x10/0x18
[ 321.291246] ---[ end trace d00c02c18f8580a6 ]---
[ 376.273776] spi_master spi0: I/O Error in DMA RX
[ 376.278653] nrc-cspi spi0.0: SPI transfer failed: -110
[ 376.284106] spi_master spi0: failed to transfer one message from queue
[ 376.294360] ------------[ cut here ]------------
[ 376.299318] WARNING: CPU: 0 PID: 676 at /data/work/kernel/apps/danam/nrc_vine/nrc-hif-cspi.c:371 _c_spi_read+0x1b0/0x1d0 [nrc]
[ 376.310758] Modules linked in: nrc(O)
[ 376.314509] CPU: 0 PID: 676 Comm: spi-rx Tainted: G W O 5.4.24-00106-gf08a99287bcc-dirty #162
[ 376.324202] Hardware name: NXP i.MX8MQ EVK (DT)
[ 376.328783] pstate: 20000005 (nzCv daif -PAN -UAO)
[ 376.333636] pc : _c_spi_read+0x1b0/0x1d0 [nrc]
[ 376.338104] lr : _c_spi_read+0x174/0x1d0 [nrc]
[ 376.342595] sp : ffff800013083b10
[ 376.345919] x29: ffff800013083b10 x28: 0000000000000003
[ 376.351270] x27: ffff0000b57599c0 x26: ffff0000b40eb800
[ 376.356620] x25: ffff0000b9e31ec0 x24: ffff8000092e5b60
[ 376.361970] x23: ffff0000b4049e00 x22: ffff0000b40eb800
[ 376.367319] x21: ffff0000b572d000 x20: 00000000000001f0
[ 376.372669] x19: ffff0000b86eab80 x18: 0000000000000000
[ 376.377991] x17: 0000000000000000 x16: 0000000000000000
[ 376.383319] x15: 0000000000000000 x14: ffff80001248d3c0
[ 376.388669] x13: ffff8000a998c000 x12: 0000000034d4d91d
[ 376.394018] x11: 0000000000000000 x10: 0000000000000a40
[ 376.399368] x9 : ffff800013083760 x8 : 0000000000000001
[ 376.404717] x7 : 0000000000000000 x6 : 0000000000000000
[ 376.410067] x5 : ffff80001247a000 x4 : ffff800013084000
[ 376.415416] x3 : 0000000000000000 x2 : 0000000000000000
[ 376.420766] x1 : ffff0000b86eab80 x0 : 00000000000000ff
[ 376.426152] Call trace:
[ 376.428655] _c_spi_read+0x1b0/0x1d0 [nrc]
[ 376.432777] c_spi_read+0x4c/0x98 [nrc]
[ 376.436651] spi_rx_thread+0x494/0x8f0 [nrc]
[ 376.441026] kthread+0xfc/0x128
[ 376.444244] ret_from_fork+0x10/0x18
[ 376.447861] ---[ end trace d00c02c18f8580a7 ]---
[ 413.265207] spi_master spi0: I/O Error in DMA RX
[ 413.270113] nrc-cspi spi0.0: SPI transfer failed: -110
[ 413.275633] spi_master spi0: failed to transfer one message from queue
[ 413.285892] ------------[ cut here ]------------
[ 413.290881] WARNING: CPU: 0 PID: 375 at /data/work/kernel/apps/danam/nrc_vine/nrc-hif-cspi.c:400 _c_spi_write+0x1a4/0x1c8 [nrc]
[ 413.302409] Modules linked in: nrc(O)
[ 413.306165] CPU: 0 PID: 375 Comm: kworker/u8:2 Tainted: G W O 5.4.24-00106-gf08a99287bcc-dirty #162
[ 413.316374] Hardware name: NXP i.MX8MQ EVK (DT)
[ 413.321003] Workqueue: nrc_wq nrc_hif_work [nrc]
[ 413.325669] pstate: 20000005 (nzCv daif -PAN -UAO)
[ 413.330514] pc : _c_spi_write+0x1a4/0x1c8 [nrc]
[ 413.335082] lr : _c_spi_write+0x168/0x1c8 [nrc]
[ 413.339648] sp : ffff800012d9ba90
[ 413.342973] x29: ffff800012d9ba90 x28: ffff800012476000
[ 413.348323] x27: 0000000000000000 x26: ffff800012c83cc8
[ 413.353673] x25: 0000000000000000 x24: ffff0000b4049e08
[ 413.359022] x23: ffff0000b9e31ec0 x22: ffff0000b40eb800
[ 413.364373] x21: ffff0000b9b444da x20: 00000000000001c8
[ 413.369723] x19: ffff0000b8a4e580 x18: 0000000000000000
[ 413.375072] x17: 0000000000000000 x16: 0000000000000000
[ 413.380422] x15: 0000000000000000 x14: 0000000000000000
[ 413.385742] x13: 0000000000000002 x12: 0000000000000000
[ 413.391091] x11: 071c71c71c71c71c x10: 0000000000000a40
[ 413.396441] x9 : ffff800012d9b6e0 x8 : 0000000000000002
[ 413.401764] x7 : 0000000000000000 x6 : 0000000000000000
[ 413.407114] x5 : ffff80001247a000 x4 : ffff800012d9c000
[ 413.412463] x3 : 0000000000000000 x2 : 0000000000000000
[ 413.417813] x1 : ffff0000b8a4e580 x0 : 00000000000000ff
[ 413.423199] Call trace:
[ 413.425702] _c_spi_write+0x1a4/0x1c8 [nrc]
[ 413.429911] c_spi_write+0x4c/0x98 [nrc]
[ 413.433872] spi_xmit+0xa4/0xd8 [nrc]
[ 413.437586] nrc_hif_work+0xac/0x238 [nrc]
[ 413.441786] process_one_work+0x1c4/0x468
[ 413.445836] worker_thread+0x50/0x428
[ 413.449567] kthread+0xfc/0x128
[ 413.452777] ret_from_fork+0x10/0x18
[ 413.456395] ---[ end trace d00c02c18f8580a8 ]---
[ 413.461698] ------------[ cut here ]------------
[ 413.466411] WARNING: CPU: 0 PID: 375 at /data/work/kernel/apps/danam/nrc_vine/hif.c:195 nrc_hif_work+0x208/0x238 [nrc]
[ 413.477121] Modules linked in: nrc(O)
[ 413.480848] CPU: 0 PID: 375 Comm: kworker/u8:2 Tainted: G W O 5.4.24-00106-gf08a99287bcc-dirty #162
[ 413.491062] Hardware name: NXP i.MX8MQ EVK (DT)
[ 413.495665] Workqueue: nrc_wq nrc_hif_work [nrc]
[ 413.500332] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 413.505177] pc : nrc_hif_work+0x208/0x238 [nrc]
[ 413.509732] lr : nrc_hif_work+0xcc/0x238 [nrc]
[ 413.514197] sp : ffff800012d9bd70
[ 413.517549] x29: ffff800012d9bd70 x28: ffff800012476000
[ 413.522898] x27: 0000000000000000 x26: ffff800012c83cc8
[ 413.528247] x25: 00000000fffffffb x24: ffff0000b4049e08
[ 413.533598] x23: ffff0000b9e31ec0 x22: ffff0000b4049e20
[ 413.538974] x21: ffff0000b4049e50 x20: ffff0000b9b9b100
[ 413.544295] x19: ffff0000b4049e00 x18: 0000000000000000
[ 413.549644] x17: 0000000000000000 x16: 0000000000000000
[ 413.554993] x15: 0000000000000000 x14: 0000000000000000
[ 413.560342] x13: 0000000000000002 x12: 0000000000000000
[ 413.565696] x11: 071c71c71c71c71c x10: 0000000000000a40
[ 413.571018] x9 : ffff800012d9b6e0 x8 : ffff0000b8aabd80
[ 413.576368] x7 : 0000000000000000 x6 : 0000000000000003
[ 413.581717] x5 : 0000000000000001 x4 : ffff0000b8aaba28
[ 413.587067] x3 : 0000000000000003 x2 : 0000000000000002
[ 413.592417] x1 : 9df108004751a300 x0 : 0000000000000000
[ 413.597797] Call trace:
[ 413.600269] nrc_hif_work+0x208/0x238 [nrc]
[ 413.604511] process_one_work+0x1c4/0x468
[ 413.608562] worker_thread+0x50/0x428
[ 413.612280] kthread+0xfc/0x128
[ 413.615480] ret_from_fork+0x10/0x18
[ 413.619094] ---[ end trace d00c02c18f8580a9 ]---

Labels (1)
0 Kudos
0 Replies