On 4/24/20 12:42 PM, Dilip Kota wrote: > Synchronize tx, rx and error interrupts by registering to the > same interrupt handler. Interrupt handler will recognize and process > the appropriate interrupt on the basis of interrupt status register. > Also, establish synchronization between the interrupt handler and > transfer operation by taking the locks and registering the interrupt > handler as thread IRQ which avoids the bottom half. > Fixes the wrongly populated interrupt register offsets too. > > Fixes: 17f84b793c01 ("spi: lantiq-ssc: add support for Lantiq SSC SPI controller") > Fixes: ad2fca0721d1 ("spi: lantiq-ssc: add LTQ_ prefix to defines") > Signed-off-by: Dilip Kota <eswara.kota@xxxxxxxxxxxxxxx> > --- > drivers/spi/spi-lantiq-ssc.c | 89 ++++++++++++++++++++++---------------------- > 1 file changed, 45 insertions(+), 44 deletions(-) > Hi, I tried this patch series on a TP-LINK TD-W8970 (VRX200 with SPI flash) and the SPI controller is failing like this: ----- [ 6.947194] printk: bootconsole [early0] disabled [ 6.964210] spi-lantiq-ssc 1e100800.spi: Lantiq SSC SPI controller (Rev 8, TXFS 8, RXFS 8, DMA 1) [ 7.175188] spi-nor spi0.4: SPI transfer timed out [ 7.178558] spi_master spi0: failed to transfer one message from queue [ 7.185120] spi-nor spi0.4: error -145 reading JEDEC ID [ 7.190378] spi-nor: probe of spi0.4 failed with error -2 [ 7.199729] libphy: Fixed MDIO Bus: probed ------ It already fails when applying this first patch only. Without this patch is works like this: ----- [ 6.939498] printk: bootconsole [early0] disabled [ 6.954016] spi-lantiq-ssc 1e100800.spi: Lantiq SSC SPI controller (Rev 8, TXFS 8, RXFS 8, DMA 1) [ 6.975465] spi-nor spi0.4: s25fl064k (8192 Kbytes) [ 6.979066] 4 fixed-partitions partitions found on MTD device spi0.4 [ 6.985338] Creating 4 MTD partitions on "spi0.4": [ 6.990127] 0x000000000000-0x000000020000 : "u-boot" [ 6.997422] 0x000000020000-0x0000007c0000 : "firmware" [ 7.212304] random: crng init done [ 8.796128] 2 tplink-fw partitions found on MTD device firmware [ 8.800674] 0x000000020000-0x00000027878f : "kernel" [ 8.807776] 0x000000278790-0x0000007c0000 : "rootfs" [ 8.813611] mtd: device 3 (rootfs) set to be root filesystem [ 8.818268] 1 squashfs-split partitions found on MTD device rootfs [ 8.824123] 0x000000590000-0x0000007c0000 : "rootfs_data" [ 8.831772] 0x0000007c0000-0x0000007d0000 : "config" [ 8.837785] 0x0000007d0000-0x000000800000 : "boardconfig" [ 8.848193] libphy: Fixed MDIO Bus: probed ------ This was done by applying your patches on top of kernel 5.4.35 and adding this: "spi: lantiq-ssc: Use devm_platform_ioremap_resource() in lantiq_ssc_probe()" in OpenWrt master. Hauke