diff options
Diffstat (limited to 'target/linux/pxa/patches-2.6.21/022-bugfix-pxa-cpufreq.patch')
| -rw-r--r-- | target/linux/pxa/patches-2.6.21/022-bugfix-pxa-cpufreq.patch | 64 | 
1 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/pxa/patches-2.6.21/022-bugfix-pxa-cpufreq.patch b/target/linux/pxa/patches-2.6.21/022-bugfix-pxa-cpufreq.patch new file mode 100644 index 000000000..27388ca9e --- /dev/null +++ b/target/linux/pxa/patches-2.6.21/022-bugfix-pxa-cpufreq.patch @@ -0,0 +1,64 @@ +Index: linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c +=================================================================== +--- linux-2.6.21gum.orig/arch/arm/mach-pxa/cpu-pxa.c ++++ linux-2.6.21gum/arch/arm/mach-pxa/cpu-pxa.c +@@ -60,7 +60,7 @@ typedef struct +  + /* Define the refresh period in mSec for the SDRAM and the number of rows */ + #define SDRAM_TREF          64      /* standard 64ms SDRAM */ +-#define SDRAM_ROWS          4096    /* 64MB=8192 32MB=4096 */  ++#define SDRAM_ROWS          8192    /* 64MB=8192 32MB=4096 */  + #define MDREFR_DRI(x)       ((x*SDRAM_TREF)/(SDRAM_ROWS*32)) +  + #define CCLKCFG_TURBO       0x1 +@@ -136,7 +136,7 @@ static int pxa_set_target(struct cpufreq +                  unsigned int relation) + { +     int idx; +-    unsigned long cpus_allowed; ++    cpumask_t cpus_allowed; +     int cpu = policy->cpu; +     struct cpufreq_freqs freqs; +     pxa_freqs_t *pxa_freq_settings; +@@ -144,6 +144,7 @@ static int pxa_set_target(struct cpufreq +     unsigned long flags; +     unsigned int unused; +     unsigned int preset_mdrefr, postset_mdrefr; ++    void *ramstart; +  +     /* +      * Save this threads cpus_allowed mask. +@@ -154,7 +155,7 @@ static int pxa_set_target(struct cpufreq +      * Bind to the specified CPU.  When this call returns, +      * we should be running on the right CPU. +      */ +-    set_cpus_allowed(current, 1 << cpu); ++    set_cpus_allowed(current, cpumask_of_cpu(cpu)); +     BUG_ON(cpu != smp_processor_id()); +  +     /* Get the current policy */ +@@ -187,7 +188,7 @@ static int pxa_set_target(struct cpufreq +             (pxa_freq_settings[idx].membus/1000)); +     } +  +-    void *ramstart = phys_to_virt(0xa0000000); ++    ramstart = phys_to_virt(0xa0000000); +  +     /*  +      * Tell everyone what we're about to do...  +@@ -260,13 +261,13 @@ static int pxa_set_target(struct cpufreq +  + static int pxa_cpufreq_init(struct cpufreq_policy *policy) + { +-    unsigned long cpus_allowed; ++    cpumask_t cpus_allowed; +     unsigned int cpu = policy->cpu; +     int i; +  + 	cpus_allowed = current->cpus_allowed; +  +-	set_cpus_allowed(current, 1 << cpu); ++	set_cpus_allowed(current, cpumask_of_cpu(cpu)); + 	BUG_ON(cpu != smp_processor_id()); +  +     /* set default policy and cpuinfo */  | 
