Linux-mtd Archive on lore.kernel.org
 help / color / Atom feed
From: Greg Ungerer <gerg@kernel.org>
To: Boris Brezillon <boris.brezillon@collabora.com>
Cc: Miquel Raynal <miquel.raynal@bootlin.com>,
	s.hauer@pengutronix.de,
	Michael Nazzareno Trimarchi <michael@amarulasolutions.com>,
	linux-mtd@lists.infradead.org,
	Boris Brezillon <bbrezillon@kernel.org>
Subject: Re: GPMI iMX6ull timeout on DMA
Date: Tue, 13 Aug 2019 10:50:38 +1000
Message-ID: <a47792dc-b19f-8af3-8748-5a21fb63271e@kernel.org> (raw)
In-Reply-To: <20190812093129.75888dad@collabora.com>

Hi Boris,

On 12/8/19 5:31 pm, Boris Brezillon wrote:
> On Mon, 12 Aug 2019 12:50:36 +1000
[snip]
> Hm, CTRL1 is identical. Can you dump all regs at the beginning and at
> the end of those funcs?

Here is a more complete dump of registers. Trace points are at
entry and exit of the respective functions in the different
kernel versions. Register dumping code is identical for both.


Linux version 4.16.0 (gerg@goober) (gcc version 4.8.3 (GCC)) #10 Tue Aug 13 10:24:28 AEST 2019
...
drivers/mtd/nand/gpmi-nand/gpmi-lib.c(1073): gpmi_begin(): ENTRY
   HW_GPMI_CTRL0=0x00000000
   HW_GPMI_CTRL1=0x01c4000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000400
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00010203
   HW_GPMI_TIMING1=0x00000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x00000000
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000000
   r->clock[0]=22000000
nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
nand: Micron MT29F2G08ABAEAWP
nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
gpmi-nand 1806000.gpmi-nand: enable the asynchronous EDO mode 5
drivers/mtd/nand/gpmi-nand/gpmi-lib.c(1073): gpmi_begin(): ENTRY
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x0104000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00010203
   HW_GPMI_TIMING1=0x05000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x00000000
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000101
   r->clock[0]=99000000
drivers/mtd/nand/gpmi-nand/gpmi-lib.c(1136): gpmi_begin(): EXIT
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x01c6800c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00010101
   HW_GPMI_TIMING1=0x90000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x00000000
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000101
   r->clock[0]=99000000
Scanning device for bad blocks
5 ofpart partitions found on MTD device gpmi-nand
Creating 5 MTD partitions on "gpmi-nand":
0x000000000000-0x000000500000 : "u-boot"
0x000000500000-0x000000600000 : "u-boot-env"
0x000000600000-0x000000800000 : "log"
0x000000800000-0x000010000000 : "flash"
0x000000000000-0x000010000000 : "all"
gpmi-nand 1806000.gpmi-nand: driver registered.
...

Note that the first ENTRY dump has no matching EXIT dump. From the
code I assume it is returning from gpmi_begin() at the
"if (!hw.sample_delay_factor)" check.


And for the 5.1.14 kernel:

Linux version 5.1.14 (gerg@goober) (gcc version 4.8.3 (GCC)) #27 Tue Aug 13 10:20:32 AEST 2019
...
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(512): gpmi_nfc_apply_timings(): ENTRY
   HW_GPMI_CTRL0=0x00000000
   HW_GPMI_CTRL1=0x01c4000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000400
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00010203
   HW_GPMI_TIMING1=0x00000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x00000000
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000000
   r->clock[0]=22000000
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(536): gpmi_nfc_apply_timings(): EXIT
   HW_GPMI_CTRL0=0x00000000
   HW_GPMI_CTRL1=0x0104000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000400
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00020101
   HW_GPMI_TIMING1=0x60000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x00000000
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000000
   r->clock[0]=22000000
random: fast init done
nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
nand: Micron MT29F2G08ABAEAWP
nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(512): gpmi_nfc_apply_timings(): ENTRY
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x0104000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00020101
   HW_GPMI_TIMING1=0x60000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x0000003f
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000101
   r->clock[0]=22000000
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(536): gpmi_nfc_apply_timings(): EXIT
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x0104000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00020101
   HW_GPMI_TIMING1=0xb0000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x0000003f
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000101
   r->clock[0]=22000000
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(512): gpmi_nfc_apply_timings(): ENTRY
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x0104000c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00020101
   HW_GPMI_TIMING1=0xb0000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x000000e0
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000000
   r->clock[0]=22000000
drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c(536): gpmi_nfc_apply_timings(): EXIT
   HW_GPMI_CTRL0=0x01800001
   HW_GPMI_CTRL1=0x01c6800c
   HW_GPMI_COMPARE=0x00000000
   HW_GPMI_ECCCTRL=0x00000000
   HW_GPMI_ECCCOUNT=0x00000000
   HW_GPMI_PAYLOAD=0x00000000
   HW_GPMI_AUXILIARY=0x00000000
   HW_GPMI_TIMING0=0x00010101
   HW_GPMI_TIMING1=0xe0000000
   HW_GPMI_TIMING2=0x23023336
   HW_GPMI_DATA=0x000000e0
   HW_GPMI_STAT=0xff000005
   HW_GPMI_DEBUG=0x00000000
   r->clock[0]=99000000
Scanning device for bad blocks
5 fixed-partitions partitions found on MTD device gpmi-nand
Creating 5 MTD partitions on "gpmi-nand":
0x000000000000-0x000000500000 : "u-boot"
0x000000500000-0x000000600000 : "u-boot-env"
0x000000600000-0x000000800000 : "log"
0x000000800000-0x000010000000 : "flash"
0x000000000000-0x000010000000 : "all"
gpmi-nand 1806000.gpmi-nand: driver registered.
...


Regards
Greg



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

  reply index

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-29  6:41 Greg Ungerer
2019-07-29  8:36 ` Miquel Raynal
2019-07-29  8:42   ` Michael Nazzareno Trimarchi
2019-07-29 12:18     ` Greg Ungerer
2019-07-29 12:20       ` Michael Nazzareno Trimarchi
2019-07-29 12:33   ` Greg Ungerer
2019-07-29 12:47     ` Miquel Raynal
2019-07-29 12:49       ` Michael Nazzareno Trimarchi
2019-07-29 12:55         ` Miquel Raynal
2019-07-29 13:00           ` Michael Nazzareno Trimarchi
2019-07-29 13:22             ` Miquel Raynal
2019-07-29 20:00               ` Michael Nazzareno Trimarchi
2019-07-29 21:02                 ` Miquel Raynal
2019-07-30  0:28       ` Greg Ungerer
2019-07-30  0:41         ` Greg Ungerer
2019-07-30  6:06           ` Greg Ungerer
2019-07-30  8:38             ` Miquel Raynal
2019-07-30  8:58               ` Boris Brezillon
2019-07-31  2:05               ` Greg Ungerer
2019-07-31  6:28                 ` Boris Brezillon
2019-08-02  7:19                   ` Greg Ungerer
2019-08-02 12:34                   ` Greg Ungerer
2019-08-02 12:51                     ` Boris Brezillon
2019-08-05  5:51                       ` Greg Ungerer
2019-08-07 16:05                         ` Miquel Raynal
2019-08-08  0:43                           ` Greg Ungerer
2019-08-08 16:36                         ` Boris Brezillon
2019-08-09  5:20                           ` Greg Ungerer
2019-08-09  6:23                             ` Boris Brezillon
2019-08-09  6:55                               ` Greg Ungerer
2019-08-09  7:32                                 ` Boris Brezillon
2019-08-09 13:57                                   ` Greg Ungerer
2019-08-09 13:59                                     ` Boris Brezillon
2019-08-12  2:50                                       ` Greg Ungerer
2019-08-12  4:04                                         ` Greg Ungerer
2019-08-12  7:31                                         ` Boris Brezillon
2019-08-13  0:50                                           ` Greg Ungerer [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-10-02 13:22 GPMI IMX6ull timeout on dma Michael Nazzareno Trimarchi
2018-10-04 14:36 ` Michael Nazzareno Trimarchi

Reply instructions:

You may reply publically 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=a47792dc-b19f-8af3-8748-5a21fb63271e@kernel.org \
    --to=gerg@kernel.org \
    --cc=bbrezillon@kernel.org \
    --cc=boris.brezillon@collabora.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=michael@amarulasolutions.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=s.hauer@pengutronix.de \
    /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

Linux-mtd Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mtd/0 linux-mtd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mtd linux-mtd/ https://lore.kernel.org/linux-mtd \
		linux-mtd@lists.infradead.org
	public-inbox-index linux-mtd

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-mtd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git