Re: [PATCH v7 07/13] slimbus: Add support for 'clock-pause' feature
From: Charles Keepax
Date: Thu Nov 23 2017 - 02:29:00 EST
On Wed, Nov 15, 2017 at 02:10:37PM +0000, srinivas.kandagatla@xxxxxxxxxx wrote:
> From: Sagar Dharia <sdharia@xxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxx>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> ---
> +/**
> + * 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