Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dmaengine: jz4780: Add support for the MDMA and BDMA in the JZ4760(B)

The JZ4760 and JZ4760B SoCs have two regular DMA controllers with 6
channels each. They also have an extra DMA controller named MDMA
with only 2 channels, that only supports memcpy operations, and one
named BDMA with only 3 channels, that is mostly used for transfers
between memories and the BCH controller.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20211206174259.68133-5-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Paul Cercueil and committed by
Vinod Koul
3d70fccf b72cbb1a

+28
+28
drivers/dma/dma-jz4780.c
··· 1019 1019 .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC, 1020 1020 }; 1021 1021 1022 + static const struct jz4780_dma_soc_data jz4760_mdma_soc_data = { 1023 + .nb_channels = 2, 1024 + .transfer_ord_max = 6, 1025 + .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC, 1026 + }; 1027 + 1028 + static const struct jz4780_dma_soc_data jz4760_bdma_soc_data = { 1029 + .nb_channels = 3, 1030 + .transfer_ord_max = 6, 1031 + .flags = JZ_SOC_DATA_PER_CHAN_PM | JZ_SOC_DATA_NO_DCKES_DCKEC, 1032 + }; 1033 + 1022 1034 static const struct jz4780_dma_soc_data jz4760b_dma_soc_data = { 1023 1035 .nb_channels = 5, 1036 + .transfer_ord_max = 6, 1037 + .flags = JZ_SOC_DATA_PER_CHAN_PM, 1038 + }; 1039 + 1040 + static const struct jz4780_dma_soc_data jz4760b_mdma_soc_data = { 1041 + .nb_channels = 2, 1042 + .transfer_ord_max = 6, 1043 + .flags = JZ_SOC_DATA_PER_CHAN_PM, 1044 + }; 1045 + 1046 + static const struct jz4780_dma_soc_data jz4760b_bdma_soc_data = { 1047 + .nb_channels = 3, 1024 1048 .transfer_ord_max = 6, 1025 1049 .flags = JZ_SOC_DATA_PER_CHAN_PM, 1026 1050 }; ··· 1077 1053 { .compatible = "ingenic,jz4740-dma", .data = &jz4740_dma_soc_data }, 1078 1054 { .compatible = "ingenic,jz4725b-dma", .data = &jz4725b_dma_soc_data }, 1079 1055 { .compatible = "ingenic,jz4760-dma", .data = &jz4760_dma_soc_data }, 1056 + { .compatible = "ingenic,jz4760-mdma", .data = &jz4760_mdma_soc_data }, 1057 + { .compatible = "ingenic,jz4760-bdma", .data = &jz4760_bdma_soc_data }, 1080 1058 { .compatible = "ingenic,jz4760b-dma", .data = &jz4760b_dma_soc_data }, 1059 + { .compatible = "ingenic,jz4760b-mdma", .data = &jz4760b_mdma_soc_data }, 1060 + { .compatible = "ingenic,jz4760b-bdma", .data = &jz4760b_bdma_soc_data }, 1081 1061 { .compatible = "ingenic,jz4770-dma", .data = &jz4770_dma_soc_data }, 1082 1062 { .compatible = "ingenic,jz4780-dma", .data = &jz4780_dma_soc_data }, 1083 1063 { .compatible = "ingenic,x1000-dma", .data = &x1000_dma_soc_data },