mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
mtd: rawnand: sunxi: introduce sram_size in sunxi_nfc_caps
The H6/H616 the SRAM is bigger than the A10/A23 one, so move its size into sunxi_nfc_caps. No functional change Signed-off-by: Richard Genoud <richard.genoud@bootlin.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
97d13bcea2
commit
5ddfbc68ec
|
|
@ -167,8 +167,6 @@
|
|||
|
||||
#define NFC_DEFAULT_TIMEOUT_MS 1000
|
||||
|
||||
#define NFC_SRAM_SIZE 1024
|
||||
|
||||
#define NFC_MAX_CS 7
|
||||
|
||||
/*
|
||||
|
|
@ -251,6 +249,7 @@ static inline struct sunxi_nand_chip *to_sunxi_nand(struct nand_chip *nand)
|
|||
* @dma_maxburst: DMA maxburst
|
||||
* @ecc_strengths: Available ECC strengths array
|
||||
* @nstrengths: Size of @ecc_strengths
|
||||
* @sram_size: Size of the NAND controller SRAM
|
||||
*/
|
||||
struct sunxi_nfc_caps {
|
||||
bool has_mdma;
|
||||
|
|
@ -269,6 +268,7 @@ struct sunxi_nfc_caps {
|
|||
unsigned int dma_maxburst;
|
||||
const u8 *ecc_strengths;
|
||||
unsigned int nstrengths;
|
||||
int sram_size;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -506,7 +506,7 @@ static void sunxi_nfc_read_buf(struct nand_chip *nand, uint8_t *buf, int len)
|
|||
while (len > offs) {
|
||||
bool poll = false;
|
||||
|
||||
cnt = min(len - offs, NFC_SRAM_SIZE);
|
||||
cnt = min(len - offs, nfc->caps->sram_size);
|
||||
|
||||
ret = sunxi_nfc_wait_cmd_fifo_empty(nfc);
|
||||
if (ret)
|
||||
|
|
@ -544,7 +544,7 @@ static void sunxi_nfc_write_buf(struct nand_chip *nand, const uint8_t *buf,
|
|||
while (len > offs) {
|
||||
bool poll = false;
|
||||
|
||||
cnt = min(len - offs, NFC_SRAM_SIZE);
|
||||
cnt = min(len - offs, nfc->caps->sram_size);
|
||||
|
||||
ret = sunxi_nfc_wait_cmd_fifo_empty(nfc);
|
||||
if (ret)
|
||||
|
|
@ -1871,7 +1871,7 @@ static int sunxi_nfc_exec_subop(struct nand_chip *nand,
|
|||
case NAND_OP_DATA_OUT_INSTR:
|
||||
start = nand_subop_get_data_start_off(subop, i);
|
||||
remaining = nand_subop_get_data_len(subop, i);
|
||||
cnt = min_t(u32, remaining, NFC_SRAM_SIZE);
|
||||
cnt = min_t(u32, remaining, nfc->caps->sram_size);
|
||||
cmd |= NFC_DATA_TRANS | NFC_DATA_SWAP_METHOD;
|
||||
|
||||
if (instr->type == NAND_OP_DATA_OUT_INSTR) {
|
||||
|
|
@ -2252,6 +2252,7 @@ static const struct sunxi_nfc_caps sunxi_nfc_a10_caps = {
|
|||
.dma_maxburst = 4,
|
||||
.ecc_strengths = sunxi_ecc_strengths_a10,
|
||||
.nstrengths = ARRAY_SIZE(sunxi_ecc_strengths_a10),
|
||||
.sram_size = 1024,
|
||||
};
|
||||
|
||||
static const struct sunxi_nfc_caps sunxi_nfc_a23_caps = {
|
||||
|
|
@ -2271,6 +2272,7 @@ static const struct sunxi_nfc_caps sunxi_nfc_a23_caps = {
|
|||
.dma_maxburst = 8,
|
||||
.ecc_strengths = sunxi_ecc_strengths_a10,
|
||||
.nstrengths = ARRAY_SIZE(sunxi_ecc_strengths_a10),
|
||||
.sram_size = 1024,
|
||||
};
|
||||
|
||||
static const struct of_device_id sunxi_nfc_ids[] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user