aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dss.h
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2009-12-17 14:35:21 +0200
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-08 15:32:18 +0200
commitdfc0fd8d8850ef11951ba6c251e06096d1b5a0bd (patch)
treeb80a85226218abbb562c93b7777de8bbda2c5db2 /drivers/video/omap2/dss/dss.h
parentff90a3488d98a63bf24bff37f77a9a37b00e7a54 (diff)
downloadkernel_samsung_smdk4412-dfc0fd8d8850ef11951ba6c251e06096d1b5a0bd.zip
kernel_samsung_smdk4412-dfc0fd8d8850ef11951ba6c251e06096d1b5a0bd.tar.gz
kernel_samsung_smdk4412-dfc0fd8d8850ef11951ba6c251e06096d1b5a0bd.tar.bz2
OMAP: DSS2: Collect interrupt statistics
Collect interrupt statistics, printable via debugfs: debugfs/omapdss/dispc_irq debugfs/omapdss/dsi_irq The counters are reset when printed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2/dss/dss.h')
-rw-r--r--drivers/video/omap2/dss/dss.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 8da5ac4..2bcb124 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -240,6 +240,7 @@ int dsi_init(struct platform_device *pdev);
void dsi_exit(void);
void dsi_dump_clocks(struct seq_file *s);
+void dsi_dump_irqs(struct seq_file *s);
void dsi_dump_regs(struct seq_file *s);
void dsi_save_context(void);
@@ -268,6 +269,7 @@ int dpi_init_display(struct omap_dss_device *dssdev);
int dispc_init(void);
void dispc_exit(void);
void dispc_dump_clocks(struct seq_file *s);
+void dispc_dump_irqs(struct seq_file *s);
void dispc_dump_regs(struct seq_file *s);
void dispc_irq_handler(void);
void dispc_fake_vsync_irq(void);
@@ -367,4 +369,16 @@ void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t);
unsigned long rfbi_get_max_tx_rate(void);
int rfbi_init_display(struct omap_dss_device *display);
+
+#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
+static inline void dss_collect_irq_stats(u32 irqstatus, unsigned *irq_arr)
+{
+ int b;
+ for (b = 0; b < 32; ++b) {
+ if (irqstatus & (1 << b))
+ irq_arr[b]++;
+ }
+}
+#endif
+
#endif