Message ID | 20221018181219.3251309-3-lis8215@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add Ingenic JZ4755 DMA support | expand |
Hi Siarhei, Le mar., oct. 18 2022 at 21:12:19 +0300, Siarhei Volkau <lis8215@gmail.com> a écrit : > The JZ4755 has 4 DMA channels per DMA unit, two idential DMA units. > > The JZ4755 has the similar DMA engine to JZ4725b and it has the > same bug as JZ4725b, see commit a40c94be2336. > At least the JZ_SOC_DATA_BREAK_LINKS flag make it work much better, > although not ideal. > > Tested-by: Siarhei Volkau <lis8215@gmail.com> > Signed-off-by: Siarhei Volkau <lis8215@gmail.com> You forgot my tag that I added on your V2. Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cheers, -Paul > --- > drivers/dma/dma-jz4780.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c > index 2a483802d..9c1a6e9a9 100644 > --- a/drivers/dma/dma-jz4780.c > +++ b/drivers/dma/dma-jz4780.c > @@ -1038,6 +1038,13 @@ static const struct jz4780_dma_soc_data > jz4725b_dma_soc_data = { > JZ_SOC_DATA_BREAK_LINKS, > }; > > +static const struct jz4780_dma_soc_data jz4755_dma_soc_data = { > + .nb_channels = 4, > + .transfer_ord_max = 5, > + .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC | > + JZ_SOC_DATA_BREAK_LINKS, > +}; > + > static const struct jz4780_dma_soc_data jz4760_dma_soc_data = { > .nb_channels = 5, > .transfer_ord_max = 6, > @@ -1101,6 +1108,7 @@ static const struct jz4780_dma_soc_data > x1830_dma_soc_data = { > static const struct of_device_id jz4780_dma_dt_match[] = { > { .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data > }, > { .compatible = "ingenic,jz4725b-dma", .data = > &jz4725b_dma_soc_data }, > + { .compatible = "ingenic,jz4755-dma", .data = &jz4755_dma_soc_data > }, > { .compatible = "ingenic,jz4760-dma", .data = &jz4760_dma_soc_data > }, > { .compatible = "ingenic,jz4760-mdma", .data = > &jz4760_mdma_soc_data }, > { .compatible = "ingenic,jz4760-bdma", .data = > &jz4760_bdma_soc_data }, > -- > 2.36.1 >
diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c index 2a483802d..9c1a6e9a9 100644 --- a/drivers/dma/dma-jz4780.c +++ b/drivers/dma/dma-jz4780.c @@ -1038,6 +1038,13 @@ static const struct jz4780_dma_soc_data jz4725b_dma_soc_data = { JZ_SOC_DATA_BREAK_LINKS, }; +static const struct jz4780_dma_soc_data jz4755_dma_soc_data = { + .nb_channels = 4, + .transfer_ord_max = 5, + .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC | + JZ_SOC_DATA_BREAK_LINKS, +}; + static const struct jz4780_dma_soc_data jz4760_dma_soc_data = { .nb_channels = 5, .transfer_ord_max = 6, @@ -1101,6 +1108,7 @@ static const struct jz4780_dma_soc_data x1830_dma_soc_data = { static const struct of_device_id jz4780_dma_dt_match[] = { { .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data }, { .compatible = "ingenic,jz4725b-dma", .data = &jz4725b_dma_soc_data }, + { .compatible = "ingenic,jz4755-dma", .data = &jz4755_dma_soc_data }, { .compatible = "ingenic,jz4760-dma", .data = &jz4760_dma_soc_data }, { .compatible = "ingenic,jz4760-mdma", .data = &jz4760_mdma_soc_data }, { .compatible = "ingenic,jz4760-bdma", .data = &jz4760_bdma_soc_data },