Re: [PATCH v5 3/3] mtd: cfi_cmdset_0002: Add S29GL064N ID definition

Tokunori Ikegami
2022-03-22T23:41:51Z

Hi Miquel-san,

On 2022/03/23 3:34, Miquel Raynal wrote:
> Hi Tokunori,
>
> ikegami.t@gmail.com wrote on Tue, 22 Mar 2022 11:10:01 +0900:
>
>> It is for the model number 01, 02, V1 and V2.
>>
>> Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
>> Cc: Miquel Raynal <miquel.raynal@bootlin.com>
>> Cc: Richard Weinberger <richard@nod.at>
>> Cc: Vignesh Raghavendra <vigneshr@ti.com>
>> Cc: linux-mtd@lists.infradead.org
>> ---
>> drivers/mtd/chips/cfi_cmdset_0002.c | 19 ++++++++++---------
>> 1 file changed, 10 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
>> index 59334530dd46..67453f59c69c 100644
>> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
>> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
>> @@ -48,6 +48,7 @@
>> #define SST49LF040B 0x0050
>> #define SST49LF008A 0x005a
>> #define AT49BV6416 0x00d6
>> +#define S29GL064N_MN12 0x0c01
>>
>> /*
>> * Status Register bit description. Used by flash devices that don't
>> @@ -445,7 +446,7 @@ static void fixup_quirks(struct mtd_info *mtd)
>> struct map_info *map = mtd->priv;
>> struct cfi_private *cfi = map->fldrv_priv;
>>
>> - if (cfi->mfr == CFI_MFR_AMD && cfi->id == 0x0c01)
>> + if (cfi->mfr == CFI_MFR_AMD && cfi->id == S29GL064N_MN12)
>> cfi->quirks |= CFI_QUIRK_DQ_TRUE_DATA;
>> }
>>
>> @@ -475,7 +476,7 @@ static struct cfi_fixup cfi_fixup_table[] = {
>> { CFI_MFR_AMD, 0x0056, fixup_use_secsi },
>> { CFI_MFR_AMD, 0x005C, fixup_use_secsi },
>> { CFI_MFR_AMD, 0x005F, fixup_use_secsi },
>> - { CFI_MFR_AMD, 0x0c01, fixup_s29gl064n_sectors },
>> + { CFI_MFR_AMD, S29GL064N_MN12, fixup_s29gl064n_sectors },
>> { CFI_MFR_AMD, 0x1301, fixup_s29gl064n_sectors },
>> { CFI_MFR_AMD, 0x1a00, fixup_s29gl032n_sectors },
>> { CFI_MFR_AMD, 0x1a01, fixup_s29gl032n_sectors },
>> @@ -833,7 +834,7 @@ static int __xipram chip_ready(struct map_info *map, struct flchip *chip,
>> unsigned long addr, map_word *expected)
>> {
>> struct cfi_private *cfi = map->fldrv_priv;
>> - map_word d, t;
>> + map_word oldd, curd;
>> int ret;
>>
>> if (cfi_use_status_reg(cfi)) {
>> @@ -844,20 +845,20 @@ static int __xipram chip_ready(struct map_info *map, struct flchip *chip,
>> */
>> cfi_send_gen_cmd(0x70, cfi->addr_unlock1, chip->start, map, cfi,
>> cfi->device_type, NULL);
>> - t = map_read(map, addr);
>> + curd = map_read(map, addr);
>>
>> - return map_word_andequal(map, t, ready, ready);
>> + return map_word_andequal(map, curd, ready, ready);
>> }
>>
>> - d = map_read(map, addr);
>> - t = map_read(map, addr);
>> + oldd = map_read(map, addr);
>> + curd = map_read(map, addr);
>>
>> - ret = map_word_equal(map, d, t);
>> + ret = map_word_equal(map, oldd, curd);
>>
>> if (!ret || !expected)
>> return ret;
>>
>> - return map_word_equal(map, t, *expected);
>> + return map_word_equal(map, curd, *expected);
> Looks like there is a rebase issue.

The changes added are for the patch v4 1/3 comment below. Sorry I missed
to update the commit message so will update it as so.
> A lot of the diff is just a rename. I am not against a rename if you
> feel it's better, but in this order:
> 1: prepare the fix
> 2: fix
> 3: rename/define id's, whatever

Regards,
Ikegami

>
>> }
>>
>> static int __xipram chip_good(struct map_info *map, struct flchip *chip,
>
> Thanks,
> Miquèl