diff options
Diffstat (limited to 'drivers/dma-buf/dma-buf.c')
| -rw-r--r-- | drivers/dma-buf/dma-buf.c | 54 | 
1 files changed, 2 insertions, 52 deletions
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c index 50771063c617..13884474d158 100644 --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c @@ -405,7 +405,6 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)  			  || !exp_info->ops->map_dma_buf  			  || !exp_info->ops->unmap_dma_buf  			  || !exp_info->ops->release -			  || !exp_info->ops->map_atomic  			  || !exp_info->ops->map  			  || !exp_info->ops->mmap)) {  		return ERR_PTR(-EINVAL); @@ -687,26 +686,14 @@ EXPORT_SYMBOL_GPL(dma_buf_unmap_attachment);   *      void \*dma_buf_kmap(struct dma_buf \*, unsigned long);   *      void dma_buf_kunmap(struct dma_buf \*, unsigned long, void \*);   * - *   There are also atomic variants of these interfaces. Like for kmap they - *   facilitate non-blocking fast-paths. Neither the importer nor the exporter - *   (in the callback) is allowed to block when using these. - * - *   Interfaces:: - *      void \*dma_buf_kmap_atomic(struct dma_buf \*, unsigned long); - *      void dma_buf_kunmap_atomic(struct dma_buf \*, unsigned long, void \*); - * - *   For importers all the restrictions of using kmap apply, like the limited - *   supply of kmap_atomic slots. Hence an importer shall only hold onto at - *   max 2 atomic dma_buf kmaps at the same time (in any given process context). + *   Implementing the functions is optional for exporters and for importers all + *   the restrictions of using kmap apply.   *   *   dma_buf kmap calls outside of the range specified in begin_cpu_access are   *   undefined. If the range is not PAGE_SIZE aligned, kmap needs to succeed on   *   the partial chunks at the beginning and end but may return stale or bogus   *   data outside of the range (in these partial chunks).   * - *   Note that these calls need to always succeed. The exporter needs to - *   complete any preparations that might fail in begin_cpu_access. - *   *   For some cases the overhead of kmap can be too high, a vmap interface   *   is introduced. This interface should be used very carefully, as vmalloc   *   space is a limited resources on many architectures. @@ -860,43 +847,6 @@ int dma_buf_end_cpu_access(struct dma_buf *dmabuf,  EXPORT_SYMBOL_GPL(dma_buf_end_cpu_access);  /** - * dma_buf_kmap_atomic - Map a page of the buffer object into kernel address - * space. The same restrictions as for kmap_atomic and friends apply. - * @dmabuf:	[in]	buffer to map page from. - * @page_num:	[in]	page in PAGE_SIZE units to map. - * - * This call must always succeed, any necessary preparations that might fail - * need to be done in begin_cpu_access. - */ -void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num) -{ -	WARN_ON(!dmabuf); - -	if (!dmabuf->ops->map_atomic) -		return NULL; -	return dmabuf->ops->map_atomic(dmabuf, page_num); -} -EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic); - -/** - * dma_buf_kunmap_atomic - Unmap a page obtained by dma_buf_kmap_atomic. - * @dmabuf:	[in]	buffer to unmap page from. - * @page_num:	[in]	page in PAGE_SIZE units to unmap. - * @vaddr:	[in]	kernel space pointer obtained from dma_buf_kmap_atomic. - * - * This call must always succeed. - */ -void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num, -			   void *vaddr) -{ -	WARN_ON(!dmabuf); - -	if (dmabuf->ops->unmap_atomic) -		dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr); -} -EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic); - -/**   * dma_buf_kmap - Map a page of the buffer object into kernel address space. The   * same restrictions as for kmap and friends apply.   * @dmabuf:	[in]	buffer to map page from.  |