aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-02-06 03:26:35 -0500
committerOlof Johansson <olof@lixom.net>2015-02-06 03:26:35 -0500
commit68a028f856f7ad2482a617ae02518634bae16809 (patch)
tree08077391a33698cfb4e60a26a34d7ff9f7798904
parent98d67219da3c23c1e5c27986edcce356b68761f2 (diff)
parenta68094c67bf1fa86630bd011d2d212899c41e1bc (diff)
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>
-rw-r--r--drivers/soc/ti/Makefile3
-rw-r--r--drivers/soc/ti/knav_qmss_acc.c2
-rw-r--r--drivers/soc/ti/knav_qmss_queue.c9
3 files changed, 12 insertions, 2 deletions
diff --git a/drivers/soc/ti/Makefile b/drivers/soc/ti/Makefile
index 6bed611e1934..135bdad7a6de 100644
--- a/drivers/soc/ti/Makefile
+++ b/drivers/soc/ti/Makefile
@@ -1,5 +1,6 @@
1# 1#
2# TI Keystone SOC drivers 2# TI Keystone SOC drivers
3# 3#
4obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss_queue.o knav_qmss_acc.o 4obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o
5knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o
5obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o 6obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o
diff --git a/drivers/soc/ti/knav_qmss_acc.c b/drivers/soc/ti/knav_qmss_acc.c
index 6fbfde6e748f..ef6f69db0bd0 100644
--- a/drivers/soc/ti/knav_qmss_acc.c
+++ b/drivers/soc/ti/knav_qmss_acc.c
@@ -209,7 +209,7 @@ static irqreturn_t knav_acc_int_handler(int irq, void *_instdata)
209 return IRQ_HANDLED; 209 return IRQ_HANDLED;
210} 210}
211 211
212int knav_range_setup_acc_irq(struct knav_range_info *range, 212static int knav_range_setup_acc_irq(struct knav_range_info *range,
213 int queue, bool enabled) 213 int queue, bool enabled)
214{ 214{
215 struct knav_device *kdev = range->kdev; 215 struct knav_device *kdev = range->kdev;
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
index 8e6a95d91d33..6d8646db52cc 100644
--- a/drivers/soc/ti/knav_qmss_queue.c
+++ b/drivers/soc/ti/knav_qmss_queue.c
@@ -626,6 +626,7 @@ int knav_queue_push(void *qhandle, dma_addr_t dma,
626 atomic_inc(&qh->stats.pushes); 626 atomic_inc(&qh->stats.pushes);
627 return 0; 627 return 0;
628} 628}
629EXPORT_SYMBOL_GPL(knav_queue_push);
629 630
630/** 631/**
631 * knav_queue_pop() - pop data (or descriptor) from the head of a queue 632 * 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)
663 atomic_inc(&qh->stats.pops); 664 atomic_inc(&qh->stats.pops);
664 return dma; 665 return dma;
665} 666}
667EXPORT_SYMBOL_GPL(knav_queue_pop);
666 668
667/* carve out descriptors and push into queue */ 669/* carve out descriptors and push into queue */
668static void kdesc_fill_pool(struct knav_pool *pool) 670static 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)
717 struct knav_pool *pool = ph; 719 struct knav_pool *pool = ph;
718 return pool->region->dma_start + (virt - pool->region->virt_start); 720 return pool->region->dma_start + (virt - pool->region->virt_start);
719} 721}
722EXPORT_SYMBOL_GPL(knav_pool_desc_virt_to_dma);
720 723
721void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma) 724void *knav_pool_desc_dma_to_virt(void *ph, dma_addr_t dma)
722{ 725{
723 struct knav_pool *pool = ph; 726 struct knav_pool *pool = ph;
724 return pool->region->virt_start + (dma - pool->region->dma_start); 727 return pool->region->virt_start + (dma - pool->region->dma_start);
725} 728}
729EXPORT_SYMBOL_GPL(knav_pool_desc_dma_to_virt);
726 730
727/** 731/**
728 * knav_pool_create() - Create a pool of descriptors 732 * knav_pool_create() - Create a pool of descriptors
@@ -878,6 +882,7 @@ void *knav_pool_desc_get(void *ph)
878 data = knav_pool_desc_dma_to_virt(pool, dma); 882 data = knav_pool_desc_dma_to_virt(pool, dma);
879 return data; 883 return data;
880} 884}
885EXPORT_SYMBOL_GPL(knav_pool_desc_get);
881 886
882/** 887/**
883 * knav_pool_desc_put() - return a descriptor to the pool 888 * knav_pool_desc_put() - return a descriptor to the pool
@@ -890,6 +895,7 @@ void knav_pool_desc_put(void *ph, void *desc)
890 dma = knav_pool_desc_virt_to_dma(pool, desc); 895 dma = knav_pool_desc_virt_to_dma(pool, desc);
891 knav_queue_push(pool->queue, dma, pool->region->desc_size, 0); 896 knav_queue_push(pool->queue, dma, pool->region->desc_size, 0);
892} 897}
898EXPORT_SYMBOL_GPL(knav_pool_desc_put);
893 899
894/** 900/**
895 * knav_pool_desc_map() - Map descriptor for DMA transfer 901 * knav_pool_desc_map() - Map descriptor for DMA transfer
@@ -916,6 +922,7 @@ int knav_pool_desc_map(void *ph, void *desc, unsigned size,
916 922
917 return 0; 923 return 0;
918} 924}
925EXPORT_SYMBOL_GPL(knav_pool_desc_map);
919 926
920/** 927/**
921 * knav_pool_desc_unmap() - Unmap descriptor after DMA transfer 928 * 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)
938 prefetch(desc); 945 prefetch(desc);
939 return desc; 946 return desc;
940} 947}
948EXPORT_SYMBOL_GPL(knav_pool_desc_unmap);
941 949
942/** 950/**
943 * knav_pool_count() - Get the number of descriptors in pool. 951 * knav_pool_count() - Get the number of descriptors in pool.
@@ -949,6 +957,7 @@ int knav_pool_count(void *ph)
949 struct knav_pool *pool = ph; 957 struct knav_pool *pool = ph;
950 return knav_queue_get_count(pool->queue); 958 return knav_queue_get_count(pool->queue);
951} 959}
960EXPORT_SYMBOL_GPL(knav_pool_count);
952 961
953static void knav_queue_setup_region(struct knav_device *kdev, 962static void knav_queue_setup_region(struct knav_device *kdev,
954 struct knav_region *region) 963 struct knav_region *region)