[PATCH v6 03/10] ARM: EXYNOS4: Modify platform data for pl330 driver
From: Thomas Abraham <hidden>
Date: 2011-10-12 08:13:32
Also in:
linux-samsung-soc
Dear Boojin Kim, 2011/10/12 Boojin Kim [off-list ref]:
Thomas Abraham wrote:quoted
Dear Mr. Kim, On 10 October 2011 23:45, Thomas Abraham [off-list ref] wrote:quoted
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> Cc: Boojin Kim <redacted> Signed-off-by: Thomas Abraham <redacted> Acked-by: Kukjin Kim <redacted> Acked-by: Grant Likely <redacted> --- ?arch/arm/mach-exynos4/dma.c | ?223 ++++++++++++-------------------------------quoted
?1 files changed, 62 insertions(+), 161 deletions(-)diff --git a/arch/arm/mach-exynos4/dma.c b/arch/arm/mach-exynos4/dma.cquoted
index 9667c61..c3c0d17 100644--- a/arch/arm/mach-exynos4/dma.c +++ b/arch/arm/mach-exynos4/dma.c@@ -35,95 +35,40 @@?static u64 dma_dmamask = DMA_BIT_MASK(32); -struct dma_pl330_peri pdma0_peri[28] = { - ? ? ? { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_PCM0_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_PCM0_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_PCM2_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_PCM2_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_MSM_REQ0, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_MSM_REQ2, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SPI0_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SPI0_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SPI2_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SPI2_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_I2S0S_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_I2S0_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_I2S0_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART0_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART0_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART2_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART2_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART4_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_UART4_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS0_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS0_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS2_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS2_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS4_RX, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_SLIMBUS4_TX, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_AC97_MICIN, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_AC97_PCMIN, - ? ? ? ? ? ? ? .rqtype = DEVTOMEM, - ? ? ? }, { - ? ? ? ? ? ? ? .peri_id = (u8)DMACH_AC97_PCMOUT, - ? ? ? ? ? ? ? .rqtype = MEMTODEV, - ? ? ? }, +u8 pdma0_peri[] = { + ? ? ? DMACH_PCM0_RX, + ? ? ? DMACH_PCM0_TX, + ? ? ? DMACH_PCM2_RX, + ? ? ? DMACH_PCM2_TX, + ? ? ? DMACH_MSM_REQ0, + ? ? ? DMACH_MSM_REQ2, + ? ? ? DMACH_SPI0_RX, + ? ? ? DMACH_SPI0_TX, + ? ? ? DMACH_SPI2_RX, + ? ? ? DMACH_SPI2_TX, + ? ? ? DMACH_I2S0S_TX, + ? ? ? DMACH_I2S0_RX, + ? ? ? DMACH_I2S0_TX,As you have suggested, I have rechecked the platform data for all s5p platforms in this patchset. Here, DMACH_I2S2_RX (event id 13) and DMACH_I2S2_TX (event id 14) of DMAC[0] are missing as per the exynos4210 user manual. But these where missing in the original code as well which this patch modified. If possible, could you please let me know if DMACH_I2S2_RX and DMACH_I2S2_TX are indeed event id 13 and 14 in DMAC[0].Yes, DMACH_I2S2_RX and DMACH_I2X2_TX are missed from my patch. Can you modify it although you are inconvenient ?
Thank you for letting me know about these event numbers. Yes. I can modify this patch and s5pc100 patch for Anca's comment and send these two updated patches after testing. Thanks, Thomas.
Thanks.. Boojinquoted
I have rechecked the other s5p platform data for dmac (s5p64x0, s5pc100, s5pv210). Apart from the typo pointed out by Anca for s5pc100, there are no other issues. Thanks, Thomas.quoted
+ ? ? ? DMACH_UART0_RX, + ? ? ? DMACH_UART0_TX, + ? ? ? DMACH_UART2_RX, + ? ? ? DMACH_UART2_TX, + ? ? ? DMACH_UART4_RX, + ? ? ? DMACH_UART4_TX, + ? ? ? DMACH_SLIMBUS0_RX, + ? ? ? DMACH_SLIMBUS0_TX, + ? ? ? DMACH_SLIMBUS2_RX, + ? ? ? DMACH_SLIMBUS2_TX, + ? ? ? DMACH_SLIMBUS4_RX, + ? ? ? DMACH_SLIMBUS4_TX, + ? ? ? DMACH_AC97_MICIN, + ? ? ? DMACH_AC97_PCMIN, + ? ? ? DMACH_AC97_PCMOUT, ?}; ?struct dma_pl330_platdata exynos4_pdma0_pdata = { ? ? ? ?.nr_valid_peri = ARRAY_SIZE(pdma0_peri), - ? ? ? .peri = pdma0_peri, + ? ? ? .peri_id = pdma0_peri, ?};[...] -- To unsubscribe from this list: send the line "unsubscribe linux- samsung-soc" in the body of a message to majordomo at vger.kernel.org More majordomo info at ?http://vger.kernel.org/majordomo-info.html