i.MX31/Gigabeat S: This should fix stability problems. One problem was to start using...
commitbad38c2941729b44c0529a67e2dbd81523349588
authorjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Thu, 6 May 2010 03:23:51 +0000 (6 03:23 +0000)
committerjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Thu, 6 May 2010 03:23:51 +0000 (6 03:23 +0000)
treeba8a35620ee10da2a7e1d6e6ed9234f0f35647d9
parent9e2c234599cecb546a39b91b629cb38e2e2b3906
i.MX31/Gigabeat S: This should fix stability problems. One problem was to start using the DVFS controller properly so that interrupts will be masked at the lowest and highest frequency indexes. Millions of useless interrupts were occurring at 132MHz because its index was 2, not 3, which masks it automatically when it can't go slower. Stopping the flood was enough to actually see the difference in general. IRQ must be disabled when fiddling with the CCM registers and only enabled when waiting for voltage ramp as having them enables also causes spurious DVFS ints. Implement interruptible ISR pro/epilogue more safely (always using IRQ stack even in SVC mode handling). Fix an improper inequality in DVFS code (which set regs for down when going up and v.v.). Misc. support changes. Have internal tables take less RAM.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25837 a1c6a512-1295-4272-9138-f99709370657
firmware/target/arm/imx31/avic-imx31.c
firmware/target/arm/imx31/avic-imx31.h
firmware/target/arm/imx31/debug-imx31.c
firmware/target/arm/imx31/dvfs_dptc-imx31.c
firmware/target/arm/imx31/dvfs_dptc-imx31.h
firmware/target/arm/imx31/gigabeat-s/dvfs_dptc_tables-target.h