Lines Matching refs:exporter
12 either the 'exporter' of buffers, or the 'user' of buffers.
15 exporter, and A as buffer-user.
17 The exporter
41 4. When needed, buffer-user requests access to the buffer from exporter
42 5. When finished with its use, the buffer-user notifies end-of-DMA to exporter
49 The buffer exporter announces its wish to export a buffer. In this, it
64 'exp_name' in struct dma_buf_export_info is the name of exporter - to
97 helps the exporter to know of device buffer constraints.
105 operation, if provided by the exporter.
110 Until this stage, the buffer-exporter has the option to choose not to actually
132 It is one of the buffer operations that must be implemented by the exporter.
136 If this is being called for the first time, the exporter can now choose to
143 that the exporter might wish to make available to buffer-users.
148 5. When finished, the buffer-user notifies end-of-DMA to exporter
151 the exporter using the dma_buf_unmap_attachment API.
166 map_dma_buf, this API also must be implemented by the exporter.
182 dma_buf->ops->detach(), if provided by exporter, for any housekeeping bits.
184 - Then, the buffer-user returns the buffer reference to exporter.
197 The attach-detach calls allow the exporter to figure out backing-storage
211 be allowed, if possible for the exporter.
213 In case it is allowed by the exporter:
215 exporter can handle these constraints, the exporter can just stall on the
219 exporter could potentially move the buffer to the stricter backing-storage,
223 If the exporter cannot fulfill the backing-storage constraints of the new
228 If the exporter chooses not to allow an attach() operation once a
255 context, it needs to notify the exporter of the access that is about to
263 This allows the exporter to ensure that the memory is actually available for
264 cpu access - the exporter might need to allocate or swap-in and pin the
265 backing storage. The exporter also needs to ensure that cpu access is
267 direction can be used by the exporter to optimize the cache flushing, i.e.
269 write) might return stale or even bogus data (e.g. when the exporter needs to
289 facilitate non-blocking fast-paths. Neither the importer nor the exporter (in
305 Note that these calls need to always succeed. The exporter needs to complete
316 The vmap call can fail if there is no vmap support in the exporter, or if it
319 into the exporter's vmap function only when no vmapping exists, and only
326 it needs to announce this to the exporter (to facilitate cache flushing and
387 exporter hence does not need to duplicate this check.
390 userspace, the exporter needs to set up a coherent mapping. If that's not
393 dma_buf files share the same anon inode, hence the exporter needs to replace
410 interesting ways depending upong the exporter (if userspace starts depending
448 - If an exporter needs to manually flush caches and hence needs to fake
457 callback. In the specific case of a gem driver the exporter could use the