[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7909d937-aa93-44bf-a4d3-12849a14fdf4@collabora.com>
Date: Wed, 1 Oct 2025 13:30:01 +0200
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
To: Mikhail Kshevetskiy <mikhail.kshevetskiy@...sys.eu>,
Lorenzo Bianconi <lorenzo@...nel.org>, Ray Liu <ray.liu@...oha.com>,
Mark Brown <broonie@...nel.org>, Andy Shevchenko <andy@...nel.org>,
linux-arm-kernel@...ts.infradead.org, linux-spi@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Andreas Gnau <andreas.gnau@...sys.eu>
Subject: Re: [PATCH RESEND v5 13/13] spi: airoha: buffer must be 0xff-ed
before writing
Il 30/09/25 04:26, Mikhail Kshevetskiy ha scritto:
> During writing, the entire flash page (including OOB) will be updated
> with the values from the temporary buffer, so we need to fill the
> untouched areas of the buffer with 0xff value to prevent accidental
> data overwriting.
>
> Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@...sys.eu>
> ---
> drivers/spi/spi-airoha-snfi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/spi/spi-airoha-snfi.c b/drivers/spi/spi-airoha-snfi.c
> index 437ab6745b1a..57b1950e853f 100644
> --- a/drivers/spi/spi-airoha-snfi.c
> +++ b/drivers/spi/spi-airoha-snfi.c
> @@ -776,6 +776,7 @@ static ssize_t airoha_snand_dirmap_write(struct spi_mem_dirmap_desc *desc,
> return -EOPNOTSUPP;
> }
>
> + memset(txrx_buf, 0xff, bytes);
As you are refactoring this a bit, reading the function isn't straightforward
without applying the series locally.
It looks like you're filling the entire txrx_buf with 0xff.
While that will work for sure, for the sake of performance you should change this
to memset(0xff) only the portions of buffer that the next memcpy call will not
overwrite, avoiding to effectively write twice to that buffer.
Is there any reason why you didn't do just that?
...also because, your commit message really looks like saying what I'm proposing
to do here.
Cheers,
Angelo
> memcpy(txrx_buf + offs, buf, len);
>
> err = airoha_snand_set_mode(as_ctrl, SPI_MODE_DMA);
Powered by blists - more mailing lists