Commit 47821186 authored by Piotr Wojtaszczyk's avatar Piotr Wojtaszczyk Committed by Miquel Raynal

mtd: rawnand: lpx32xx: Request DMA channels using DT entries

Move away from pl08x platform data towards device tree.
Signed-off-by: default avatarPiotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20240627150046.258795-11-piotr.wojtaszczyk@timesys.com
parent 14427d4b
...@@ -574,18 +574,22 @@ static int lpc32xx_dma_setup(struct lpc32xx_nand_host *host) ...@@ -574,18 +574,22 @@ static int lpc32xx_dma_setup(struct lpc32xx_nand_host *host)
struct mtd_info *mtd = nand_to_mtd(&host->nand_chip); struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
dma_cap_mask_t mask; dma_cap_mask_t mask;
if (!host->pdata || !host->pdata->dma_filter) { host->dma_chan = dma_request_chan(mtd->dev.parent, "rx-tx");
dev_err(mtd->dev.parent, "no DMA platform data\n");
return -ENOENT;
}
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter,
"nand-mlc");
if (!host->dma_chan) { if (!host->dma_chan) {
dev_err(mtd->dev.parent, "Failed to request DMA channel\n"); /* fallback to request using platform data */
return -EBUSY; if (!host->pdata || !host->pdata->dma_filter) {
dev_err(mtd->dev.parent, "no DMA platform data\n");
return -ENOENT;
}
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter, "nand-mlc");
if (!host->dma_chan) {
dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
return -EBUSY;
}
} }
/* /*
......
...@@ -721,18 +721,22 @@ static int lpc32xx_nand_dma_setup(struct lpc32xx_nand_host *host) ...@@ -721,18 +721,22 @@ static int lpc32xx_nand_dma_setup(struct lpc32xx_nand_host *host)
struct mtd_info *mtd = nand_to_mtd(&host->nand_chip); struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
dma_cap_mask_t mask; dma_cap_mask_t mask;
if (!host->pdata || !host->pdata->dma_filter) { host->dma_chan = dma_request_chan(mtd->dev.parent, "rx-tx");
dev_err(mtd->dev.parent, "no DMA platform data\n");
return -ENOENT;
}
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter,
"nand-slc");
if (!host->dma_chan) { if (!host->dma_chan) {
dev_err(mtd->dev.parent, "Failed to request DMA channel\n"); /* fallback to request using platform data */
return -EBUSY; if (!host->pdata || !host->pdata->dma_filter) {
dev_err(mtd->dev.parent, "no DMA platform data\n");
return -ENOENT;
}
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter, "nand-slc");
if (!host->dma_chan) {
dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
return -EBUSY;
}
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment