Browse Source

[ARM] pxa: fix frequency scaling for pcmcia/pxa2xx_base

The MCxx values must be based off memory clock, not CPU core clock.

This also fixes the bug where on some machines the LCD went crazy
while using PCMCIA.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Marek Vasut 15 years ago
parent
commit
d344a21a9a
1 changed files with 2 additions and 3 deletions
  1. 2 3
      drivers/pcmcia/pxa2xx_base.c

+ 2 - 3
drivers/pcmcia/pxa2xx_base.c

@@ -178,7 +178,6 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
 			       unsigned long val,
 			       unsigned long val,
 			       struct cpufreq_freqs *freqs)
 			       struct cpufreq_freqs *freqs)
 {
 {
-#warning "it's not clear if this is right since the core CPU (N) clock has no effect on the memory (L) clock"
 	switch (val) {
 	switch (val) {
 	case CPUFREQ_PRECHANGE:
 	case CPUFREQ_PRECHANGE:
 		if (freqs->new > freqs->old) {
 		if (freqs->new > freqs->old) {
@@ -186,7 +185,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
 			       "pre-updating\n",
 			       "pre-updating\n",
 			       freqs->new / 1000, (freqs->new / 100) % 10,
 			       freqs->new / 1000, (freqs->new / 100) % 10,
 			       freqs->old / 1000, (freqs->old / 100) % 10);
 			       freqs->old / 1000, (freqs->old / 100) % 10);
-			pxa2xx_pcmcia_set_mcxx(skt, freqs->new);
+			pxa2xx_pcmcia_set_timing(skt);
 		}
 		}
 		break;
 		break;
 
 
@@ -196,7 +195,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
 			       "post-updating\n",
 			       "post-updating\n",
 			       freqs->new / 1000, (freqs->new / 100) % 10,
 			       freqs->new / 1000, (freqs->new / 100) % 10,
 			       freqs->old / 1000, (freqs->old / 100) % 10);
 			       freqs->old / 1000, (freqs->old / 100) % 10);
-			pxa2xx_pcmcia_set_mcxx(skt, freqs->new);
+			pxa2xx_pcmcia_set_timing(skt);
 		}
 		}
 		break;
 		break;
 	}
 	}