diff options
| -rw-r--r-- | Documentation/driver-api/dmaengine/provider.rst | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/Documentation/driver-api/dmaengine/provider.rst b/Documentation/driver-api/dmaengine/provider.rst index 814acb4d2294..dfc4486b5743 100644 --- a/Documentation/driver-api/dmaengine/provider.rst +++ b/Documentation/driver-api/dmaengine/provider.rst | |||
| @@ -111,40 +111,36 @@ The first thing you need to do in your driver is to allocate this | |||
| 111 | structure. Any of the usual memory allocators will do, but you'll also | 111 | structure. Any of the usual memory allocators will do, but you'll also |
| 112 | need to initialize a few fields in there: | 112 | need to initialize a few fields in there: |
| 113 | 113 | ||
| 114 | - channels: should be initialized as a list using the | 114 | - ``channels``: should be initialized as a list using the |
| 115 | INIT_LIST_HEAD macro for example | 115 | INIT_LIST_HEAD macro for example |
| 116 | 116 | ||
| 117 | - src_addr_widths: | 117 | - ``src_addr_widths``: |
| 118 | should contain a bitmask of the supported source transfer width | 118 | should contain a bitmask of the supported source transfer width |
| 119 | 119 | ||
| 120 | - dst_addr_widths: | 120 | - ``dst_addr_widths``: |
| 121 | should contain a bitmask of the supported destination transfer width | 121 | should contain a bitmask of the supported destination transfer width |
| 122 | 122 | ||
| 123 | - directions: | 123 | - ``directions``: |
| 124 | should contain a bitmask of the supported slave directions | 124 | should contain a bitmask of the supported slave directions |
| 125 | (i.e. excluding mem2mem transfers) | 125 | (i.e. excluding mem2mem transfers) |
| 126 | 126 | ||
| 127 | - residue_granularity: | 127 | - ``residue_granularity``: |
| 128 | granularity of the transfer residue reported to dma_set_residue. | ||
| 129 | This can be either: | ||
| 128 | 130 | ||
| 129 | - Granularity of the transfer residue reported to dma_set_residue. | 131 | - Descriptor: |
| 130 | This can be either: | 132 | your device doesn't support any kind of residue |
| 133 | reporting. The framework will only know that a particular | ||
| 134 | transaction descriptor is done. | ||
| 131 | 135 | ||
| 132 | - Descriptor | 136 | - Segment: |
| 137 | your device is able to report which chunks have been transferred | ||
| 133 | 138 | ||
| 134 | - Your device doesn't support any kind of residue | 139 | - Burst: |
| 135 | reporting. The framework will only know that a particular | 140 | your device is able to report which burst have been transferred |
| 136 | transaction descriptor is done. | ||
| 137 | 141 | ||
| 138 | - Segment | 142 | - ``dev``: should hold the pointer to the ``struct device`` associated |
| 139 | 143 | to your current driver instance. | |
| 140 | - Your device is able to report which chunks have been transferred | ||
| 141 | |||
| 142 | - Burst | ||
| 143 | |||
| 144 | - Your device is able to report which burst have been transferred | ||
| 145 | |||
| 146 | - dev: should hold the pointer to the ``struct device`` associated | ||
| 147 | to your current driver instance. | ||
| 148 | 144 | ||
| 149 | Supported transaction types | 145 | Supported transaction types |
| 150 | --------------------------- | 146 | --------------------------- |
