Merge tag 'drivers-soc-ti' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers
Merge "soc: ti: Keystone Navigator SOC driver updates for 3.20" from Santosh Shilimkar: Keystone Navigator SOC driver updates for 3.20 - Makefile tweak so that knav_qmss and knav_dma can be made loadable modules without depedency issues. - Few more exports to support ARM allmodconfig. - Marking knav_range_setup_acc_irq() local function as static. * tag 'drivers-soc-ti' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: soc: ti: knav_qmss_queue: change knav_range_setup_acc_irq to static soc: ti: knav_qmss_queue: makefile tweak to build as dynamic module soc: ti: knav_qmss_queue: export API calls for use by user driver Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#
|
||||
# TI Keystone SOC drivers
|
||||
#
|
||||
obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss_queue.o knav_qmss_acc.o
|
||||
obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o
|
||||
knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o
|
||||
obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o
|
||||
|
||||
@@ -209,7 +209,7 @@ static irqreturn_t knav_acc_int_handler(int irq, void *_instdata)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
int knav_range_setup_acc_irq(struct knav_range_info *range,
|
||||
static int knav_range_setup_acc_irq(struct knav_range_info *range,
|
||||
int queue, bool enabled)
|
||||
{
|
||||
struct knav_device *kdev = range->kdev;
|
||||
|
||||
@@ -626,6 +626,7 @@ int knav_queue_push(void *qhandle, dma_addr_t dma,
|
||||
atomic_inc(&qh->stats.pushes);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_queue_push);
|
||||
|
||||
/**
|
||||
* knav_queue_pop() - pop data (or descriptor) from the head of a queue
|
||||
@@ -663,6 +664,7 @@ dma_addr_t knav_queue_pop(void *qhandle, unsigned *size)
|
||||
atomic_inc(&qh->stats.pops);
|
||||
return dma;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_queue_pop);
|
||||
|
||||
/* carve out descriptors and push into queue */
|
||||
static void kdesc_fill_pool(struct knav_pool *pool)
|
||||
@@ -717,12 +719,14 @@ dma_addr_t knav_pool_desc_virt_to_dma(void *ph, void *virt)
|
||||
struct knav_pool *pool = ph;
|
||||
return pool->region->dma_start + (virt - pool->region->virt_start);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_virt_to_dma);
|
||||
|
||||
void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma)
|
||||
{
|
||||
struct knav_pool *pool = ph;
|
||||
return pool->region->virt_start + (dma - pool->region->dma_start);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_dma_to_virt);
|
||||
|
||||
/**
|
||||
* knav_pool_create() - Create a pool of descriptors
|
||||
@@ -878,6 +882,7 @@ void *knav_pool_desc_get(void *ph)
|
||||
data = knav_pool_desc_dma_to_virt(pool, dma);
|
||||
return data;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_get);
|
||||
|
||||
/**
|
||||
* knav_pool_desc_put() - return a descriptor to the pool
|
||||
@@ -890,6 +895,7 @@ void knav_pool_desc_put(void *ph, void *desc)
|
||||
dma = knav_pool_desc_virt_to_dma(pool, desc);
|
||||
knav_queue_push(pool->queue, dma, pool->region->desc_size, 0);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_put);
|
||||
|
||||
/**
|
||||
* knav_pool_desc_map() - Map descriptor for DMA transfer
|
||||
@@ -916,6 +922,7 @@ int knav_pool_desc_map(void *ph, void *desc, unsigned size,
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_map);
|
||||
|
||||
/**
|
||||
* knav_pool_desc_unmap() - Unmap descriptor after DMA transfer
|
||||
@@ -938,6 +945,7 @@ void *knav_pool_desc_unmap(void *ph, dma_addr_t dma, unsigned dma_sz)
|
||||
prefetch(desc);
|
||||
return desc;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_desc_unmap);
|
||||
|
||||
/**
|
||||
* knav_pool_count() - Get the number of descriptors in pool.
|
||||
@@ -949,6 +957,7 @@ int knav_pool_count(void *ph)
|
||||
struct knav_pool *pool = ph;
|
||||
return knav_queue_get_count(pool->queue);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(knav_pool_count);
|
||||
|
||||
static void knav_queue_setup_region(struct knav_device *kdev,
|
||||
struct knav_region *region)
|
||||
|
||||
Reference in New Issue
Block a user