From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Xiaolei Li <xiaolei.li@mediatek.com>
Cc: <computersforpeace@gmail.com>, <matthias.bgg@gmail.com>,
<dwmw2@infradead.org>, <linux-mtd@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>, <robh+dt@kernel.org>,
<rogercc.lin@mediatek.com>, <yt.shen@mediatek.com>,
<srv_heupstream@mediatek.com>
Subject: Re: [PATCH v4 3/4] mtd: nand: mediatek: add support for different MTK NAND FLASH Controller IP
Date: Wed, 31 May 2017 08:12:54 +0200 [thread overview]
Message-ID: <20170531081241.2137fe38@bbrezillon> (raw)
In-Reply-To: <1496201877-34373-4-git-send-email-xiaolei.li@mediatek.com>
Le Wed, 31 May 2017 11:37:56 +0800,
Xiaolei Li <xiaolei.li@mediatek.com> a écrit :
>
> -static void mtk_nfc_set_spare_per_sector(u32 *sps, struct mtd_info *mtd)
> +static int mtk_nfc_set_spare_per_sector(u32 *sps, struct mtd_info *mtd)
Why do you change the prototype here? You seem to always return 0
anyway.
> {
> struct nand_chip *nand = mtd_to_nand(mtd);
> - u32 spare[] = {16, 26, 27, 28, 32, 36, 40, 44,
> - 48, 49, 50, 51, 52, 62, 63, 64};
> - u32 eccsteps, i;
> + struct mtk_nfc *nfc = nand_get_controller_data(nand);
> + const u8 *spare = nfc->caps->spare_size;
> + u32 eccsteps, i, j = 0;
Can we rename 'j' into 'closest_spare'?
>
> eccsteps = mtd->writesize / nand->ecc.size;
> *sps = mtd->oobsize / eccsteps;
> @@ -1144,28 +1102,28 @@ static void mtk_nfc_set_spare_per_sector(u32 *sps, struct mtd_info *mtd)
> if (nand->ecc.size == 1024)
> *sps >>= 1;
>
> - for (i = 0; i < ARRAY_SIZE(spare); i++) {
> - if (*sps <= spare[i]) {
> - if (!i)
> - *sps = spare[i];
> - else if (*sps != spare[i])
> - *sps = spare[i - 1];
> - break;
> + for (i = 0; i < nfc->caps->num_spare_size; i++) {
> + if ((*sps >= spare[i]) && (spare[i] >= spare[j])) {
Parenthesis around the 'a >= b' tests are unneeded:
if (*sps >= spare[i] && spare[i] >= spare[j]) {
> + j = i;
> + if (*sps == spare[i])
> + break;
> }
> }
>
> - if (i >= ARRAY_SIZE(spare))
> - *sps = spare[ARRAY_SIZE(spare) - 1];
Maybe you could return an error if you didn't find any entry that is
less that *sps in the table, but I'm not sure this can really happen,
and the minimum spare size seems to be the same for all IPs, this is
something you can check before iterating over the array:
if (*sps < MTK_NFC_MIN_SPARE)
return -EINVAL;
> + *sps = spare[j];
>
> if (nand->ecc.size == 1024)
> *sps <<= 1;
> +
> + return 0;
> }
next prev parent reply other threads:[~2017-05-31 6:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-31 3:37 [PATCH v4 0/4] Mediatek MT2712 NAND FLASH Controller driver Xiaolei Li
2017-05-31 3:37 ` [PATCH v4 1/4] mtd: nand: mediatek: update DT bindings Xiaolei Li
2017-06-06 10:55 ` Matthias Brugger
2017-06-07 7:24 ` xiaolei li
2017-06-07 7:34 ` Boris Brezillon
2017-06-07 7:37 ` xiaolei li
2017-05-31 3:37 ` [PATCH v4 2/4] mtd: nand: mediatek: refine register NFI_PAGEFMT setting Xiaolei Li
2017-05-31 3:37 ` [PATCH v4 3/4] mtd: nand: mediatek: add support for different MTK NAND FLASH Controller IP Xiaolei Li
2017-05-31 6:12 ` Boris Brezillon [this message]
2017-05-31 6:52 ` xiaolei li
2017-05-31 3:37 ` [PATCH v4 4/4] mtd: nand: mediatek: add support for MT2712 NAND FLASH Controller Xiaolei Li
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=20170531081241.2137fe38@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=rogercc.lin@mediatek.com \
--cc=srv_heupstream@mediatek.com \
--cc=xiaolei.li@mediatek.com \
--cc=yt.shen@mediatek.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