Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1530723 > unrolled thread
| Started by | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| First post | 2016-11-26 19:20 +0100 |
| Last post | 2016-11-27 17:40 +0100 |
| Articles | 4 on this page of 64 — 6 participants |
Back to article view | Back to linux.kernel
[PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 09/39] mtd: nand: denali: fix erased page check code Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 09/39] mtd: nand: denali: fix erased page check code Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 16:30 +0100
Re: [PATCH 09/39] mtd: nand: denali: fix erased page check code Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-02 05:40 +0100
Re: [PATCH 09/39] mtd: nand: denali: fix erased page check code Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-12-02 09:00 +0100
[PATCH 22/39] mtd: nand: denali_dt: remove dma-mask DT property Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 22/39] mtd: nand: denali_dt: remove dma-mask DT property Rob Herring <robh@kernel.org> - 2016-12-01 17:00 +0100
[PATCH 29/39] mtd: nand: denali: refactor multi NAND fixup code in more generic way Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 28/39] mtd: nand: denali: move multi NAND fixup code to a helper function Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 28/39] mtd: nand: denali: move multi NAND fixup code to a helper function Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 17:30 +0100
Re: [PATCH 28/39] mtd: nand: denali: move multi NAND fixup code to a helper function Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-30 07:10 +0100
Re: [PATCH 28/39] mtd: nand: denali: move multi NAND fixup code to a helper function Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-30 09:10 +0100
[PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 16:40 +0100
Re: [PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 16:50 +0100
Re: [PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-02 05:30 +0100
Re: [PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-12-02 09:00 +0100
[PATCH 18/39] mtd: nand: denali: move denali_read_page_raw() above denali_read_page() Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 18/39] mtd: nand: denali: move denali_read_page_raw() above denali_read_page() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 17:20 +0100
Re: [PATCH 18/39] mtd: nand: denali: move denali_read_page_raw() above denali_read_page() Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-30 07:20 +0100
[PATCH 37/39] mtd: nand: denali: support "nand-ecc-strength" DT property Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 37/39] mtd: nand: denali: support "nand-ecc-strength" DT property Rob Herring <robh@kernel.org> - 2016-12-01 17:20 +0100
[PATCH 23/39] mtd: nand: denali_dt: use pdev instead of ofdev for platform_device Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 36/39] mtd: nand: denali: allow to use SoC-specific ECC strength Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 02/39] mtd: nand: denali: remove unused CONFIG option and macros Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 30/39] mtd: nand: denali: set DEVICES_CONNECTED 1 if not set Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 27/39] mtd: nand: denali: do not set mtd->name Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 35/39] mtd: nand: denali: calculate ecc.strength and ecc.bytes generically Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Rob Herring <robh@kernel.org> - 2016-12-01 17:10 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-02 04:00 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Rob Herring <robh@kernel.org> - 2016-12-02 17:30 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-03 03:50 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Marek Vasut <marek.vasut@gmail.com> - 2016-12-03 04:00 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Dinh Nguyen <dinh.linux@gmail.com> - 2016-12-03 23:10 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-05 04:40 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Marek Vasut <marek.vasut@gmail.com> - 2016-12-05 04:50 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-05 05:20 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Marek Vasut <marek.vasut@gmail.com> - 2016-12-05 05:30 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Dinh Nguyen <dinh.linux@gmail.com> - 2016-12-05 22:00 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Marek Vasut <marek.vasut@gmail.com> - 2016-12-05 22:50 +0100
Re: [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Dinh Nguyen <dinguyen@kernel.org> - 2016-12-05 23:40 +0100
[PATCH 12/39] mtd: nand: denali: return 0 for uncorrectable ECC error Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 31/39] mtd: nand: denali: remove meaningless writes to read-only registers Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 32/39] mtd: nand: denali: remove unnecessary writes to ECC_CORRECTION Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 01/39] mtd: nand: allow to set only one of ECC size and ECC strength from DT Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 01/39] mtd: nand: allow to set only one of ECC size and ECC strength from DT Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 15:00 +0100
[PATCH 06/39] mtd: nand: denali: fix write_oob_data() function Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 03/39] mtd: nand: denali: remove redundant define of BANK(x) Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 05/39] mtd: nand: denali: fix comment of denali_nand_info::flash_mem Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 14/39] mtd: nand: denali: replace uint{8/16/32}_t with u{8/16/32} Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 24/39] mtd: nand: denali: add NEW_N_BANKS_FORMAT capability Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 26/39] mtd: nand: denali: call nand_set_flash_node() to set DT node Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 33/39] mtd: nand: denali: support 1024 byte ECC step size Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 33/39] mtd: nand: denali: support 1024 byte ECC step size Rob Herring <robh@kernel.org> - 2016-12-01 17:00 +0100
[PATCH 10/39] mtd: nand: denali: remove redundant if conditional of erased_check Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
[PATCH 38/39] mtd: nand: denali: remove Toshiba, Hynix specific fixup code Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-26 19:20 +0100
Re: [PATCH 38/39] mtd: nand: denali: remove Toshiba, Hynix specific fixup code Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 17:30 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 16:10 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-30 09:10 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-30 09:20 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-12-01 10:20 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Masahiro Yamada <yamada.masahiro@socionext.com> - 2016-11-30 09:20 +0100
Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-27 17:40 +0100
Page 4 of 4 — ← Prev page 1 2 3 [4]
| From | Boris Brezillon <boris.brezillon@free-electrons.com> |
|---|---|
| Date | 2016-11-30 09:20 +0100 |
| Subject | Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb |
| Message-ID | <sJ8hr-3E8-11@gated-at.bofh.it> |
| In reply to | #1533051 |
On Wed, 30 Nov 2016 17:02:16 +0900 Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > Hi. > > 2016-11-28 0:04 GMT+09:00 Boris Brezillon <boris.brezillon@free-electrons.com>: > > +Andy > > > > Hi Masahiro, > > > > On Sun, 27 Nov 2016 03:05:46 +0900 > > Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > > > >> As I said in the 1st round series, I am tackling on this driver > >> to use it for my SoCs. > >> > >> The previous series was just cosmetic things, but this series > >> includes *real* changes. > >> > >> After some more cleanups, I will start to add changes that > >> are really necessary. > >> One of the biggest problems I want to solve is a bunch of > >> hard-coded parameters that prevent me from using this driver for > >> my SoCs. > >> > >> I will introduce capability flags that are associated with DT > >> compatible and make platform-dependent parameters overridable. > >> > >> I still have lots of reworks to get done (so probably 3rd round > >> series will come), but I hope it is getting better and > >> I am showing a big picture now. > >> > > > > Thanks for posting this 2nd round of patches, I know have a clearer > > view of what you're trying to achieve. > > Could you be a bit more specific about the remaining rework (your 3rd > > round)? > > > [1] > I want to remove > get_samsung_nand_para() > get_onfi_nand_para() > > The driver should not hard-code timing parameters of Samsung specific > chips. For ONFI, it is duplicating effort of the core framework. Definitely. > > I am thinking if it would be possible to implement > chip->setup_data_interface() in order to set up > timings in a generic way. Indeed, and that'd be really cool to have this driver converted to this new interface. > > [2] > Remove driver-internal bounce buffer. > The current Denali driver allocate DMA_BIDIRECTIONAL buffer > to use it as a driver-internal bounce buffer. > > The hardware transfer page data into the bounce buffer, > then CPU copies from the bounce buffer to a given buf (and oob_poi). > This is not efficient. > > So, I want to set NAND_USE_BOUNCE_BUFFER flag > and do dma_map_single directly for a given buffer. Sounds good. Be careful though, when you use the generic bounce buffer interface you might have to clear the page cache info (->pagebuf = -1). > > [3] > Fix raw and oob callbacks. > > I asked in another thread, > the current driver just puts the physically accessed OOB data > into oob_poi, which is not a collection of ECC data. > Raw write/read() are wrong as well. That's all good things too. > > After fixing those, enable BBT scan by removing the following flag: > /* skip the scan for now until we have OOB read and write support */ > chip->options |= NAND_SKIP_BBTSCAN; > Hm, here you have a problem. The layout you described replaces BBMs by payload data, thus preventing the BBM scan approach (or at least, it won't work with factory BBMs). Some drivers/controllers have an extra 'switch BBM/data bytes' step to restore the BBM at the correct place before flushing the data to the NAND or after reading a page, but I'm not sure this is the case here. > > > > Also, if you don't mind, I'd like to have reviews and testing from intel > > users before applying the series. Can you Cc Andy (and possibly other > > intel maintainers) for the next round. > > Sure. > > Anyway, this series already missed the pull-req for 4.10-rc1, > we have plenty of time until 4.11-rc1. > > Review/test from Intel engineers are very appreciated > because I have no access to their boards. > >
[toc] | [prev] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2016-12-01 10:20 +0100 |
| Subject | Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb |
| Message-ID | <sJvH4-1Xf-7@gated-at.bofh.it> |
| In reply to | #1533058 |
Hi Boris, 2016-11-30 17:17 GMT+09:00 Boris Brezillon <boris.brezillon@free-electrons.com>: >> [3] >> Fix raw and oob callbacks. >> >> I asked in another thread, >> the current driver just puts the physically accessed OOB data >> into oob_poi, which is not a collection of ECC data. >> Raw write/read() are wrong as well. > > That's all good things too. > >> >> After fixing those, enable BBT scan by removing the following flag: >> /* skip the scan for now until we have OOB read and write support */ >> chip->options |= NAND_SKIP_BBTSCAN; >> > > Hm, here you have a problem. The layout you described replaces BBMs by > payload data, thus preventing the BBM scan approach (or at least, it > won't work with factory BBMs). As I answered in another mail, the Denali IP expects BBMs at the beginning of each OOB area (standard location). They are protected from the ECC engine. I just did not mention the BBM-reserved area to make the story simpler. So, after fixing oob read/write functions, the driver will be able to enable BBT-scanning. -- Best Regards Masahiro Yamada
[toc] | [prev] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2016-11-30 09:20 +0100 |
| Subject | Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb |
| Message-ID | <sJ8hr-3E8-9@gated-at.bofh.it> |
| In reply to | #1530883 |
2016-11-28 0:04 GMT+09:00 Boris Brezillon <boris.brezillon@free-electrons.com>: > +Andy > > Hi Masahiro, > > On Sun, 27 Nov 2016 03:05:46 +0900 > Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > >> As I said in the 1st round series, I am tackling on this driver >> to use it for my SoCs. >> >> The previous series was just cosmetic things, but this series >> includes *real* changes. >> >> After some more cleanups, I will start to add changes that >> are really necessary. >> One of the biggest problems I want to solve is a bunch of >> hard-coded parameters that prevent me from using this driver for >> my SoCs. >> >> I will introduce capability flags that are associated with DT >> compatible and make platform-dependent parameters overridable. >> >> I still have lots of reworks to get done (so probably 3rd round >> series will come), but I hope it is getting better and >> I am showing a big picture now. >> > > Thanks for posting this 2nd round of patches, I know have a clearer > view of what you're trying to achieve. > Could you be a bit more specific about the remaining rework (your 3rd > round)? We still have plenty of time, and no reason to hurry now. So, you do not have to apply this series until you see an even bigger picture. I will try my best to include as many of my plans as possible in this round. I may end up with dropping my on-going work to the ML occasionally because I want early feedback in case I am doing something wrong. -- Best Regards Masahiro Yamada
[toc] | [prev] | [next] | [standalone]
| From | Boris Brezillon <boris.brezillon@free-electrons.com> |
|---|---|
| Date | 2016-11-27 17:40 +0100 |
| Subject | Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb |
| Message-ID | <sIaEG-6Hs-23@gated-at.bofh.it> |
| In reply to | #1530723 |
On Sun, 27 Nov 2016 03:05:46 +0900
Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
> As I said in the 1st round series, I am tackling on this driver
> to use it for my SoCs.
>
> The previous series was just cosmetic things, but this series
> includes *real* changes.
>
> After some more cleanups, I will start to add changes that
> are really necessary.
> One of the biggest problems I want to solve is a bunch of
> hard-coded parameters that prevent me from using this driver for
> my SoCs.
>
> I will introduce capability flags that are associated with DT
> compatible and make platform-dependent parameters overridable.
>
> I still have lots of reworks to get done (so probably 3rd round
> series will come), but I hope it is getting better and
> I am showing a big picture now.
>
I still need to carefully review some of those patches, but I must
admit I like some of the cleanups/rework you're doing here.
Thanks for all your work.
Boris
>
>
> Masahiro Yamada (39):
> mtd: nand: allow to set only one of ECC size and ECC strength from DT
> mtd: nand: denali: remove unused CONFIG option and macros
> mtd: nand: denali: remove redundant define of BANK(x)
> mtd: nand: denali: remove more unused struct members
> mtd: nand: denali: fix comment of denali_nand_info::flash_mem
> mtd: nand: denali: fix write_oob_data() function
> mtd: nand: denali: transfer OOB only when oob_required is set
> mtd: nand: denali: introduce capability flag
> mtd: nand: denali: fix erased page check code
> mtd: nand: denali: remove redundant if conditional of erased_check
> mtd: nand: denali: increment ecc_stats.failed by one per error
> mtd: nand: denali: return 0 for uncorrectable ECC error
> mtd: nand: denali: increment ecc_stats->corrected
> mtd: nand: denali: replace uint{8/16/32}_t with u{8/16/32}
> mtd: nand: denali: improve readability of handle_ecc()
> mtd: nand: denali: rename handle_ecc() to denali_sw_ecc_fixup()
> mtd: nand: denali: support HW_ECC_FIXUP capability
> mtd: nand: denali: move denali_read_page_raw() above
> denali_read_page()
> mtd: nand: denali: perform erased check against raw transferred page
> mtd: nand: denali_dt: enable HW_ECC_FIXUP capability for DT platform
> mtd: nand: denali: support 64bit capable DMA engine
> mtd: nand: denali_dt: remove dma-mask DT property
> mtd: nand: denali_dt: use pdev instead of ofdev for platform_device
> mtd: nand: denali: add NEW_N_BANKS_FORMAT capability
> mtd: nand: denali: use nand_chip to hold frequently accessed data
> mtd: nand: denali: call nand_set_flash_node() to set DT node
> mtd: nand: denali: do not set mtd->name
> mtd: nand: denali: move multi NAND fixup code to a helper function
> mtd: nand: denali: refactor multi NAND fixup code in more generic way
> mtd: nand: denali: set DEVICES_CONNECTED 1 if not set
> mtd: nand: denali: remove meaningless writes to read-only registers
> mtd: nand: denali: remove unnecessary writes to ECC_CORRECTION
> mtd: nand: denali: support 1024 byte ECC step size
> mtd: nand: denali: fix the condition for 15 bit ECC strength
> mtd: nand: denali: calculate ecc.strength and ecc.bytes generically
> mtd: nand: denali: allow to use SoC-specific ECC strength
> mtd: nand: denali: support "nand-ecc-strength" DT property
> mtd: nand: denali: remove Toshiba, Hynix specific fixup code
> mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants
>
> .../devicetree/bindings/mtd/denali-nand.txt | 19 +-
> drivers/mtd/nand/Kconfig | 11 -
> drivers/mtd/nand/denali.c | 740 ++++++++++++---------
> drivers/mtd/nand/denali.h | 84 +--
> drivers/mtd/nand/denali_dt.c | 95 ++-
> drivers/mtd/nand/denali_pci.c | 2 +
> drivers/mtd/nand/nand_base.c | 6 -
> 7 files changed, 515 insertions(+), 442 deletions(-)
>
[toc] | [prev] | [standalone]
Page 4 of 4 — ← Prev page 1 2 3 [4]
Back to top | Article view | linux.kernel
csiph-web