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

Tokunori Ikegami ikegami.t at gmail.com
Tue Mar 22 16:41:20 PDT 2022


Hi Miquel-san,

On 2022/03/23 3:34, Miquel Raynal wrote:
> Hi Tokunori,
>
> ikegami.t at 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 at gmail.com>
>> Cc: Miquel Raynal <miquel.raynal at bootlin.com>
>> Cc: Richard Weinberger <richard at nod.at>
>> Cc: Vignesh Raghavendra <vigneshr at ti.com>
>> Cc: linux-mtd at 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



More information about the linux-mtd mailing list