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

ARM: S5PV210: Modify platform data for pl330 driver

With the 'struct dma_pl330_peri' removed, the platfrom data for dma
driver can be simplified to a simple list of peripheral request ids.

Cc: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>

authored by

Thomas Abraham and committed by
Kukjin Kim
8742e044 7c4cab7f

+69 -172
+69 -172
arch/arm/mach-s5pv210/dma.c
··· 35 35 36 36 static u64 dma_dmamask = DMA_BIT_MASK(32); 37 37 38 - struct dma_pl330_peri pdma0_peri[28] = { 39 - { 40 - .peri_id = (u8)DMACH_UART0_RX, 41 - .rqtype = DEVTOMEM, 42 - }, { 43 - .peri_id = (u8)DMACH_UART0_TX, 44 - .rqtype = MEMTODEV, 45 - }, { 46 - .peri_id = (u8)DMACH_UART1_RX, 47 - .rqtype = DEVTOMEM, 48 - }, { 49 - .peri_id = (u8)DMACH_UART1_TX, 50 - .rqtype = MEMTODEV, 51 - }, { 52 - .peri_id = (u8)DMACH_UART2_RX, 53 - .rqtype = DEVTOMEM, 54 - }, { 55 - .peri_id = (u8)DMACH_UART2_TX, 56 - .rqtype = MEMTODEV, 57 - }, { 58 - .peri_id = (u8)DMACH_UART3_RX, 59 - .rqtype = DEVTOMEM, 60 - }, { 61 - .peri_id = (u8)DMACH_UART3_TX, 62 - .rqtype = MEMTODEV, 63 - }, { 64 - .peri_id = DMACH_MAX, 65 - }, { 66 - .peri_id = (u8)DMACH_I2S0_RX, 67 - .rqtype = DEVTOMEM, 68 - }, { 69 - .peri_id = (u8)DMACH_I2S0_TX, 70 - .rqtype = MEMTODEV, 71 - }, { 72 - .peri_id = (u8)DMACH_I2S0S_TX, 73 - .rqtype = MEMTODEV, 74 - }, { 75 - .peri_id = (u8)DMACH_I2S1_RX, 76 - .rqtype = DEVTOMEM, 77 - }, { 78 - .peri_id = (u8)DMACH_I2S1_TX, 79 - .rqtype = MEMTODEV, 80 - }, { 81 - .peri_id = (u8)DMACH_MAX, 82 - }, { 83 - .peri_id = (u8)DMACH_MAX, 84 - }, { 85 - .peri_id = (u8)DMACH_SPI0_RX, 86 - .rqtype = DEVTOMEM, 87 - }, { 88 - .peri_id = (u8)DMACH_SPI0_TX, 89 - .rqtype = MEMTODEV, 90 - }, { 91 - .peri_id = (u8)DMACH_SPI1_RX, 92 - .rqtype = DEVTOMEM, 93 - }, { 94 - .peri_id = (u8)DMACH_SPI1_TX, 95 - .rqtype = MEMTODEV, 96 - }, { 97 - .peri_id = (u8)DMACH_MAX, 98 - }, { 99 - .peri_id = (u8)DMACH_MAX, 100 - }, { 101 - .peri_id = (u8)DMACH_AC97_MICIN, 102 - .rqtype = DEVTOMEM, 103 - }, { 104 - .peri_id = (u8)DMACH_AC97_PCMIN, 105 - .rqtype = DEVTOMEM, 106 - }, { 107 - .peri_id = (u8)DMACH_AC97_PCMOUT, 108 - .rqtype = MEMTODEV, 109 - }, { 110 - .peri_id = (u8)DMACH_MAX, 111 - }, { 112 - .peri_id = (u8)DMACH_PWM, 113 - }, { 114 - .peri_id = (u8)DMACH_SPDIF, 115 - .rqtype = MEMTODEV, 116 - }, 38 + u8 pdma0_peri[] = { 39 + DMACH_UART0_RX, 40 + DMACH_UART0_TX, 41 + DMACH_UART1_RX, 42 + DMACH_UART1_TX, 43 + DMACH_UART2_RX, 44 + DMACH_UART2_TX, 45 + DMACH_UART3_RX, 46 + DMACH_UART3_TX, 47 + DMACH_MAX, 48 + DMACH_I2S0_RX, 49 + DMACH_I2S0_TX, 50 + DMACH_I2S0S_TX, 51 + DMACH_I2S1_RX, 52 + DMACH_I2S1_TX, 53 + DMACH_MAX, 54 + DMACH_MAX, 55 + DMACH_SPI0_RX, 56 + DMACH_SPI0_TX, 57 + DMACH_SPI1_RX, 58 + DMACH_SPI1_TX, 59 + DMACH_MAX, 60 + DMACH_MAX, 61 + DMACH_AC97_MICIN, 62 + DMACH_AC97_PCMIN, 63 + DMACH_AC97_PCMOUT, 64 + DMACH_MAX, 65 + DMACH_PWM, 66 + DMACH_SPDIF, 117 67 }; 118 68 119 69 struct dma_pl330_platdata s5pv210_pdma0_pdata = { 120 70 .nr_valid_peri = ARRAY_SIZE(pdma0_peri), 121 - .peri = pdma0_peri, 71 + .peri_id = pdma0_peri, 122 72 }; 123 73 124 74 struct amba_device s5pv210_device_pdma0 = { ··· 87 137 .periphid = 0x00041330, 88 138 }; 89 139 90 - struct dma_pl330_peri pdma1_peri[32] = { 91 - { 92 - .peri_id = (u8)DMACH_UART0_RX, 93 - .rqtype = DEVTOMEM, 94 - }, { 95 - .peri_id = (u8)DMACH_UART0_TX, 96 - .rqtype = MEMTODEV, 97 - }, { 98 - .peri_id = (u8)DMACH_UART1_RX, 99 - .rqtype = DEVTOMEM, 100 - }, { 101 - .peri_id = (u8)DMACH_UART1_TX, 102 - .rqtype = MEMTODEV, 103 - }, { 104 - .peri_id = (u8)DMACH_UART2_RX, 105 - .rqtype = DEVTOMEM, 106 - }, { 107 - .peri_id = (u8)DMACH_UART2_TX, 108 - .rqtype = MEMTODEV, 109 - }, { 110 - .peri_id = (u8)DMACH_UART3_RX, 111 - .rqtype = DEVTOMEM, 112 - }, { 113 - .peri_id = (u8)DMACH_UART3_TX, 114 - .rqtype = MEMTODEV, 115 - }, { 116 - .peri_id = DMACH_MAX, 117 - }, { 118 - .peri_id = (u8)DMACH_I2S0_RX, 119 - .rqtype = DEVTOMEM, 120 - }, { 121 - .peri_id = (u8)DMACH_I2S0_TX, 122 - .rqtype = MEMTODEV, 123 - }, { 124 - .peri_id = (u8)DMACH_I2S0S_TX, 125 - .rqtype = MEMTODEV, 126 - }, { 127 - .peri_id = (u8)DMACH_I2S1_RX, 128 - .rqtype = DEVTOMEM, 129 - }, { 130 - .peri_id = (u8)DMACH_I2S1_TX, 131 - .rqtype = MEMTODEV, 132 - }, { 133 - .peri_id = (u8)DMACH_I2S2_RX, 134 - .rqtype = DEVTOMEM, 135 - }, { 136 - .peri_id = (u8)DMACH_I2S2_TX, 137 - .rqtype = MEMTODEV, 138 - }, { 139 - .peri_id = (u8)DMACH_SPI0_RX, 140 - .rqtype = DEVTOMEM, 141 - }, { 142 - .peri_id = (u8)DMACH_SPI0_TX, 143 - .rqtype = MEMTODEV, 144 - }, { 145 - .peri_id = (u8)DMACH_SPI1_RX, 146 - .rqtype = DEVTOMEM, 147 - }, { 148 - .peri_id = (u8)DMACH_SPI1_TX, 149 - .rqtype = MEMTODEV, 150 - }, { 151 - .peri_id = (u8)DMACH_MAX, 152 - }, { 153 - .peri_id = (u8)DMACH_MAX, 154 - }, { 155 - .peri_id = (u8)DMACH_PCM0_RX, 156 - .rqtype = DEVTOMEM, 157 - }, { 158 - .peri_id = (u8)DMACH_PCM0_TX, 159 - .rqtype = MEMTODEV, 160 - }, { 161 - .peri_id = (u8)DMACH_PCM1_RX, 162 - .rqtype = DEVTOMEM, 163 - }, { 164 - .peri_id = (u8)DMACH_PCM1_TX, 165 - .rqtype = MEMTODEV, 166 - }, { 167 - .peri_id = (u8)DMACH_MSM_REQ0, 168 - }, { 169 - .peri_id = (u8)DMACH_MSM_REQ1, 170 - }, { 171 - .peri_id = (u8)DMACH_MSM_REQ2, 172 - }, { 173 - .peri_id = (u8)DMACH_MSM_REQ3, 174 - }, { 175 - .peri_id = (u8)DMACH_PCM2_RX, 176 - .rqtype = DEVTOMEM, 177 - }, { 178 - .peri_id = (u8)DMACH_PCM2_TX, 179 - .rqtype = MEMTODEV, 180 - }, 140 + u8 pdma1_peri[] = { 141 + DMACH_UART0_RX, 142 + DMACH_UART0_TX, 143 + DMACH_UART1_RX, 144 + DMACH_UART1_TX, 145 + DMACH_UART2_RX, 146 + DMACH_UART2_TX, 147 + DMACH_UART3_RX, 148 + DMACH_UART3_TX, 149 + DMACH_MAX, 150 + DMACH_I2S0_RX, 151 + DMACH_I2S0_TX, 152 + DMACH_I2S0S_TX, 153 + DMACH_I2S1_RX, 154 + DMACH_I2S1_TX, 155 + DMACH_I2S2_RX, 156 + DMACH_I2S2_TX, 157 + DMACH_SPI0_RX, 158 + DMACH_SPI0_TX, 159 + DMACH_SPI1_RX, 160 + DMACH_SPI1_TX, 161 + DMACH_MAX, 162 + DMACH_MAX, 163 + DMACH_PCM0_RX, 164 + DMACH_PCM0_TX, 165 + DMACH_PCM1_RX, 166 + DMACH_PCM1_TX, 167 + DMACH_MSM_REQ0, 168 + DMACH_MSM_REQ1, 169 + DMACH_MSM_REQ2, 170 + DMACH_MSM_REQ3, 171 + DMACH_PCM2_RX, 172 + DMACH_PCM2_TX, 181 173 }; 182 174 183 175 struct dma_pl330_platdata s5pv210_pdma1_pdata = { 184 176 .nr_valid_peri = ARRAY_SIZE(pdma1_peri), 185 - .peri = pdma1_peri, 177 + .peri_id = pdma1_peri, 186 178 }; 187 179 188 180 struct amba_device s5pv210_device_pdma1 = { ··· 145 253 146 254 static int __init s5pv210_dma_init(void) 147 255 { 256 + dma_cap_set(DMA_SLAVE, s5pv210_pdma0_pdata.cap_mask); 257 + dma_cap_set(DMA_CYCLIC, s5pv210_pdma0_pdata.cap_mask); 148 258 amba_device_register(&s5pv210_device_pdma0, &iomem_resource); 259 + 260 + dma_cap_set(DMA_SLAVE, s5pv210_pdma1_pdata.cap_mask); 261 + dma_cap_set(DMA_CYCLIC, s5pv210_pdma1_pdata.cap_mask); 149 262 amba_device_register(&s5pv210_device_pdma1, &iomem_resource); 150 263 151 264 return 0;