linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: Frieder Schrempf <frieder.schrempf@exceet.de>,
	Fabio Estevam <fabio.estevam@nxp.com>, Han Xu <han.xu@nxp.com>,
	Huang Shijie <sjhuang@iluvatar.ai>
Cc: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>,
	"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
	"richard@nod.at" <richard@nod.at>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	Albert ARIBAUD <albert.aribaud@3adev.fr>,
	Boris Brezillon <boris.brezillon@bootlin.com>,
	Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	"miquel.raynal@bootlin.com" <miquel.raynal@bootlin.com>,
	David Wolfe <david.wolfe@nxp.com>,
	"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	"dwmw2@infradead.org" <dwmw2@infradead.org>
Subject: Re: Questions about the Freescale/NXP QuadSPI controller
Date: Thu, 20 Sep 2018 17:00:32 +0200	[thread overview]
Message-ID: <20180920170032.39fb5073@jawa> (raw)
In-Reply-To: <20180919130211.3f2e7e3a@jawa>


[-- Attachment #1.1: Type: text/plain, Size: 4775 bytes --]

Hi Frieder, 

> Hi Frieder,
> 
> > Hi Lukasz,
> > 
> > On 19.09.2018 00:42, Lukasz Majewski wrote:  
> > > Dear All,
> > > 
> > > Maybe I do jump a bit off topic here, but...
> > > 
> > > I've read through the following thread:
> > > https://patchwork.ozlabs.org/patch/939885/
> > > 
> > > And it mentions some issues with reading AHB content (buffers) in
> > > fsl-quadspi.c driver discovered when new QuadSPI driver was
> > > developed.    
> > 
> > The only setup with two chips that is known to be problematic with
> > the new driver, is when both chips are connected to the same bus
> > (e.g. QSPIA) using separate chip selects.  
> 
> I'm using QSPI0 controller, with two memories connected to QSPI0_A and
> QSPI0_B lines.
> 
> > 
> > Does your board use this kind of setup, or are the two chips
> > connected two different buses (QSPIA and QSPIB)?
> > 
> > Have you tested the new driver? It would be great to receive some
> > more feedback.  
> 
> I will check (test) this new driver. No problem.

I've ported your patch on v4.19-rc3.

I had to fix the "div0 issue" by adding:
if (op->dummy.buswidth && 
	(op->dummy.nbytes * 8 / op->dummy.buswidth > 64))

In fsl_qspi_supports_op() function.


Unfortunately, on Vybrid vf610 when testing I do see corruption of read
data from the mtd device:

~# hexdump aaa.img
0000000 464c eec0 baa5 c5ff 7b99 4dfb e0b6 8a2e
0000010 e98e 5265 683c a635 c069 e402 303f d936
0000020 c243 01a7 7064 fce8 e3a9 200a 7e85 28bc
0000030 4296 a30e 1bb4 88d4 b456 b4a6 f3aa 8cff
0000040 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000100

~# hexdump data_test.img
0000000 464c eec0 baa5 c5ff 7b99 4dfb e0b6 8a2e
0000010 e98e 5265 683c a635 c069 e402 303f d936
0000020 c243 01a7 7064 fce8 e3a9 200a 7e85 28bc
0000030 4296 a30e 1bb4 88d4 b456 b4a6 f3aa 8cff
0000040 01c9 462d 0a43 f893 0e42 67f1 57f0 787c
0000050 49c0 fb2a e514 e954 1d21 affa bac4 38f1
0000060 1ca5 ec46 77eb a854 285b 8e21 12d7 f377
0000070 b441 2baf ee33 596c 98b6 e71a c1cb 876c


Test case:
flash_erase /dev/mtd3 0 1
dd if=data_test.img of=/dev/mtd3
dd if=/dev/mtd3 of=aaa.img bs=1 count=256


From the code I see that the AHB buffer has 1024B. It is accessed in 8
bytes packs.

This seems like some cache or HW issue....

In the old driver, to fix this problem one needed to 
1. Reduce the RX fifo size from 128B to 64B

2. Disable (set to 0) the AHB transfer's BUF3CR ADATSZ field - the
transfer size is the same as in LUT.

(Original patch: https://patchwork.ozlabs.org/patch/675401/)


> 
> >   
> > > I do have a setup with qspi0 having two SPI memories connected
> > > (2x16 MiB), and I'm wondering if anybody has some more info
> > > regarding:
> > > 
> > > (What's more is that there is a bug in
> > >   * the "IP Command Read" in the Vybrid.) found here:
	^^^^^^^^^^^^^^^^^^^^^^^^ - It would be handy to have the exact
	explanation of this issue.

> > > https://elixir.bootlin.com/linux/v4.19-rc4/source/drivers/mtd/spi-nor/fsl-quadspi.c#L67
> > > 
> > > I've googled for some errata or known issues for vybryd's QSPI IP
> > > block (vf610) but without luck so far ...    
> > 
> > Unfortunately I don't know the background for this comment.  
> 
> The comment was added by some Freescale employee when the driver was
> added to Linux (by Huang - CC'ed).
> 
> > Is your 
> > board using VF610?  
> 
> Yes, it uses vf610 (A5 + M4 cores).
> 
> > Do you experience problems?  
> 
> I've already observed following issue:
> 
> For the current QSPI ML driver (fsl-quadspi.c - 4.19-rc3) only half
> of the AHB buffer is valid. When I do read the whole one - I do see
> read data corruption (on UBI or raw memory). 
> 
> This was pointed out in the patch:
> https://patchwork.ozlabs.org/patch/675401/
> 
> Unfortunately, I did not found any info regarding this problem (in
> NXP's errata or other doc).
> 
> I will check if this issue shows up on new patches.
> 
> Thanks in advance for your help.
> 
> > 
> > Regards,
> > Frieder
> > 
> > ______________________________________________________
> > Linux MTD discussion mailing list
> > http://lists.infradead.org/mailman/listinfo/linux-mtd/  
> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  parent reply	other threads:[~2018-09-20 15:00 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 11:14 [PATCH v2 00/12] Port the FSL QSPI driver to the SPI framework Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 01/12] spi: spi-mem: Extend the SPI mem interface to set a custom memory name Frieder Schrempf
2018-07-05 12:39   ` Boris Brezillon
2018-07-05 12:50     ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 02/12] mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name Frieder Schrempf
2018-07-05 12:56   ` Boris Brezillon
2018-07-05 13:06     ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 03/12] spi: Add a driver for the Freescale/NXP QuadSPI controller Frieder Schrempf
     [not found]   ` <7e95c72c-2cd1-f138-a687-6cca362c95b7@exceet.de>
2018-08-02 13:09     ` Questions about " Frieder Schrempf
2018-08-02 21:58       ` Han Xu
2018-08-04 13:37         ` Boris Brezillon
2018-09-03  9:02           ` Frieder Schrempf
2018-09-12 17:04             ` Han Xu
2018-09-12 18:40               ` Frieder Schrempf
2018-09-12 21:04                 ` Han Xu
2018-09-13  7:00                   ` Frieder Schrempf
2018-09-18 22:42                     ` Lukasz Majewski
2018-09-19  6:49                       ` Frieder Schrempf
2018-09-19 11:02                         ` Lukasz Majewski
2018-09-20  1:17                           ` Huang Shijie
2018-09-20 15:00                           ` Lukasz Majewski [this message]
2018-09-20 15:41                             ` Frieder Schrempf
2018-09-20 20:37                               ` Lukasz Majewski
2018-09-20 22:13                               ` Lukasz Majewski
2018-09-25  6:49                                 ` Frieder Schrempf
2018-09-25  8:53                                   ` Lukasz Majewski
2018-09-06 11:11           ` Yogesh Narayan Gaur
2018-09-06 11:36             ` Boris Brezillon
2018-09-06 12:22               ` Yogesh Narayan Gaur
2018-07-05 11:15 ` [PATCH v2 04/12] dt-bindings: spi: Move the bindings for the FSL QSPI driver Frieder Schrempf
2018-07-11 15:54   ` Rob Herring
2018-07-12  8:11     ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 05/12] dt-bindings: spi: Adjust " Frieder Schrempf
2018-07-11 16:05   ` Rob Herring
2018-07-12  8:13     ` Frieder Schrempf
2018-07-12 15:20       ` Rob Herring
2018-07-16  7:04         ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 06/12] ARM: dts: Reflect change of FSL QSPI driver and remove unused properties Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 07/12] arm64: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 08/12] ARM: defconfig: Use the new FSL QSPI driver under the SPI framework Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 09/12] mtd: fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 10/12] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 12/12] MAINTAINERS: Move the Freescale QSPI driver to the SPI framework Frieder Schrempf
2018-07-06  5:08 ` [PATCH v2 00/12] Port the FSL " Yogesh Narayan Gaur
2018-10-31 13:40 ` Boris Brezillon
2018-10-31 13:54   ` Schrempf Frieder
2018-10-31 14:31     ` Boris Brezillon
2018-10-31 16:03       ` Yogesh Narayan Gaur
2018-10-31 16:09         ` Schrempf Frieder
2018-11-08  8:15       ` Schrempf Frieder
2018-11-08  8:19         ` Boris Brezillon
2018-11-08  8:35           ` Schrempf Frieder
2018-11-08  8:57           ` Schrempf Frieder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180920170032.39fb5073@jawa \
    --to=lukma@denx.de \
    --cc=albert.aribaud@3adev.fr \
    --cc=boris.brezillon@bootlin.com \
    --cc=broonie@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=david.wolfe@nxp.com \
    --cc=dwmw2@infradead.org \
    --cc=fabio.estevam@nxp.com \
    --cc=frieder.schrempf@exceet.de \
    --cc=han.xu@nxp.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marek.vasut@gmail.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=prabhakar.kushwaha@nxp.com \
    --cc=richard@nod.at \
    --cc=shawnguo@kernel.org \
    --cc=sjhuang@iluvatar.ai \
    --cc=yogeshnarayan.gaur@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).