aboutsummaryrefslogtreecommitdiff
path: root/drivers/mfd/glamo
AgeCommit message (Collapse)Author
2009-02-01debug-add-more-glamo-mem-speed-options.patchAndy Green
People on bug https://docs.openmoko.org/trac/ticket/2217 experiencing problems with default emmory settings on Glamo reported that changing reg 0x200 <- 0xef0 as in 2.6.24 made the problem not reproducible any more. However this changes three bitfields, two are to do with waitstates before sampling read and write cycles off the bus, and the last is to do with which PLL provides the clock to the memory interface unit logic. The old settings has all three of these very conservative, 3 waitstates and using the 50MHz PLL instead of the 90MHz one; the new default setting has all of these at their fastest of 0 wait states and the 90MHz PLL. This patch adds some more granular tests to the same glamo3362.slow_memory= parameter to see if we can find some middle ground. For example the issue may be the waitstates and not the PLL source, in which case even users with the bad Glamo behaviour can have the advantage of the faster PLL / bus bandwidth. 0 90MHz PLL, no wait states (default) 1 50MHz PLL, 3 wait states 2 50MHz PLL, 2 wait states 3 50MHz PLL, 1 wait state 4 50MHz PLL, no wait states 5 90MHz PLL, 3 wait states 6 90MHz PLL, 2 wait states 7 90MHz PLL, 1 wait state Signed-off-by: Andy Green <andy@openmoko.com>
2009-01-29Subject: glamo_fix_improper_xrandr_geometry_setting.patchBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=3b09161ffa5f29870d1f2cab1442f79ff2017b69 glamo_fix_improper_xrandr_geometry_setting.patch Switching to xrandr -o 3 from xrandr -o 1 caused the screen to look crazy because of the way lcd geometry is set in glamo. This patch fixes it. Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-01-28Subject: fix_glamo_xrandr_bug.patchBalaji Rao
X-Git-Url: http://git.openmoko.org/?p=kernel.git;a=commitdiff_plain;h=40fe0a30c75937a476ea50220814ca8b1fd81b45 fix_glamo_xrandr_bug.patch This patch reintroduces the 2-cycle delay used when accessing glamo-fb registers. This seems to be required even when the corresponding registers in HOST_BUS are off. Signed-off-by: Balaji Rao <balajirrao@openmoko.org>
2009-01-28debug-glamo-allow-slower-memory-bus.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-01-27fix-glamo-core-from-balaji-tree.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2009-01-22MERGE-via-pending-tracking-hist-MERGE-via-stable-tracking-MERGE-via-mokopatc ↵merge
hes-tracking-fix-stray-endmenu-patch-1232632040-1232632141 pending-tracking-hist top was MERGE-via-stable-tracking-MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040-1232632141 / fdf777a63bcb59e0dfd78bfe2c6242e01f6d4eb9 ... parent commitmessage: From: merge <null@invalid> MERGE-via-stable-tracking-hist-MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040 stable-tracking-hist top was MERGE-via-mokopatches-tracking-fix-stray-endmenu-patch-1232632040 / 90463bfd2d5a3c8b52f6e6d71024a00e052b0ced ... parent commitmessage: From: merge <null@invalid> MERGE-via-mokopatches-tracking-hist-fix-stray-endmenu-patch mokopatches-tracking-hist top was fix-stray-endmenu-patch / 3630e0be570de8057e7f8d2fe501ed353cdf34e6 ... parent commitmessage: From: Andy Green <andy@openmoko.com> fix-stray-endmenu.patch Signed-off-by: Andy Green <andy@openmoko.com>
2009-01-19Make glamo-fb.c build without CONFIG_PMWerner Almesberger
Fix suspend/resume dummy in glamo-fb.c Signed-off-by: Werner Almesberger <werner@openmoko.org>
2009-01-15avoid using irq_desc in glamo-mci.cWerner Almesberger
When building the MMC subsystem as modules, drivers/mfd/glamo/glamo-mci.ko cannot access irq_desc, because it isn't exported by kernel/irq/handle.c All the functions that indirectly access irq_desc are inlined, so they cannot be used to avoid having to resolve irq_desc. Fortunately, we can solve the problem locally: we don't really need to access irq_desc anyway. This patch splits glamo_mci_irq into a small wrapper that implements the IRQ handler interface and the main code that doesn't need to know about the semantics of the latter. Then we simply call the main code with the information we already have. Signed-off-by: Werner Almesberger <werner@openmoko.org> Tested-by: Rafael Ignacio Zurita <rizurita@yahoo.com>
2009-01-04fix-glamo-mci-ambiguous-timeout.patchAndy Green
Sometimes we see failures with cards where the status is eg, 0x310. This corresponds to a "no data" timeout and an assertion that the data is present. This patch makes the data present status have priority over the timeout status. Signed-off-by: Andy Green <andy@openmoko.com>
2008-12-04MERGE-via-pending-tracking-hist-MERGE-via-stable-tracking-workaround-glamo-m ↵merge
mc-insanity-1228425445 pending-tracking-hist top was MERGE-via-stable-tracking-workaround-glamo-mmc-insanity-1228425445 / 8c97326a7ad33d8690a4b433abc14918e5900e58 ... parent commitmessage: From: merge <null@invalid> MERGE-via-stable-tracking-hist-workaround-glamo-mmc-insanity- stable-tracking-hist top was workaround-glamo-mmc-insanity- / 7a55cd6f948a33c4452dd99da39e15efe832f2e2 ... parent commitmessage: From: sprite_tm <unknown@invalid> workaround-glamo-mmc-insanity-timeout-warning-only.patch Modified version of one line patch from https://docs.openmoko.org/trac/ticket/2078 by sprite_tm Signed-off-by: Andy Green <andy@openmoko.com>
2008-12-01fix-glamo-mci-no-wait-ack-deselect.patchAndy Green
Now the card is powered when we send the last command from the stack, SELECT CARD with arg 0, we learn that the card can't reply when deselected. So detect SELECT CARD and arg 0 and don't bother waiting for an ack that isn't coming. This chops three seconds off suspend :-) Signed-off-by: Andy Green <andy@openmoko.com>
2008-12-01fix-glamo-mmc-reduce-insanity-timeout.patchAndy Green
Nothing on the card can really take 3s.. reduce to 300ms Signed-off-by: Andy Green <andy@openmoko.com>
2008-12-01fix-err-strength-debug-msg.patchAndy Green
Now Qi is changed to default to loglevel 4 where it will show KERN_ERR on LCM, we need to reduce the debugging KERN_ERR traffic so as not to obscure the real things. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-20glamo_mci_use_regulator_api.patchBalaji Rao
Changes the glamo-mci driver to use the regulator API.
2008-11-19Make the console turn off the backlight when blanking the screen.Andy Green
Work in progress.
2008-11-19fix-glamo-gpio-resume.patchAndy Green
Glamo GPIO are not set correctly after resume / reset action. This patch forces them to correct state for GTA02. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19page-flip.patchSean McNeil
Signed-off-by: Sean McNeil <sean@mcneil.com>
2008-11-19From a54bd9e2376337320c36965830fd3167c4063356 Mon Sep 17 00:00:00 2001Chia-I Wu
Subject: [PATCH] glamofb: Initialize only visible part of the memory. It takes lots of time (0.5 seconds) to initialize the whole memory. As only the visible part matters, we could just initialize that part. Signed-off-by: Chia-I Wu <olv@openmoko.com>
2008-11-19meddle-wsod.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-suspend-remove-reg-dump-and-restore.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-resume-dont-restuff-regs-do-reinit-in-framebuffer-resume.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19tracking-glamo-suspend-even-more-meddling.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19cleanup-after-adding-andy-tracking-patchset.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-mci-ignore-command-properly.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-rebase-dust.patchAndy Green
Last rebase to stable-2.6.26 left some trash from rebasing the patches on top of this, clean it back out Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19debug-glamo-syslog-dumps.patchAndy Green
More effort to refine power code that does the suspend and resume actions Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19debug-resume-hang.patchAndy Green
Weeks of frantic effort to control Glamo, traced the issue to two outcomes: nWAIT is forced down and the device is hard locked, or we survive immediate Glamo resume and die again with nWAIT forced down when the framebuffer driver tries to flash the soft cursor. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19glamo-resume-meddling.patchAndy Green
Big chunk of trying to own Glamo resume and not really succeeding Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-remove-resume-dependencies-on-pmu-for-pmu-children.patchAndy Green
All that stuff should be enforced by device tree now, out with it Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-suspend-cant-use-pll-host-bus-clock-during-suspend.patchAndy Green
Hum well that's the idea, Glamo did not play ball Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-mci-no-need-for-suspend-fake-command.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-reparenting-panic-sd-boot.patchAndy Green
We panic on SD boot now we changed Glamo order, because it didn't succeed to bring up mmcblk0p1. But, if you do loglevel=8 then it works OK. So we are racing with something... Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-probe-fail-bail.patchAndy Green
Backout from failed probe was quite broken. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19debug-glamo-drop-lcm-reset-during-glamo-probe.patchAndy Green
We shouldn't have to reset it in glamo probe Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-migrate-irq-init-before-register-init.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-irq-recursive-locking.patchAndy Green
Running heavily instrumented kernel, get report about glamo IRQ spinlock probem. [ 8.795000] ============================================= [ 8.795000] [ INFO: possible recursive locking detected ] [ 8.795000] 2.6.24 #782 [ 8.795000] --------------------------------------------- [ 8.795000] swapper/1 is trying to acquire lock: [ 8.795000] (&irq_desc_lock_class){++..}, at: [<c0077ae4>] handle_level_irq+0x24/0x120 [ 8.795000] [ 8.795000] but task is already holding lock: [ 8.795000] (&irq_desc_lock_class){++..}, at: [<c01be628>] glamo_irq_demux_handler+0x24/0x140 [ 8.795000] [ 8.795000] other info that might help us debug this: [ 8.795000] 1 lock held by swapper/1: [ 8.795000] #0: (&irq_desc_lock_class){++..}, at: [<c01be628>] glamo_irq_demux_handler+0x24/0x140 [ 8.795000] [ 8.795000] stack backtrace: [ 8.795000] [<c002ec28>] (dump_stack+0x0/0x14) from [<c006ad74>] (__lock_acquire+0x9a0/0xdec) [ 8.795000] [<c006a3d4>] (__lock_acquire+0x0/0xdec) from [<c006b264>] (lock_acquire+0xa4/0xc0) [ 8.795000] [<c006b1c0>] (lock_acquire+0x0/0xc0) from [<c02f7878>] (_spin_lock+0x44/0x78) [ 8.795000] [<c02f7834>] (_spin_lock+0x0/0x78) from [<c0077ae4>] (handle_level_irq+0x24/0x120) [ 8.795000] r6:c03e11c0 r5:0000005c r4:c03e11c0 [ 8.795000] [<c0077ac0>] (handle_level_irq+0x0/0x120) from [<c01be708>] (glamo_irq_demux_handler+0x104/0x140) [ 8.795000] r7:00000038 r6:c03e11c0 r5:00000008 r4:c03e0560 [ 8.795000] [<c01be604>] (glamo_irq_demux_handler+0x0/0x140) from [<c003c934>] (s3c_irq_demux_extint8+0x94/0xa4) [ 8.795000] r8:00000002 r7:00000003 r6:00000000 r5:c03df958 r4:00000000 [ 8.795000] [<c003c8a0>] (s3c_irq_demux_extint8+0x0/0xa4) from [<c0029048>] (__exception_text_start+0x48/0x64) [ 8.795000] r4:00000015 [ 8.795000] [<c0029000>] (__exception_text_start+0x0/0x64) from [<c0029a5c>] (__irq_svc+0x3c/0xb4) Patch removes desc->lock locking around glamo_irq_demux_handler... guess it is OK since we didn't clear interrupt source, can't recurse? Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamofb-defuse-yield-bomb-in-atomic-context.patchAndy Green
If we ever fall through to the yield when we turned off interrupts... it wouldn't be pretty. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19change-glamo-mci-try-memcpy.patchAndy Green
Trial to see if (mainly 32-bit) memcpy is any better than u16 loop Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamofb-remove-soft-delays.patchAndy Green
The delay versions of the access to registers were based on a misunderstanding of the Glamo docs: it can force nWAIT differently depending on the access type. Therefore we don't need to take special care about delays on CPU side. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19clean-glamofb-cruft.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19Fixing trivial warningsNelson Castillo
Removed unused variable. Signed-off-by: Nelson Castillo <nelsoneci@gmail.com>
2008-11-19Fixing trivial warningsNelson Castillo
The function glamo_mci_reset is not being used. Let's comment it out. Signed-off-by: Nelson Castillo <nelsoneci@gmail.com>
2008-11-19glamo_fb: Implement screen blankingHarald Welte
This patch implements fb_blank() for the glamo-fb driver, which switches off the pixel clock (DCLK) for power saving. We currently delay the actual pixel clock switch until we enter FB_BLANK_POWERDOWN, since the backlight fade is slow and we don't want the user to see artefacts on the screen while the backlight is fading out. So since the X server first sends FB_BLANK_{V,H}SYNC_SUSPEND, we start the backlight fade here, and only once we get FB_BLANK_POWERDOWN the pixel clock is disabled. There are no measurements yet, but the power savings should be double, since there is no longer any generation of the high-frequency LCM signals, and there are no video-related SDRAM accesses anymore. Signed-off-by: Harald Welte <laforge@openmoko.org>
2008-11-19glamo_fb: sync comment with codeHarald Welte
the comment claims that DHCLK is enabled, while the code actually disables it. No code change, purely cosmetic patch. Signed-off-by: Harald Welte <laforge@openmoko.org>
2008-11-19glamo_fb: Cosmetic cleanupHarald Welte
Remove dead code and coding style fixes. Purely cosmetic. Signed-off-by: Harald Welte <laforge@openmoko.org>
2008-11-19revert-fix-build-with-no-config_mmc-glamo-resume-callback-part.patchAndy Green
Thomas White noticed that the recent patch from Andrzej cleaning up a nasty cast in the resume_dependency stuff for Glamo broke resume. The problem was that the wrong resume callback was arrived at by the new code, the one in the device's device_driver struct rather than the struct platform_driver that actually holds the right pointer. Since this code will be gone in 2.6.26, I reverted this part of Andrzej's patch, tidying the cast a bit anyway. Reported-by: Thomas White <taw27@cam.ac.uk> Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19always-call-resume-dependencies.patch\\\\\\\\\\\\\\\"Mike (mwester)\\\\\\\\\\\\
Attached is a patch that has greatly reduced the frequency of failures to resume (due to an oops from the glamo resume handler), and the dreaded "white screen after resume". I can't say that it fixes all of these, although I have yet to see the white-screen since applying this patch and suspending/resuming several hundred times (with the 30-second suspend on the 2008.8 image and the endless stream of GSM error messages generated by something in that image, it has proved to be very useful to do an automated stress test!) This patch will apply to stable, and should make stable slightly more, well, "stable". [Feel free to remove the debug messages if someone feels strongly about that; I left them in because I think they might be useful in triaging further crashes; I'm not at all convinced that this patch will fix all the cases of resume failures.] [[And, yes, this is ugly, really ugly.]] [[[Oh yeah - there's still one extreme case that will result in an oops: if a dependent driver is built as a module, and it is unloaded, and it happened that the preceding suspend/resume was aborted, and that abort happened between the dependent driver and the driver upon which it is dependent, then a list entry will be left behind referencing the unloaded module. There's just no good way to fix that given the way the resume dependency plumbing is connected up right now, so just avoid using modules for any of the drivers involved in the resume dependency stuff.]]] Regards, Mike (mwester) commit 905d2fc9c45f622418ce9ef4e67c23453aab7571 Author: Mike Westerhof <mwester@dls.net> Date: Mon Aug 11 11:11:25 2008 -0500 always-call-resume-dependencies.patch Ensure that a dependent resume handler is always executed, even if the resume handler for driver upon which it is dependent never suspends (and therefore never resumes either). Also make sure that we do not end up with duplicate dependencies registered, something that can happen if the suspend is aborted due to driver failure or an early resume (such as occurs when the GSM interrupts during suspend). Signed-off-by: Mike Westerhof <mwester@dls.net>
2008-11-19fix-build-with-no-CONFIG_MMCAndrzej Zaborowski
I hit this when updating to 2.6.26. Also if CONFIG_MMC is enabled this patch converts this horrible horrible hack into a horrible hack by using dev->resume() (untested). Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
2008-11-19fix-glamo-mci-slow-clock-until-first-bulk.patchAndy Green
This patch adds another module parameter to glamo-mci which sets the SD Card clock rate used inbetween powering the card and the completion of the first bulk transfer. You can set it from kernel commandline like this. glamo_mci.sd_post_power_clock=1000000 The period between changing the power state and the first bulk transfer completion is critical because larger SDHC cards take longer to initialize before they can service the bulk transfer, and the Glamo MMC unit has a fixed timeout length of a maximum of 4095 x 16 x SD Card clocks. Large cards like 8GB Sandisk SDHC are not ready before this timeout is used up at default 16MHz. Subsequently, the card can handle 16MHz SD Clock and timeout durations okay. By default this patch operates the SD Clock at only 1MHz until the first bulk transfer is completed after each powerup action from the MCI stack. It also keeps the SD Clock running during this time, and disables the SD Clock if the card is not present and the MCI stack removes power. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19fix-glamo-idleclock-around-suspend.patchAndy Green
Possible implementation of SD Card corruption workaround reported here https://docs.openmoko.org/trac/ticket/1802#comment:5 Signed-off-by: Andy Green <andy@openmoko.com>