[alsa-devel] [PATCH v7 07/13] slimbus: Add support for 'clock-pause' feature

Charles Keepax ckeepax at opensource.cirrus.com
Thu Nov 23 08:28:00 CET 2017


On Wed, Nov 15, 2017 at 02:10:37PM +0000, srinivas.kandagatla at linaro.org wrote:
> From: Sagar Dharia <sdharia at codeaurora.org>
> 
> Per slimbus specification, a reconfiguration sequence known as
> 'clock pause' needs to be broadcast over the bus while entering low-
> power mode. Clock-pause is initiated by the controller driver.
> To exit clock-pause, controller typically wakes up the framer device.
> Since wakeup precedure is controller-specific, framework calls it via
> controller's function pointer to invoke it.
> 
> Signed-off-by: Sagar Dharia <sdharia at codeaurora.org>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
> ---
> +/**
> + * struct slim_sched: Framework uses this structure internally for scheduling.

Missing kernel doc for clkgear here.

> + * @clk_state: Controller's clock state from enum slim_clk_state
> + * @pause_comp: Signals completion of clock pause sequence. This is useful when
> + *	client tries to call slimbus transaction when controller is entering
> + *	clock pause.
> + * @m_reconf: This mutex is held until current reconfiguration (data channel
> + *	scheduling, message bandwidth reservation) is done. Message APIs can
> + *	use the bus concurrently when this mutex is held since elemental access
> + *	messages can be sent on the bus when reconfiguration is in progress.
> + */
> +struct slim_sched {
> +	int			clkgear;
> +	enum slim_clk_state	clk_state;
> +	struct completion	pause_comp;
> +	struct mutex		m_reconf;
> +};

Thanks,
Charles


More information about the Alsa-devel mailing list