All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sagar Dharia <sdharia@codeaurora.org>
To: Mark Brown <broonie@kernel.org>
Cc: gregkh@linuxfoundation.org, bp@suse.de, poeschel@lemonage.de,
	treding@nvidia.com, gong.chen@linux.intel.com,
	andreas.noever@gmail.com, alan@linux.intel.com,
	mathieu.poirier@linaro.org, daniel@ffwll.ch, oded.gabbay@amd.com,
	jkosina@suse.cz, sharon.dvir1@mail.huji.ac.il, joe@perches.com,
	davem@davemloft.net, james.hogan@imgtec.com,
	michael.opdenacker@free-electrons.com,
	daniel.thompson@linaro.org, robh+dt@kernel.org,
	pawel.moll@arm.com, mark.rutland@arm.com,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	kheitke@audience.com, mlocke@codeaurora.org,
	agross@codeaurora.org, linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH V3 5/6] slimbus: Add support for 'clock-pause' feature
Date: Mon, 17 Aug 2015 17:43:01 -0600	[thread overview]
Message-ID: <55D27185.4000101@codeaurora.org> (raw)
In-Reply-To: <20150814183918.GF10748@sirena.org.uk>

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

  reply	other threads:[~2015-08-17 23:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-03  6:59 [PATCH V3 0/6] Introduce framework for SLIMbus device drivers Sagar Dharia
2015-08-03  6:59 ` [PATCH V3 1/6] SLIMbus: Device management on SLIMbus Sagar Dharia
2015-08-14 18:17   ` Mark Brown
2015-08-03  6:59 ` [PATCH V3 2/6] of/slimbus: OF helper for SLIMbus Sagar Dharia
2015-08-03 16:13   ` Rob Herring
2015-08-03 16:13     ` Rob Herring
2015-08-04 17:27     ` Mark Brown
2015-08-04 17:27       ` Mark Brown
2015-08-06 19:10     ` Sagar Dharia
2015-08-06 19:10       ` Sagar Dharia
2015-08-03  6:59 ` [PATCH V3 3/6] slimbus: Add messaging APIs to slimbus framework Sagar Dharia
2015-08-14 18:25   ` Mark Brown
2015-08-14 18:33     ` Mark Brown
2015-08-03  6:59 ` [PATCH V3 4/6] slim: qcom: Add Qualcomm Slimbus controller driver Sagar Dharia
2015-08-14 18:31   ` Mark Brown
     [not found]     ` <20150814183106.GE10748-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-08-17 23:44       ` Sagar Dharia
2015-08-17 23:44         ` Sagar Dharia
2015-08-03  6:59 ` [PATCH V3 5/6] slimbus: Add support for 'clock-pause' feature Sagar Dharia
2015-08-14 18:39   ` Mark Brown
2015-08-17 23:43     ` Sagar Dharia [this message]
2015-08-03  6:59 ` [PATCH V3 6/6] slim: qcom: Add runtime-pm support using clock-pause feature Sagar Dharia
2015-08-14 18:43   ` Mark Brown
2015-08-14 18:46 ` [PATCH V3 0/6] Introduce framework for SLIMbus device drivers Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D27185.4000101@codeaurora.org \
    --to=sdharia@codeaurora.org \
    --cc=agross@codeaurora.org \
    --cc=alan@linux.intel.com \
    --cc=andreas.noever@gmail.com \
    --cc=bp@suse.de \
    --cc=broonie@kernel.org \
    --cc=daniel.thompson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=gong.chen@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=james.hogan@imgtec.com \
    --cc=jkosina@suse.cz \
    --cc=joe@perches.com \
    --cc=kheitke@audience.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=michael.opdenacker@free-electrons.com \
    --cc=mlocke@codeaurora.org \
    --cc=oded.gabbay@amd.com \
    --cc=pawel.moll@arm.com \
    --cc=poeschel@lemonage.de \
    --cc=robh+dt@kernel.org \
    --cc=sharon.dvir1@mail.huji.ac.il \
    --cc=treding@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.