OMAP clock: bug fixes, cleanup, optimization
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest23 patches 3 repliesIn review
- v122 patches 3 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/23 | OMAP2/3 clock: use standard set_rate fn in omap2_clk_arch_init()arch/ arch/ | +2 | 0 replies | |
| 2/23 | OMAP clock: move rate recalc, propagation code up to plat-omap/clock.carch/ arch/ arch/ +2 more | +27 | 0 replies | |
| 3/23 | OMAP2/3 clock: drop recalc function pointers from fixed rate clocksarch/ arch/ arch/ | +10 | 0 replies | |
| 4/23 | OMAP clock: support "dry run" rate and parent changesarch/ arch/ arch/ +7 more | +277 | 0 replies | |
| 5/23 | OMAP clock: track child clocksarch/ arch/ arch/ | +199 | 0 replies | |
| 6/23 | OMAP clock: drop the RATE_PROPAGATES flagarch/ arch/ arch/ +1 more | +104 | 0 replies | |
| 7/23 | OMAP clock: drop RATE_FIXEDarch/ arch/ arch/ +3 more | +29 | 0 replies | |
| 8/23 | OMAP clock: remove VIRTUAL_CLOCKarch/ arch/ arch/ | +6 | 2 replies | |
| 9/23 | OMAP2 clock: drop CONFIG_PARTICIPANT clock flagarch/ arch/ arch/ | +12 | 0 replies | |
| 10/23 | OMAP2/3 clock: remove clk->ownerarch/ arch/ | +2 | 0 replies | |
| 11/23 | OMAP clock: rearrange clock.h structure orderarch/ | +15 | 0 replies | |
| 12/23 | OMAP2/3 clock: don't use a barrier after clk_disable()arch/ | +1 | 0 replies | |
| 13/23 | OMAP2xxx clock: consolidate DELAYED_APP clock commits; fix barrierarch/ | +24 | 0 replies | |
| 14/23 | OMAP2/3 clock: convert remaining MPU barriers into OCP barriersarch/ | +3 | 0 replies | |
| 15/23 | OMAP clock: drop clk_get_usecount()arch/ arch/ arch/ +1 more | +2 | 0 replies | |
| 16/23 | OMAP clock: add OMAP chip family-specific clk_register() optionarch/ arch/ arch/ +3 more | +21 | 0 replies | |
| 17/23 | OMAP2/3 clock: every clock must have a clkdmarch/ | +9 | 0 replies | |
| 18/23 | OMAP2/3 clock: omap2_clk_enable(): refactor usecount checkarch/ | +16 | 0 replies | |
| 19/23 | OMAP2/3 clock: omap2_clk_enable(): fix bugs in clockdomain handlingarch/ | +3 | 0 replies | |
| 20/23 | OMAP2/3 clock: omap2_clk_enable(): fix usecount decrement bugarch/ | +2 | 1 reply | |
| 21/23 | OMAP2/3 clock: omap2_clk_enable(): fix logicarch/ | +10 | 0 replies | |
| 22/23 | OMAP2/3 clock: don't tinker with hardirqs when they are supposed to be disabledarch/ arch/ | +3 | 0 replies | |
| 23/23 | OMAP3 SmartReflex: get rid of custom clocksarch/ | +19 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 00/23] OMAP clock: bug fixes, cleanup, optimization
Hello,
This is version 2 of the clock updates series sent earlier. Changes in v2:
1. Missing structure documentation for struct clk_child added
2. .clk_register function pointer added to struct clk_functions; OMAP2/3 clock code now does clock->clockdomain association there
Revised summary below. Happy new year, everyone.
- Paul
------------------
Hello,
this 23-patch series updates the OMAP1/2/3 clock code. Highlights:
- Rate recalculation functions are now no longer responsible for rate propagation - now handled by plat-omap/clock.c (patches 2, 3,
4)
- Parent-to-child traversals of the clock tree are now much faster - these occur during rate propagation and clock notifiers (patch 5)
- Many superfluous clock flags have been dropped (patches 6, 7, 8, 9)
- struct clk has been streamlined by removing unused members and rearranging the structure to reduce padding (patches 10, 11)
- MPU barriers have been either removed or converted to OCP barriers (patches 12, 13, 14)
- clk_get_usecount() has been dropped (patch 15)
- OMAP clock code can now specify an OMAP chip family-specific clk_enable() function - used on OMAP2/3 (patch 16)
- omap2_clk_enable() has been overhauled: two bugs were fixed and the function body itself is now understandable (patches 17, 18, 19, 20, 21)
- Unnecessary custom clocks in smartreflex.c have been removed (patch 23)
- Miscellaneous bug fixes (patches 1, 22)
Compile-tested on OMAP1. Boot-tested on N800 and 3430SDP GP ES2.1.
---
size:
text data bss dec hex filename
3596322 192368 109912 3898602 3b7cea vmlinux.3430sdp.orig 3595941 193016 109912 3898869 3b7df5 vmlinux.3430sdp.patched
3167222 152232 86176 3405630 33f73e vmlinux.n800.orig 3167501 152792 86176 3406469 33fa85 vmlinux.n800.patched
2682806 120120 96940 2899866 2c3f9a vmlinux.osk5912.orig 2683397 120528 96940 2900865 2c4381 vmlinux.osk5912.patched
diffstat:
arch/arm/mach-omap1/clock.c | 87 +++++++---- arch/arm/mach-omap1/clock.h | 64 ++++---- arch/arm/mach-omap2/clock.c | 167 +++++++++++--------- arch/arm/mach-omap2/clock.h | 9 + arch/arm/mach-omap2/clock24xx.c | 128 ++++++++++------ arch/arm/mach-omap2/clock24xx.h | 89 ++++------- arch/arm/mach-omap2/clock34xx.c | 52 +++--- arch/arm/mach-omap2/clock34xx.h | 228 ++++++++++------------------ arch/arm/mach-omap2/pm-debug.c | 2 arch/arm/mach-omap2/pm24xx.c | 2 arch/arm/mach-omap2/smartreflex.c | 89 ++--------- arch/arm/plat-omap/clock.c | 256 +++++++++++++++++++++++++------ arch/arm/plat-omap/include/mach/clock.h | 78 ++++++--- 13 files changed, 693 insertions(+), 558 deletions(-)
manifest:
Paul Walmsley (20):
OMAP3 SmartReflex: get rid of custom clocks
OMAP2/3 clock: don't tinker with hardirqs when they are supposed to be disabled OMAP2/3 clock: omap2_clk_enable(): fix logic
OMAP2/3 clock: omap2_clk_enable(): fix usecount decrement bug OMAP2/3 clock: omap2_clk_enable(): fix bugs in clockdomain handling OMAP2/3 clock: omap2_clk_enable(): refactor usecount check OMAP2/3 clock: every clock must have a clkdm
OMAP clock: add OMAP chip family-specific clk_register() option OMAP clock: drop clk_get_usecount()
OMAP2/3 clock: convert remaining MPU barriers into OCP barriers OMAP2xxx clock: consolidate DELAYED_APP clock commits; fix barrier OMAP2/3 clock: don't use a barrier after clk_disable()
OMAP2 clock: drop CONFIG_PARTICIPANT clock flag
OMAP clock: drop RATE_FIXED
OMAP clock: drop the RATE_PROPAGATES flag
OMAP clock: track child clocks
OMAP clock: support "dry run" rate and parent changes
OMAP2/3 clock: drop recalc function pointers from fixed rate clocks OMAP clock: move rate recalc, propagation code up to plat-omap/clock.c OMAP2/3 clock: use standard set_rate fn in omap2_clk_arch_init()
Russell King (3):
OMAP clock: rearrange clock.h structure order OMAP2/3 clock: remove clk->owner
OMAP clock: remove VIRTUAL_CLOCK