Merge branch 'for-5.5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-5.6
This commit is contained in:
@@ -62,6 +62,7 @@ struct ti_qspi {
|
||||
u32 dc;
|
||||
|
||||
bool mmap_enabled;
|
||||
int current_cs;
|
||||
};
|
||||
|
||||
#define QSPI_PID (0x0)
|
||||
@@ -485,6 +486,7 @@ static void ti_qspi_enable_memory_map(struct spi_device *spi)
|
||||
MEM_CS_EN(spi->chip_select));
|
||||
}
|
||||
qspi->mmap_enabled = true;
|
||||
qspi->current_cs = spi->chip_select;
|
||||
}
|
||||
|
||||
static void ti_qspi_disable_memory_map(struct spi_device *spi)
|
||||
@@ -496,6 +498,7 @@ static void ti_qspi_disable_memory_map(struct spi_device *spi)
|
||||
regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg,
|
||||
MEM_CS_MASK, 0);
|
||||
qspi->mmap_enabled = false;
|
||||
qspi->current_cs = -1;
|
||||
}
|
||||
|
||||
static void ti_qspi_setup_mmap_read(struct spi_device *spi, u8 opcode,
|
||||
@@ -541,7 +544,7 @@ static int ti_qspi_exec_mem_op(struct spi_mem *mem,
|
||||
|
||||
mutex_lock(&qspi->list_lock);
|
||||
|
||||
if (!qspi->mmap_enabled)
|
||||
if (!qspi->mmap_enabled || qspi->current_cs != mem->spi->chip_select)
|
||||
ti_qspi_enable_memory_map(mem->spi);
|
||||
ti_qspi_setup_mmap_read(mem->spi, op->cmd.opcode, op->data.buswidth,
|
||||
op->addr.nbytes, op->dummy.nbytes);
|
||||
@@ -797,6 +800,7 @@ no_dma:
|
||||
}
|
||||
}
|
||||
qspi->mmap_enabled = false;
|
||||
qspi->current_cs = -1;
|
||||
|
||||
ret = devm_spi_register_master(&pdev->dev, master);
|
||||
if (!ret)
|
||||
|
Reference in New Issue
Block a user