[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OSZPR01MB7004907B2FB95F45E9B83FEC8B719@OSZPR01MB7004.jpnprd01.prod.outlook.com>
Date: Mon, 8 May 2023 00:36:06 +0000
From: Yoshitaka Ikeda <ikeda@...int.co.jp>
To: Dhruva Gole <d-gole@...com>
CC: "linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Vignesh Raghavendra <vigneshr@...com>,
Vaishnav Achath <vaishnav.a@...com>,
"linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"Takahiro.Kuwano@...ineon.com" <Takahiro.Kuwano@...ineon.com>,
Pratyush Yadav <ptyadav@...zon.de>,
Mark Brown <broonie@...nel.org>
Subject: RE: [PATCH v2 4/4] spi: cadence-quadspi: use STIG mode for small
reads
Hi Dhruva,
Sorry for the late reply as I was on a long vacation.
> Thanks for sharing, I went through and couldn't really find any major changes
> at the controller level.
> So I am wondering if some specific sequence of flash operations on your
> device is exposing some issues in the driver's STIG reads.
Thank you for looking into this.
> Please can you share some logs with the following patch:
> I am trying to see a pattern that may be causing issues.
> I am unable to reproduce this on my end at the moment.
The logs obtained with the patch applied are as follows:
- Error at startup
- Kernel log
[ 0.980598] **********spi_mem_op dump**************
[ 0.980613] addr: nbytes:0x0 , buswidth 0x0, dtr 0x0, val 0x0
[ 0.984223] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0x9F
[ 0.988656] data: nbytes:0x6 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 0.993362] ***************************************
[ 0.998329] spi-nor spi0.0: found mt25ql512a, expected n25q512a
[ 1.006574] **********spi_mem_op dump**************
[ 1.006583] addr: nbytes:0x3 , buswidth 0x1, dtr 0x0, val 0x0
[ 1.010150] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0x5A
[ 1.014596] data: nbytes:0x10 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 1.019285] ***************************************
[ 1.524271] cadence-qspi ff705000.flash: Flash command execution timed out.
[ 1.533483] **********spi_mem_op dump**************
[ 1.533489] addr: nbytes:0x3 , buswidth 0x1, dtr 0x0, val 0x10
[ 1.537055] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0x5A
[ 1.541579] data: nbytes:0x8 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 1.546266] ***************************************
[ 1.551123] spi-nor spi0.0: operation failed with -110
[ 1.558531] spi-nor spi0.0: mt25ql512a (65536 Kbytes)
- Error at access
- Access command and log
# hexdump -Cv /dev/mtdblock0
hexdump: /dev/mtdblock0: Input/output error
- Kernel log
[ 75.401297] cadence-qspi ff705000.flash: QSPI is still busy after 500ms timeout.
[ 75.401337] **********spi_mem_op dump**************
[ 75.401343] addr: nbytes:0x4 , buswidth 0x1, dtr 0x0, val 0x0
[ 75.401354] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0xC
[ 75.401364] data: nbytes:0x200 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 75.401373] ***************************************
[ 75.401382] spi-nor spi0.0: operation failed with -110
[ 75.401407] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[ 75.911339] cadence-qspi ff705000.flash: QSPI is still busy after 500ms timeout.
[ 75.911372] **********spi_mem_op dump**************
[ 75.911379] addr: nbytes:0x4 , buswidth 0x1, dtr 0x0, val 0x1000
[ 75.911390] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0xC
[ 75.911399] data: nbytes:0x200 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 75.911409] ***************************************
[ 75.911417] spi-nor spi0.0: operation failed with -110
[ 75.911443] I/O error, dev mtdblock0, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2
[ 76.421333] cadence-qspi ff705000.flash: QSPI is still busy after 500ms timeout.
[ 76.421365] **********spi_mem_op dump**************
[ 76.421371] addr: nbytes:0x4 , buswidth 0x1, dtr 0x0, val 0x2000
[ 76.421383] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0xC
[ 76.421393] data: nbytes:0x200 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 76.421403] ***************************************
[ 76.421411] spi-nor spi0.0: operation failed with -110
[ 76.421436] I/O error, dev mtdblock0, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2
[ 76.931330] cadence-qspi ff705000.flash: QSPI is still busy after 500ms timeout.
[ 76.931365] **********spi_mem_op dump**************
[ 76.931371] addr: nbytes:0x4 , buswidth 0x1, dtr 0x0, val 0x3000
[ 76.931382] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0xC
[ 76.931392] data: nbytes:0x200 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 76.931401] ***************************************
[ 76.931410] spi-nor spi0.0: operation failed with -110
[ 76.931437] I/O error, dev mtdblock0, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 77.441297] cadence-qspi ff705000.flash: QSPI is still busy after 500ms timeout.
[ 77.441330] **********spi_mem_op dump**************
[ 77.441337] addr: nbytes:0x4 , buswidth 0x1, dtr 0x0, val 0x0
[ 77.441347] cmd: nbytes:0x1 , buswidth 0x1, dtr 0x0, opcode 0xC
[ 77.441357] data: nbytes:0x200 , buswidth 0x1, dtr 0x0, data dir 0x1
[ 77.441367] ***************************************
[ 77.441375] spi-nor spi0.0: operation failed with -110
[ 77.441401] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 77.441423] Buffer I/O error on dev mtdblock0, logical block 0, async page read
--
Thanks and Regards,
Yoshitaka Ikeda
Powered by blists - more mailing lists