On Mon, Jun 13, 2011 at 1:25 PM, Sangbeom Kim sbkim73@samsung.com wrote:
On Thu, Jun 10, 2011 at 7:08 PM, Jassi Brar wrote:
For my convenience, could you please tell how does it differ from my original implementation? Most things look same, except for a few variables.
Original code only can support specific buffer size and period count. New idma driver can work with various buffer size and multiple period. And Original code is implemented it based on wrapper arch. But This patch can support driver arch.
@@ -16,6 +17,7 @@ obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-
v2.o
obj-$(CONFIG_SND_SAMSUNG_SPDIF) += snd-soc-samsung-spdif.o obj-$(CONFIG_SND_SAMSUNG_PCM) += snd-soc-pcm.o obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o +obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-idma.o
Please check that building only for s3c64xx doesn't break by this.
If It have building problem, I will modify it in the next version
+static struct idma_info {
- spinlock_t lock;
- void __iomem *regs;
- int trigger_stat;
The role of trigger_stat is not necessary.
trigger_stat can be used LP audio mode. It can be used flag for checking idma operation.
ST_RUNNING bit of 'state' member of idma_ctrl structure can be used to do the same.
Btw, please rename either the idma_ctrl structure or the idma_ctrl function, the names clash.
Thnx -j