lkml.org 
[lkml]   [2012]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [alsa-devel] [PATCH v5] sound/soc/lapis: add platform driver for ML7213
    From
    On Thu, May 31, 2012 at 7:45 PM, Mark Brown
    <broonie@opensource.wolfsonmicro.com> wrote:
    >> > Please re-read what I wrote.
    >
    >> Let me clarify.
    >> Do you say native DMA driver API like dmaengine_prep_slave_sg(),
    >> dmaengine_submit() shouldn't be used from ASoC driver, right ?
    >
    > Your driver should be written in terms of the ASoC DMA framework.

    I understand your order.
    But isn't it only me ?
    You mean all ASoC driver uses dmaengine should be written in terms of
    the ASoC DMA framework.
    Right ?

    >> > No, all current mainline drivers using the library use cyclic DMA.
    >> I can't see any driver uses cyclic DMA. (I saw linux-next's tree from
    >> kernel.org.)
    >> Where is your saying "current mainline" ?
    > Linus' tree, or mine.

    Sorry, I couldn't find.
    Is your saying Linus's tree this ?
    git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
    However, any ASoC driver doesn't use cyclic DMA's.


    > Have you even looked at the soc-dmaengine-pcm
    > code?  It uncondtionally requests a cyclic channel.

    I already saw soc-dmaengine-pcm.c

    >> However I think it seems difficult for supporting all devices.
    >> Because hardware dependency control code can't be added.
    >> For example, for ML7213, needs interrupt control both before/after DMA transfer.
    >> However,  in case of using soc-dmaengine, the control can't be done.
    >> Because the processing is in soc-dmaengine.
    > Please be more specific.  What are the concrete problems that you see?
    > Why is it not possible to address them within the framework?

    I show the code.
    +static void i2s_dma_tx_complete(void *arg)
    +{
    ...

    +
    + ioh_i2s_irq_ctrl(ioh->number, SNDRV_PCM_STREAM_PLAYBACK,
    IOH_EN_IRQ); ##<<Interrupt control
    +}

    Our device needs interrupt control both before/after DMA transfer like above.
    In your soc-dma-engine, DMA transfer complete code is in soc-dma-engine, right ?
    So, the vendor specific code like the above can't be written.

    thanks.
    --
    ROHM Co., Ltd.
    tomoya
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-06-01 10:41    [W:4.286 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site