From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Marek Vasut <marek.vasut@gmail.com>,
Brian Norris <computersforpeace@gmail.com>,
Richard Weinberger <richard@nod.at>,
David Woodhouse <dwmw2@infradead.org>,
Cyrille Pitchen <cyrille.pitchen@atmel.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb
Date: Wed, 30 Nov 2016 17:02:16 +0900 [thread overview]
Message-ID: <CAK7LNAQPm7w0_iSDLJihFaxSdMp5UMnpDZH5nBTyVnoLL9KYjg@mail.gmail.com> (raw)
In-Reply-To: <20161127160459.5894be93@bbrezillon>
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.
I am thinking if it would be possible to implement
chip->setup_data_interface() in order to set up
timings in a generic way.
[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.
[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.
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;
> 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.
--
Best Regards
Masahiro Yamada
next prev parent reply other threads:[~2016-11-30 8:02 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-26 18:05 [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Masahiro Yamada
2016-11-26 18:05 ` [PATCH 01/39] mtd: nand: allow to set only one of ECC size and ECC strength from DT Masahiro Yamada
2016-11-27 13:58 ` Boris Brezillon
2016-11-26 18:05 ` [PATCH 02/39] mtd: nand: denali: remove unused CONFIG option and macros Masahiro Yamada
2016-11-26 18:05 ` [PATCH 03/39] mtd: nand: denali: remove redundant define of BANK(x) Masahiro Yamada
2016-11-26 18:05 ` [PATCH 04/39] mtd: nand: denali: remove more unused struct members Masahiro Yamada
2016-11-27 15:12 ` Boris Brezillon
2016-11-30 7:16 ` Masahiro Yamada
2016-11-30 7:47 ` Boris Brezillon
2016-11-26 18:05 ` [PATCH 05/39] mtd: nand: denali: fix comment of denali_nand_info::flash_mem Masahiro Yamada
2016-11-26 18:05 ` [PATCH 06/39] mtd: nand: denali: fix write_oob_data() function Masahiro Yamada
2016-11-26 18:05 ` [PATCH 07/39] mtd: nand: denali: transfer OOB only when oob_required is set Masahiro Yamada
2016-11-26 18:05 ` [PATCH 08/39] mtd: nand: denali: introduce capability flag Masahiro Yamada
2016-11-26 18:05 ` [PATCH 09/39] mtd: nand: denali: fix erased page check code Masahiro Yamada
2016-11-27 15:21 ` Boris Brezillon
2016-12-02 4:33 ` Masahiro Yamada
2016-12-02 7:57 ` Boris Brezillon
2016-11-26 18:05 ` [PATCH 10/39] mtd: nand: denali: remove redundant if conditional of erased_check Masahiro Yamada
2016-11-26 18:05 ` [PATCH 11/39] mtd: nand: denali: increment ecc_stats.failed by one per error Masahiro Yamada
2016-11-26 18:05 ` [PATCH 12/39] mtd: nand: denali: return 0 for uncorrectable ECC error Masahiro Yamada
2016-11-26 18:05 ` [PATCH 13/39] mtd: nand: denali: increment ecc_stats->corrected Masahiro Yamada
2016-11-27 15:31 ` Boris Brezillon
2016-12-02 4:28 ` Masahiro Yamada
2016-11-26 18:06 ` [PATCH 14/39] mtd: nand: denali: replace uint{8/16/32}_t with u{8/16/32} Masahiro Yamada
2016-11-26 18:06 ` [PATCH 15/39] mtd: nand: denali: improve readability of handle_ecc() Masahiro Yamada
2016-11-27 15:34 ` Boris Brezillon
2016-11-27 15:42 ` Boris Brezillon
2016-12-02 4:26 ` Masahiro Yamada
2016-12-02 7:55 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 16/39] mtd: nand: denali: rename handle_ecc() to denali_sw_ecc_fixup() Masahiro Yamada
2016-11-26 18:06 ` [PATCH 17/39] mtd: nand: denali: support HW_ECC_FIXUP capability Masahiro Yamada
2016-11-27 16:09 ` Boris Brezillon
2016-11-30 6:20 ` Masahiro Yamada
2016-11-30 7:51 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 18/39] mtd: nand: denali: move denali_read_page_raw() above denali_read_page() Masahiro Yamada
2016-11-27 16:10 ` Boris Brezillon
2016-11-30 6:13 ` Masahiro Yamada
2016-11-26 18:06 ` [PATCH 19/39] mtd: nand: denali: perform erased check against raw transferred page Masahiro Yamada
2016-11-27 16:12 ` Boris Brezillon
2016-11-30 5:36 ` Masahiro Yamada
2016-11-30 8:00 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 20/39] mtd: nand: denali_dt: enable HW_ECC_FIXUP capability for DT platform Masahiro Yamada
2016-11-27 16:14 ` Boris Brezillon
2016-11-30 6:14 ` Masahiro Yamada
2016-11-26 18:06 ` [PATCH 21/39] mtd: nand: denali: support 64bit capable DMA engine Masahiro Yamada
2016-11-27 16:16 ` Boris Brezillon
2016-11-30 7:11 ` Masahiro Yamada
2016-11-30 7:17 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 22/39] mtd: nand: denali_dt: remove dma-mask DT property Masahiro Yamada
2016-12-01 15:56 ` Rob Herring
2016-11-26 18:06 ` [PATCH 23/39] mtd: nand: denali_dt: use pdev instead of ofdev for platform_device Masahiro Yamada
2016-11-26 18:06 ` [PATCH 24/39] mtd: nand: denali: add NEW_N_BANKS_FORMAT capability Masahiro Yamada
2016-11-26 18:06 ` [PATCH 25/39] mtd: nand: denali: use nand_chip to hold frequently accessed data Masahiro Yamada
2016-11-26 18:06 ` [PATCH 26/39] mtd: nand: denali: call nand_set_flash_node() to set DT node Masahiro Yamada
2016-11-26 18:06 ` [PATCH 27/39] mtd: nand: denali: do not set mtd->name Masahiro Yamada
2016-11-26 18:06 ` [PATCH 28/39] mtd: nand: denali: move multi NAND fixup code to a helper function Masahiro Yamada
2016-11-27 16:24 ` Boris Brezillon
2016-11-30 6:09 ` Masahiro Yamada
2016-11-30 8:07 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 29/39] mtd: nand: denali: refactor multi NAND fixup code in more generic way Masahiro Yamada
2016-11-26 18:06 ` [PATCH 30/39] mtd: nand: denali: set DEVICES_CONNECTED 1 if not set Masahiro Yamada
2016-11-26 18:06 ` [PATCH 31/39] mtd: nand: denali: remove meaningless writes to read-only registers Masahiro Yamada
2016-11-26 18:06 ` [PATCH 32/39] mtd: nand: denali: remove unnecessary writes to ECC_CORRECTION Masahiro Yamada
2016-11-26 18:06 ` [PATCH 33/39] mtd: nand: denali: support 1024 byte ECC step size Masahiro Yamada
2016-12-01 15:58 ` Rob Herring
2016-11-26 18:06 ` [PATCH 34/39] mtd: nand: denali: fix the condition for 15 bit ECC strength Masahiro Yamada
2016-11-26 18:06 ` [PATCH 35/39] mtd: nand: denali: calculate ecc.strength and ecc.bytes generically Masahiro Yamada
2016-11-26 18:06 ` [PATCH 36/39] mtd: nand: denali: allow to use SoC-specific ECC strength Masahiro Yamada
2016-11-26 18:06 ` [PATCH 37/39] mtd: nand: denali: support "nand-ecc-strength" DT property Masahiro Yamada
2016-12-01 15:59 ` Rob Herring
2016-11-26 18:06 ` [PATCH 38/39] mtd: nand: denali: remove Toshiba, Hynix specific fixup code Masahiro Yamada
2016-11-27 16:28 ` Boris Brezillon
2016-11-26 18:06 ` [PATCH 39/39] mtd: nand: denali_dt: add compatible strings for UniPhier SoC variants Masahiro Yamada
2016-12-01 16:05 ` Rob Herring
2016-12-02 2:54 ` Masahiro Yamada
2016-12-02 16:26 ` Rob Herring
2016-12-03 2:41 ` Masahiro Yamada
2016-12-03 2:49 ` Marek Vasut
2016-12-03 22:08 ` Dinh Nguyen
2016-12-05 3:30 ` Masahiro Yamada
2016-12-05 3:44 ` Marek Vasut
2016-12-05 4:10 ` Masahiro Yamada
2016-12-05 4:22 ` Marek Vasut
2016-12-05 20:51 ` Dinh Nguyen
2016-12-05 21:29 ` Marek Vasut
2016-12-05 22:31 ` Dinh Nguyen
2016-11-27 15:04 ` [PATCH 00/39] mtd: nand: denali: 2nd round of Denali NAND IP patch bomb Boris Brezillon
2016-11-30 8:02 ` Masahiro Yamada [this message]
2016-11-30 8:17 ` Boris Brezillon
2016-12-01 9:15 ` Masahiro Yamada
2017-03-10 11:00 ` Masahiro Yamada
2017-03-13 11:33 ` Boris Brezillon
2016-11-30 8:13 ` Masahiro Yamada
2016-11-27 16:31 ` Boris Brezillon
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=CAK7LNAQPm7w0_iSDLJihFaxSdMp5UMnpDZH5nBTyVnoLL9KYjg@mail.gmail.com \
--to=yamada.masahiro@socionext.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=boris.brezillon@free-electrons.com \
--cc=computersforpeace@gmail.com \
--cc=cyrille.pitchen@atmel.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=mark.rutland@arm.com \
--cc=richard@nod.at \
--cc=robh+dt@kernel.org \
/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).