Re: [PATCH 1/2] mtd: spi-nor: add block protection flags to macronix

Michael Walle
2021-03-08T15:23:43Z

Am 2021-03-08 15:20, schrieb Vignesh Raghavendra:
> On 3/3/21 3:18 PM, David Bauer wrote:
>> Macronix flash chips support block protection by using BP bits in the
>> read status register. Add the corresponding flag to indicate block
>> protection support.
>>
>> Otherwise, locked blocks are not unlocked when requested.
>>
>> Signed-off-by: David Bauer <mail@david-bauer.net>
>> ---
>> drivers/mtd/spi-nor/macronix.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/mtd/spi-nor/macronix.c
>> b/drivers/mtd/spi-nor/macronix.c
>> index 9203abaac229..2d39dd32a64e 100644
>> --- a/drivers/mtd/spi-nor/macronix.c
>> +++ b/drivers/mtd/spi-nor/macronix.c
>> @@ -94,6 +94,7 @@ static const struct flash_info macronix_parts[] = {
>>
>> static void macronix_default_init(struct spi_nor *nor)
>> {
>> + nor->flags |= SNOR_F_HAS_LOCK;
>
> We need to take into account the state of TB bit (Config Reg bit3).
> This
> is an OTP bit and driver should not ideally change it but should
> consider the state of the bit.
>
> Without looking at TB bit, current locking implementation would be
> incomplete.

If someone wants to dig into that, some time ago I tried it myself:
https://github.com/mwalle/linux/commit/1a56154bbe1696268d1245eea9e170a2feb7ca46
https://github.com/mwalle/linux/commit/7f3d4f7cbac87a6c5b900be7164dabb8991b0f93

I've never managed to post them to the list and they aren't tested
and they have yet another new flag.. And there was some catch with
it, I don't remember anymore right now.

-michael