summaryrefslogtreecommitdiffstats
path: root/drivers/hsi/controllers/omap_ssi.h
diff options
context:
space:
mode:
authorSebastian Reichel <sre@kernel.org>2016-01-31 01:52:38 +0100
committerSebastian Reichel <sre@kernel.org>2016-05-02 21:56:25 +0200
commit4bcf7414528a6b7ca52d28953a732a4cf36063e8 (patch)
treea70c2897861ee30a420153a94651a723a70aec1f /drivers/hsi/controllers/omap_ssi.h
parent0fae198988b873d30fe9ecb6a6271afb36df97e9 (diff)
HSI: omap-ssi: add clk change support
This adds support for frequency changes of the SSI functional clock, which may occur due to DVFS. Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-By: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/hsi/controllers/omap_ssi.h')
-rw-r--r--drivers/hsi/controllers/omap_ssi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/hsi/controllers/omap_ssi.h b/drivers/hsi/controllers/omap_ssi.h
index e493321cb0c3..7b4dec2c69ff 100644
--- a/drivers/hsi/controllers/omap_ssi.h
+++ b/drivers/hsi/controllers/omap_ssi.h
@@ -134,6 +134,8 @@ struct gdd_trn {
* @gdd_tasklet: bottom half for DMA transfers
* @gdd_trn: Array of GDD transaction data for ongoing GDD transfers
* @lock: lock to serialize access to GDD
+ * @fck_nb: DVFS notfifier block
+ * @fck_rate: clock rate
* @loss_count: To follow if we need to restore context or not
* @max_speed: Maximum TX speed (Kb/s) set by the clients.
* @sysconfig: SSI controller saved context
@@ -151,6 +153,7 @@ struct omap_ssi_controller {
struct tasklet_struct gdd_tasklet;
struct gdd_trn gdd_trn[SSI_MAX_GDD_LCH];
spinlock_t lock;
+ struct notifier_block fck_nb;
unsigned long fck_rate;
u32 loss_count;
u32 max_speed;
@@ -164,6 +167,9 @@ struct omap_ssi_controller {
#endif
};
+void omap_ssi_port_update_fclk(struct hsi_controller *ssi,
+ struct omap_ssi_port *omap_port);
+
extern struct platform_driver ssi_port_pdriver;
#endif /* __LINUX_HSI_OMAP_SSI_H__ */