lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 7 Dec 2016 00:05:01 +0100
From:   Cyrille Pitchen <cyrille.pitchen@...ev4u.fr>
To:     Marek Vasut <marek.vasut@...il.com>,
        Cyrille Pitchen <cyrille.pitchen@...el.com>
Cc:     boris.brezillon@...e-electrons.com, computersforpeace@...il.com,
        linux-mtd@...ts.infradead.org, linux-kernel@...r.kernel.org,
        richard@....at
Subject: Re: [PATCH 1/1] mtd: spi-nor: improve macronix_quad_enable()

Le 06/12/2016 à 20:01, Marek Vasut a écrit :
> On 12/06/2016 05:01 PM, Cyrille Pitchen wrote:
>> The patch checks whether the Quad Enable bit is already set in the Status
>> Register. If so, the function exits immediately with a successful return
>> code.
> 
> Performance optimization I presume ?

Performance optimization is one benefit but this real purpose of the
patch is to avoid writing over and over a non-volatile bit at each boot,
actually each time spi_nor_scan() is called.

To be honest, I don't know whether internally the SPI memory is clever
enough not to perform the actual write when it sees the bit value has
not changed. I wanted to improve the memory lifetime by avoiding the
update of the bit from software just to be sure :)

Anyway, thanks for your review!

> 
> Acked-by: Marek Vasut <marek.vasut@...il.com>
> 
>> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@...el.com>
>> Reviewed-by: Jagan Teki <jagan@...nedev.com>
>> ---
>>  drivers/mtd/spi-nor/spi-nor.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
>> index da7cd69d4857..1fd32b991eb7 100644
>> --- a/drivers/mtd/spi-nor/spi-nor.c
>> +++ b/drivers/mtd/spi-nor/spi-nor.c
>> @@ -1216,6 +1216,9 @@ static int macronix_quad_enable(struct spi_nor *nor)
>>  	val = read_sr(nor);
>>  	if (val < 0)
>>  		return val;
>> +	if (val & SR_QUAD_EN_MX)
>> +		return 0;
>> +
>>  	write_enable(nor);
>>  
>>  	write_sr(nor, val | SR_QUAD_EN_MX);
>>
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ