From bc75cae7624f73ff866668793b4addd57228f5c2 Mon Sep 17 00:00:00 2001 From: Valentine Barshak Date: Thu, 15 Nov 2018 23:58:54 +0300 Subject: [PATCH 186/211] mtd: spi-nor: renesas-rpc: Workaround 256-byte data size limitation Looks like QSPI controller does not support page sizes more than write buffer size. This limits maximum page size detected by the spi_nor_scan() callback at the RPC write buffer size. Signed-off-by: Valentine Barshak --- drivers/mtd/spi-nor/renesas-rpc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/mtd/spi-nor/renesas-rpc.c b/drivers/mtd/spi-nor/renesas-rpc.c index b619a7e..af99762 100644 --- a/drivers/mtd/spi-nor/renesas-rpc.c +++ b/drivers/mtd/spi-nor/renesas-rpc.c @@ -1225,6 +1225,12 @@ static int rpc_spi_probe(struct platform_device *pdev) nor->mtd.writebufsize <<= 1; } + /* Workaround data size limitation */ + if (nor->page_size > WRITE_BUF_SIZE) { + nor->page_size = WRITE_BUF_SIZE; + nor->mtd.writebufsize = WRITE_BUF_SIZE; + } + ret = mtd_device_register(&nor->mtd, NULL, 0); if (ret) { dev_err(&pdev->dev, "mtd_device_register error.\n"); -- 2.7.4