Re: Alternative Concept

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

 



| From: Igor Stoppa<igor.stoppa@xxxxxxxxx>
| 
| What's wrong with expanding the clk_fw?
| All is needed is:
| clk_set_rate_buffered(clk1, 300);
| clk_set_rate_buffered(clk2, 600);
| clk_rate_flush(); /* can include validation of the set */
| 
| Which is, incidentally, what OMAP2 does in hw for all the relevant clk
| dividers and it also provides validation for the new set of values.
| 
| Furthermore if the original assumption that complex transitions are
| allowed only atomically (p1A, p1B) => (p2A, p2B), hw support is
| mandatory, otherwise the transition is impossible, no matter what fancy
| sw fw is performing it.
---

If you did it this way:

tid1 = power_transaction_start();
clk_set_rate_pending(clk1, 300, tid1);
clk_set_rate_pending(clk1, 600, tid1);
power_transaction_commit(tid1);

Then you can conveniently be constructing more than one transaction at a
time and would have a little more information for debugging and for
canceling partial transactions.

I agree that there needs to be some use of hardware magic underneath to
make the changes truly atomic; the flush/commit operation would have to
use that magic. That has the advantage of putting all the complexity of
undedstanding that magic in one place, at the cost of making that one
place possibly arbitrarily complex.

scott

-- 
scott preece
motorola mobile devices, il67, 1800 s. oak st., champaign, il  61820  
e-mail:	preece@xxxxxxxxxxxx	fax:	+1-217-384-8550
phone:	+1-217-384-8589	cell: +1-217-433-6114	pager: 2174336114@xxxxxxxxx


_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxx
https://lists.osdl.org/mailman/listinfo/linux-pm


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux