[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55D27185.4000101@codeaurora.org>
Date: Mon, 17 Aug 2015 17:43:01 -0600
From: Sagar Dharia <sdharia@...eaurora.org>
To: Mark Brown <broonie@...nel.org>
Cc: gregkh@...uxfoundation.org, bp@...e.de, poeschel@...onage.de,
treding@...dia.com, gong.chen@...ux.intel.com,
andreas.noever@...il.com, alan@...ux.intel.com,
mathieu.poirier@...aro.org, daniel@...ll.ch, oded.gabbay@....com,
jkosina@...e.cz, sharon.dvir1@...l.huji.ac.il, joe@...ches.com,
davem@...emloft.net, james.hogan@...tec.com,
michael.opdenacker@...e-electrons.com, daniel.thompson@...aro.org,
robh+dt@...nel.org, pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
kheitke@...ience.com, mlocke@...eaurora.org, agross@...eaurora.org,
linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH V3 5/6] slimbus: Add support for 'clock-pause' feature
Hi Mark,
On 8/14/2015 12:39 PM, Mark Brown wrote:
> On Mon, Aug 03, 2015 at 12:59:49AM -0600, Sagar Dharia wrote:
>
>> @@ -459,6 +459,8 @@ int slim_register_controller(struct slim_controller *ctrl)
>> mutex_init(&ctrl->m_ctrl);
>> spin_lock_init(&ctrl->tx.lock);
>> spin_lock_init(&ctrl->rx.lock);
>> + mutex_init(&ctrl->sched.m_reconf);
>> + init_completion(&ctrl->sched.pause_comp);
> Should there not be more interaction with the rest of the framework on
> clock pauses - the bus will need to be started to do transfers for
> example?
I'm relying on controller's pm_runtime as you pointed out for
entering/exiting clock-pause.
The reason to initiate clock-pause from controller was more on the lines
of clock-pause sequence being expensive, and tight coupling between
controller/framer-clocks and clock-pause.
Three reconfiguration-transfer-commands have to be broadcast on the
lines to enter clock-pause, and exiting it is needs 'wakeup' callback
for controller.
Doing this per transfer will be a big overhead.
Using pm_runtime's autosuspend feature allows the controller-device to
enter clock-pause after periods of inactivity to avoid thrashing.
As a trade-off, I am proposing that controller should initiate
clock-pause from its pm_runtime callbacks, and framework should provide
the means to do it.
Also, typically clocks of the controller are coupled with clock-pause
and clocks cannot be turned off until the clock-pause sequence is sent
on the bus since framer has to keep clocking the bus.
Thanks
Sagar
>
>> +#include <linux/slimbus.h>
>> +/**
> Missing blank line.
>
>> + * slim_ctrl_clk_pause: Called by slimbus controller to enter/exit 'clock pause'
> Is the controller the best place to initiate bus pausing? It's
> surprising to me that it would be, the bus being idle isn't something
> that needs controller specific knowledge so I'd expect the framework to
> have standard support for this.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists