[lkml]   [2012]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH/RFC] dmaengine: add a slave parameter to __dma_request_channel()
    On Fri, Mar 16, 2012 at 10:36 AM, Guennadi Liakhovetski
    <> wrote:

    > Ok, let me try to summarise, what this would mean for sh-mobile:
    > 1. this proposal introduces a new special case: with or without a mapping,
    > that will have to be handled in affected client and DMA controller
    > drivers. E.g., on sh-mobile some devices might on some systems use
    > channels from "general purpose" DMA controllers (no mapping), on other
    > systems it will be a dedicated controller (fixed mapping).
    > 2. this will break, if we get more than 1 "general purpose" type with
    > different supported client sets. So, we develop a new API with a
    > pre-programmed limitation.

    I fail to see why this would not be solved by a one-to-many mapping?

    Flag for each device which channels it may use in a mapping
    table in platform data or device tree, I don't see the problem.

    You don't even have to specify that on a per-channel basis if
    you can come up with something more clever in the mapping
    table, such as "this device can use any channel on this DMAC,
    and channels 1-7 on that DMAC" - no problem?

    > 3. this will mean a substantial driver and platform code modification.
    > Nothing super-complex, but still some.

    Big deal. Refactoring is fun... ;-)

    > 4. we'll need a 3-stage channel allocation / configuration: request,
    > filter, config.

    In my world: channel request with *NO* filter function.

    Filter functions are part of the problem. So we refactor these
    away as part of this change. That's the whole point...

    The core gathers information from the platform and the
    DMAC driver(s) to build up the constraints necessary to
    hand out workling channels to each device that request

    And Russell IIRC already suggested a request-and-config
    channel inline for the simple cases, and if you still need to
    explicitly runtime-reconfigure then that's for a good

    > Whereas with my configuration-parameter proposal it's just
    > one stage: allocate-and-configure.

    For one specific hardware, yes. For DMAengine at large
    and the majority of the drivers, no.

    Linus Walleij

     \ /
      Last update: 2012-03-16 11:19    [W:0.022 / U:26.704 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site