Skip to content

Commit

Permalink
dma-mapping: remove dma_mark_declared_memory_occupied
Browse files Browse the repository at this point in the history
This API is not used anywhere, so remove it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
  • Loading branch information
Christoph Hellwig committed Feb 20, 2019
1 parent ddb26d8 commit 91a6fda
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 49 deletions.
17 changes: 0 additions & 17 deletions Documentation/DMA-API.txt
Original file line number Diff line number Diff line change
Expand Up @@ -605,23 +605,6 @@ unconditionally having removed all the required structures. It is the
driver's job to ensure that no parts of this memory region are
currently in use.

::

void *
dma_mark_declared_memory_occupied(struct device *dev,
dma_addr_t device_addr, size_t size)

This is used to occupy specific regions of the declared space
(dma_alloc_coherent() will hand out the first free region it finds).

device_addr is the *device* address of the region requested.

size is the size (and should be a page-sized multiple).

The return value will be either a pointer to the processor virtual
address of the memory, or an error (via PTR_ERR()) if any part of the
region is occupied.

Part III - Debug drivers use of the DMA-API
-------------------------------------------

Expand Down
9 changes: 0 additions & 9 deletions include/linux/dma-mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -743,8 +743,6 @@ static inline int dma_get_cache_alignment(void)
int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
dma_addr_t device_addr, size_t size, int flags);
void dma_release_declared_memory(struct device *dev);
void *dma_mark_declared_memory_occupied(struct device *dev,
dma_addr_t device_addr, size_t size);
#else
static inline int
dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
Expand All @@ -757,13 +755,6 @@ static inline void
dma_release_declared_memory(struct device *dev)
{
}

static inline void *
dma_mark_declared_memory_occupied(struct device *dev,
dma_addr_t device_addr, size_t size)
{
return ERR_PTR(-EBUSY);
}
#endif /* CONFIG_DMA_DECLARE_COHERENT */

static inline void *dmam_alloc_coherent(struct device *dev, size_t size,
Expand Down
23 changes: 0 additions & 23 deletions kernel/dma/coherent.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,29 +137,6 @@ void dma_release_declared_memory(struct device *dev)
}
EXPORT_SYMBOL(dma_release_declared_memory);

void *dma_mark_declared_memory_occupied(struct device *dev,
dma_addr_t device_addr, size_t size)
{
struct dma_coherent_mem *mem = dev->dma_mem;
unsigned long flags;
int pos, err;

size += device_addr & ~PAGE_MASK;

if (!mem)
return ERR_PTR(-EINVAL);

spin_lock_irqsave(&mem->spinlock, flags);
pos = PFN_DOWN(device_addr - dma_get_device_base(dev, mem));
err = bitmap_allocate_region(mem->bitmap, pos, get_order(size));
spin_unlock_irqrestore(&mem->spinlock, flags);

if (err != 0)
return ERR_PTR(err);
return mem->virt_base + (pos << PAGE_SHIFT);
}
EXPORT_SYMBOL(dma_mark_declared_memory_occupied);

static void *__dma_alloc_from_coherent(struct dma_coherent_mem *mem,
ssize_t size, dma_addr_t *dma_handle)
{
Expand Down

0 comments on commit 91a6fda

Please sign in to comment.