mbox series

[v3,0/4] MTK NAND driver improvements and fixes

Message ID 20190507102541.34341-1-xiaolei.li@mediatek.com
Headers show
Series MTK NAND driver improvements and fixes | expand

Message

xiaolei li May 7, 2019, 10:25 a.m. UTC
The following patch set mainly contains:
* Fix low level time calculation of read/write cycle to meet tRC_min
  and tWC_min requirements.
* Refine RE# pulse width calculation and data sampling to improve read
  performance.
* Add CS validity check.
* Fix oob buffer pointer wrongly setting.

Changes on v3 relative to:
--------------------

tree    : https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git/
branch  : nand/next
commit  :
        'commit 1c14fe2167ef ("mtd: nandsim: switch to exec_op interface")

Patch v3:
---------
- Fix some comment style.
- Format patch base branch: nand/next
- Pend to sent patch "mtd: rawnand: mtk: Setup empty page threshold
  correctly", because it seems that we should confirm this change has no
  side effect and need more test.

Patch v2:
---------
- Fix type
- Reference correct faulty patch
- Refine code to do calculation and condition in separate steps
- Fix empty threshold calculation

Tests:
------

* ubifs and jffs2 are validated on NAND device MT29F16G08ADBCA by
  'dd' command.
* all drivers/mtd/tests/* pass.
* speed test:
  eraseblock write speed is 11087 KiB/s
  eraseblock read speed is 19986 KiB/s
  page write speed is 10689 KiB/s
  page read speed is 18724 KiB/s
  2 page write speed is 10611 KiB/s
  2 page read speed is 18713 KiB/s
  erase speed is 103696 KiB/s
  2x multi-block erase speed is 354248 KiB/s
  4x multi-block erase speed is 350459 KiB/s
  8x multi-block erase speed is 356173 KiB/s
  16x multi-block erase speed is 356173 KiB/s
  32x multi-block erase speed is 358120 KiB/s
  64x multi-block erase speed is 356173 KiB/s

Xiaolei Li (4):
  mtd: rawnand: mtk: Correct low level time calculation of r/w cycle
  mtd: rawnand: mtk: Improve data sampling timing for read cycle
  mtd: rawnand: mtk: Add validity check for CE# pin setting
  mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue

 drivers/mtd/nand/raw/mtk_nand.c | 84 +++++++++++++++++++++++++++------
 1 file changed, 70 insertions(+), 14 deletions(-)

Comments

xiaolei li May 17, 2019, 1:32 a.m. UTC | #1
Hi Miquel,

Sorry to bother you, but may I ask if it is fine to accept this patch
set now, patches all with your review.

Thanks,
Xiaolei

On Tue, 2019-05-07 at 18:25 +0800, Xiaolei Li wrote:
> The following patch set mainly contains:
> * Fix low level time calculation of read/write cycle to meet tRC_min
>   and tWC_min requirements.
> * Refine RE# pulse width calculation and data sampling to improve read
>   performance.
> * Add CS validity check.
> * Fix oob buffer pointer wrongly setting.
> 
> Changes on v3 relative to:
> --------------------
> 
> tree    : https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git/
> branch  : nand/next
> commit  :
>         'commit 1c14fe2167ef ("mtd: nandsim: switch to exec_op interface")
> 
> Patch v3:
> ---------
> - Fix some comment style.
> - Format patch base branch: nand/next
> - Pend to sent patch "mtd: rawnand: mtk: Setup empty page threshold
>   correctly", because it seems that we should confirm this change has no
>   side effect and need more test.
> 
> Patch v2:
> ---------
> - Fix type
> - Reference correct faulty patch
> - Refine code to do calculation and condition in separate steps
> - Fix empty threshold calculation
> 
> Tests:
> ------
> 
> * ubifs and jffs2 are validated on NAND device MT29F16G08ADBCA by
>   'dd' command.
> * all drivers/mtd/tests/* pass.
> * speed test:
>   eraseblock write speed is 11087 KiB/s
>   eraseblock read speed is 19986 KiB/s
>   page write speed is 10689 KiB/s
>   page read speed is 18724 KiB/s
>   2 page write speed is 10611 KiB/s
>   2 page read speed is 18713 KiB/s
>   erase speed is 103696 KiB/s
>   2x multi-block erase speed is 354248 KiB/s
>   4x multi-block erase speed is 350459 KiB/s
>   8x multi-block erase speed is 356173 KiB/s
>   16x multi-block erase speed is 356173 KiB/s
>   32x multi-block erase speed is 358120 KiB/s
>   64x multi-block erase speed is 356173 KiB/s
> 
> Xiaolei Li (4):
>   mtd: rawnand: mtk: Correct low level time calculation of r/w cycle
>   mtd: rawnand: mtk: Improve data sampling timing for read cycle
>   mtd: rawnand: mtk: Add validity check for CE# pin setting
>   mtd: rawnand: mtk: Fix wrongly assigned OOB buffer pointer issue
> 
>  drivers/mtd/nand/raw/mtk_nand.c | 84 +++++++++++++++++++++++++++------
>  1 file changed, 70 insertions(+), 14 deletions(-)
>
Miquel Raynal May 17, 2019, 8:12 a.m. UTC | #2
Hi xiaolei,

xiaolei li <xiaolei.li@mediatek.com> wrote on Fri, 17 May 2019 09:32:47
+0800:

> Hi Miquel,
> 
> Sorry to bother you, but may I ask if it is fine to accept this patch
> set now, patches all with your review.

We are in the middle of the merge window, so yes, I will take your
patches, but not now.

Thanks,
Miquèl
xiaolei li May 17, 2019, 9:21 a.m. UTC | #3
On Fri, 2019-05-17 at 10:12 +0200, Miquel Raynal wrote:
> Hi xiaolei,
> 
> xiaolei li <xiaolei.li@mediatek.com> wrote on Fri, 17 May 2019 09:32:47
> +0800:
> 
> > Hi Miquel,
> > 
> > Sorry to bother you, but may I ask if it is fine to accept this patch
> > set now, patches all with your review.
> 
> We are in the middle of the merge window, so yes, I will take your
> patches, but not now.

Got it. Thanks Miquel.

> 
> Thanks,
> Miquèl