diff options
| author | Mark Brown <broonie@kernel.org> | 2025-01-10 15:01:33 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2025-01-10 15:01:33 +0000 |
| commit | 89b37e49929653b7c350aac7fb2b96a052533015 (patch) | |
| tree | 9556c9c4f693b4cb69da77f1e717abeea36f0a23 /drivers/spi/spi-rockchip-sfc.c | |
| parent | 5e56618e1593a9eb9d72dc9433ac7a02a6c48c8f (diff) | |
| parent | f0006897a96c736623ddeb9b68c3880eb5cdebe7 (diff) | |
spi-nand/spi-mem DTR support
Merge series from Miquel Raynal <miquel.raynal@bootlin.com>:
Here is a (big) series supposed to bring DTR support in SPI-NAND.
Diffstat (limited to 'drivers/spi/spi-rockchip-sfc.c')
| -rw-r--r-- | drivers/spi/spi-rockchip-sfc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/spi/spi-rockchip-sfc.c b/drivers/spi/spi-rockchip-sfc.c index 59de351499a0..f3fe10eddb6a 100644 --- a/drivers/spi/spi-rockchip-sfc.c +++ b/drivers/spi/spi-rockchip-sfc.c @@ -534,12 +534,12 @@ static int rockchip_sfc_exec_mem_op(struct spi_mem *mem, const struct spi_mem_op return ret; } - if (unlikely(mem->spi->max_speed_hz != sfc->speed[cs]) && + if (unlikely(op->max_freq != sfc->speed[cs]) && !has_acpi_companion(sfc->dev)) { - ret = rockchip_sfc_clk_set_rate(sfc, mem->spi->max_speed_hz); + ret = rockchip_sfc_clk_set_rate(sfc, op->max_freq); if (ret) goto out; - sfc->speed[cs] = mem->spi->max_speed_hz; + sfc->speed[cs] = op->max_freq; dev_dbg(sfc->dev, "set_freq=%dHz real_freq=%ldHz\n", sfc->speed[cs], rockchip_sfc_clk_get_rate(sfc)); } @@ -585,6 +585,10 @@ static const struct spi_controller_mem_ops rockchip_sfc_mem_ops = { .adjust_op_size = rockchip_sfc_adjust_op_size, }; +static const struct spi_controller_mem_caps rockchip_sfc_mem_caps = { + .per_op_freq = true, +}; + static irqreturn_t rockchip_sfc_irq_handler(int irq, void *dev_id) { struct rockchip_sfc *sfc = dev_id; @@ -618,6 +622,7 @@ static int rockchip_sfc_probe(struct platform_device *pdev) host->flags = SPI_CONTROLLER_HALF_DUPLEX; host->mem_ops = &rockchip_sfc_mem_ops; + host->mem_caps = &rockchip_sfc_mem_caps; host->dev.of_node = pdev->dev.of_node; host->mode_bits = SPI_TX_QUAD | SPI_TX_DUAL | SPI_RX_QUAD | SPI_RX_DUAL; host->max_speed_hz = SFC_MAX_SPEED; |
