Re: [PATCH] omap-pm: Fixes behaviour of some shared resource framework functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Madhusudhan" <madhu.cr@xxxxxx> writes:

>> -----Original Message-----
>> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
>> owner@xxxxxxxxxxxxxxx] On Behalf Of Paul Walmsley
>> Sent: Wednesday, October 28, 2009 1:38 PM
>> To: Kevin Hilman
>> Cc: Dasgupta\, Romit; linux-omap\@vger.kernel.org
>> Subject: Re: [PATCH] omap-pm: Fixes behaviour of some shared resource
>> framework functions
>> 
>> On Tue, 13 Oct 2009, Kevin Hilman wrote:
>> 
>> > "Dasgupta, Romit" <romit@xxxxxx> writes:
>> >
>> > > (Tested on Zoom2).
>> > >
>> > > 'omap_pm_dsp_set_min_opp' & 'omap_pm_cpu_set_freq' were using their
>> own
>> > > struct device *. This is a problem because invoking these functions
>> from
>> > > different clients would result in setting of the resource level as
>> requested by
>> > > the last caller. Fixes this by introducing a struct device * to the
>> parameter
>> > > list for these functions.
>> > > Signed-off-by: Romit Dasgupta <romit@xxxxxx>
>> >
>> >
>> > This looks like the right fix to me.
>> >
>> > Paul, any comments?
>> 
>> 
>> Wait a minute, I am retracting my ack.
>> 
>> 
>> Romit, the only caller of omap_pm_dsp_set_min_opp() should be DSPBridge
>> and the only caller of omap_pm_cpu_set_freq() should be CPUFreq.  So the
>> struct device * pointer is not necessary, unless I am missing something.
>> Can you please explain what you're trying to do?
>> 
> I believe that omap_pm_cpu_set_freq() can be called by drivers to setup the
> optimal vdd1 opp, right? For example MMC works at opp1 but the performance
> is certainly better at opp3.When ondemand is enabled drivers need to put
> certain constraints on vdd1 opp otherwise performance will be hurt. So, if
> the API takes care of device level calls then drivers can call this fn.

So, the root use case is a power vs. performance policy decision.  And
using the proposed solution, a single driver gets to make a system
wide policy decision.  I don't like this.

For your MMC usecase, I think we need some clarifications.

What exactly does "better" performance mean.  Is it better throughput
that is needed?  or is it really the MPU side that is not
running/responding fast enough.

If it's throughput, then omap_pm_set_min_bus_tput() should be used.

If it's the MPU, what exactly is the problem with ondemand.  Is it
that it doesn't respond fast enough?  Or that it never switches to a
higher OPP.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux