diff mbox series

[v4,9/9] spi: rpc-if: Add write support for memory-mapped area

Message ID 20250401143537.224047-10-biju.das.jz@bp.renesas.com
State Superseded
Headers show
Series Add RZ/G3E xSPI support | expand

Commit Message

Biju Das April 1, 2025, 2:35 p.m. UTC
Add write support for memory-mapped area as xSPI interface require
it.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
 * No change.
v2->v3:
 * No change.
v1->v2:
 * No change.
---
 drivers/spi/spi-rpc-if.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

Comments

Krzysztof Kozlowski April 15, 2025, 6:07 a.m. UTC | #1
On 01/04/2025 16:35, Biju Das wrote:
> Add write support for memory-mapped area as xSPI interface require
> it.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v3->v4:
>  * No change.
> v2->v3:
>  * No change.
> v1->v2:
>  * No change.
> ---
>  drivers/spi/spi-rpc-if.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
That's also unrelated change to memory controller. Cover letter explains
nothing about dependencies and merging (checked few first lines where
this should be documented).

Best regards,
Krzysztof
Biju Das April 15, 2025, 7:42 a.m. UTC | #2
Hi Krzysztof Kozlowski,

Thanks for the feedback.

> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 15 April 2025 07:07
> Subject: Re: [PATCH v4 9/9] spi: rpc-if: Add write support for memory-mapped area
> 
> On 01/04/2025 16:35, Biju Das wrote:
> > Add write support for memory-mapped area as xSPI interface require it.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v3->v4:
> >  * No change.
> > v2->v3:
> >  * No change.
> > v1->v2:
> >  * No change.
> > ---
> >  drivers/spi/spi-rpc-if.c | 16 +++++++++++++++-
> >  1 file changed, 15 insertions(+), 1 deletion(-)
> That's also unrelated change to memory controller. Cover letter explains nothing about dependencies
> and merging (checked few first lines where this should be documented).

Thanks, I missed that. I will update the cover letter for merge dependency.

Cheers,
Biju
diff mbox series

Patch

diff --git a/drivers/spi/spi-rpc-if.c b/drivers/spi/spi-rpc-if.c
index e0c66a24a3cb..627cffea5d5c 100644
--- a/drivers/spi/spi-rpc-if.c
+++ b/drivers/spi/spi-rpc-if.c
@@ -75,6 +75,19 @@  static bool rpcif_spi_mem_supports_op(struct spi_mem *mem,
 	return true;
 }
 
+static ssize_t xspi_spi_mem_dirmap_write(struct spi_mem_dirmap_desc *desc,
+					 u64 offs, size_t len, const void *buf)
+{
+	struct rpcif *rpc = spi_controller_get_devdata(desc->mem->spi->controller);
+
+	if (offs + desc->info.offset + len > U32_MAX)
+		return -EINVAL;
+
+	rpcif_spi_mem_prepare(desc->mem->spi, &desc->info.op_tmpl, &offs, &len);
+
+	return xspi_dirmap_write(rpc->dev, offs, len, buf);
+}
+
 static ssize_t rpcif_spi_mem_dirmap_read(struct spi_mem_dirmap_desc *desc,
 					 u64 offs, size_t len, void *buf)
 {
@@ -103,7 +116,7 @@  static int rpcif_spi_mem_dirmap_create(struct spi_mem_dirmap_desc *desc)
 	if (!rpc->dirmap)
 		return -EOPNOTSUPP;
 
-	if (desc->info.op_tmpl.data.dir != SPI_MEM_DATA_IN)
+	if (!rpc->xspi && desc->info.op_tmpl.data.dir != SPI_MEM_DATA_IN)
 		return -EOPNOTSUPP;
 
 	return 0;
@@ -125,6 +138,7 @@  static const struct spi_controller_mem_ops rpcif_spi_mem_ops = {
 	.exec_op	= rpcif_spi_mem_exec_op,
 	.dirmap_create	= rpcif_spi_mem_dirmap_create,
 	.dirmap_read	= rpcif_spi_mem_dirmap_read,
+	.dirmap_write	= xspi_spi_mem_dirmap_write,
 };
 
 static int rpcif_spi_probe(struct platform_device *pdev)