aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>2010-06-03 00:39:32 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-06-03 11:12:39 -0400
commit0acce82b3dd792c85079ca1f4f7ffd8c82427e0a (patch)
treecb949d61ec72206474a1c8dd9a9bef3443fad128 /arch
parent1fab79b8a1bf0d46a7c7e6a1c06dbed1803f403c (diff)
OMAP: McBSP: Function to query the FIFO size
Users of McBSP can use the omap_mcbsp_get_fifo_size function to query the size of the McBSP FIFO. The function will return the FIFO size in words (the HW maximum). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-omap/include/plat/mcbsp.h2
-rw-r--r--arch/arm/plat-omap/mcbsp.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
index 975744f10a58..b4ff6a11a8f2 100644
--- a/arch/arm/plat-omap/include/plat/mcbsp.h
+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
@@ -473,6 +473,7 @@ void omap_mcbsp_set_tx_threshold(unsigned int id, u16 threshold);
473void omap_mcbsp_set_rx_threshold(unsigned int id, u16 threshold); 473void omap_mcbsp_set_rx_threshold(unsigned int id, u16 threshold);
474u16 omap_mcbsp_get_max_tx_threshold(unsigned int id); 474u16 omap_mcbsp_get_max_tx_threshold(unsigned int id);
475u16 omap_mcbsp_get_max_rx_threshold(unsigned int id); 475u16 omap_mcbsp_get_max_rx_threshold(unsigned int id);
476u16 omap_mcbsp_get_fifo_size(unsigned int id);
476u16 omap_mcbsp_get_tx_delay(unsigned int id); 477u16 omap_mcbsp_get_tx_delay(unsigned int id);
477u16 omap_mcbsp_get_rx_delay(unsigned int id); 478u16 omap_mcbsp_get_rx_delay(unsigned int id);
478int omap_mcbsp_get_dma_op_mode(unsigned int id); 479int omap_mcbsp_get_dma_op_mode(unsigned int id);
@@ -483,6 +484,7 @@ static inline void omap_mcbsp_set_rx_threshold(unsigned int id, u16 threshold)
483{ } 484{ }
484static inline u16 omap_mcbsp_get_max_tx_threshold(unsigned int id) { return 0; } 485static inline u16 omap_mcbsp_get_max_tx_threshold(unsigned int id) { return 0; }
485static inline u16 omap_mcbsp_get_max_rx_threshold(unsigned int id) { return 0; } 486static inline u16 omap_mcbsp_get_max_rx_threshold(unsigned int id) { return 0; }
487static inline u16 omap_mcbsp_get_fifo_size(unsigned int id) { return 0; }
486static inline u16 omap_mcbsp_get_tx_delay(unsigned int id) { return 0; } 488static inline u16 omap_mcbsp_get_tx_delay(unsigned int id) { return 0; }
487static inline u16 omap_mcbsp_get_rx_delay(unsigned int id) { return 0; } 489static inline u16 omap_mcbsp_get_rx_delay(unsigned int id) { return 0; }
488static inline int omap_mcbsp_get_dma_op_mode(unsigned int id) { return 0; } 490static inline int omap_mcbsp_get_dma_op_mode(unsigned int id) { return 0; }
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 7e669c9744d8..8bab0b28b7a3 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -560,6 +560,20 @@ u16 omap_mcbsp_get_max_rx_threshold(unsigned int id)
560} 560}
561EXPORT_SYMBOL(omap_mcbsp_get_max_rx_threshold); 561EXPORT_SYMBOL(omap_mcbsp_get_max_rx_threshold);
562 562
563u16 omap_mcbsp_get_fifo_size(unsigned int id)
564{
565 struct omap_mcbsp *mcbsp;
566
567 if (!omap_mcbsp_check_valid_id(id)) {
568 printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
569 return -ENODEV;
570 }
571 mcbsp = id_to_mcbsp_ptr(id);
572
573 return mcbsp->pdata->buffer_size;
574}
575EXPORT_SYMBOL(omap_mcbsp_get_fifo_size);
576
563#define MCBSP2_FIFO_SIZE 0x500 /* 1024 + 256 locations */ 577#define MCBSP2_FIFO_SIZE 0x500 /* 1024 + 256 locations */
564#define MCBSP1345_FIFO_SIZE 0x80 /* 128 locations */ 578#define MCBSP1345_FIFO_SIZE 0x80 /* 128 locations */
565/* 579/*