Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae40d5c5 authored by Vinod Koul's avatar Vinod Koul
Browse files

Merge branch 'topic/doc' into for-linus

parents 40303764 881053f7
Loading
Loading
Loading
Loading
+17 −21
Original line number Diff line number Diff line
@@ -111,39 +111,35 @@ The first thing you need to do in your driver is to allocate this
structure. Any of the usual memory allocators will do, but you'll also
need to initialize a few fields in there:

- channels: should be initialized as a list using the
- ``channels``: should be initialized as a list using the
  INIT_LIST_HEAD macro for example

- src_addr_widths:
- ``src_addr_widths``:
  should contain a bitmask of the supported source transfer width

- dst_addr_widths:
- ``dst_addr_widths``:
  should contain a bitmask of the supported destination transfer width

- directions:
- ``directions``:
  should contain a bitmask of the supported slave directions
  (i.e. excluding mem2mem transfers)

- residue_granularity:

  - Granularity of the transfer residue reported to dma_set_residue.
- ``residue_granularity``:
  granularity of the transfer residue reported to dma_set_residue.
  This can be either:

  - Descriptor

    - Your device doesn't support any kind of residue
  - Descriptor:
    your device doesn't support any kind of residue
    reporting. The framework will only know that a particular
    transaction descriptor is done.

      - Segment

        - Your device is able to report which chunks have been transferred

      - Burst
  - Segment:
    your device is able to report which chunks have been transferred

        - Your device is able to report which burst have been transferred
  - Burst:
    your device is able to report which burst have been transferred

  - dev: should hold the pointer to the ``struct device`` associated
- ``dev``: should hold the pointer to the ``struct device`` associated
  to your current driver instance.

Supported transaction types