Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 78063
b: refs/heads/master
c: f3a4ce9
h: refs/heads/master
i:
  78061: 1641374
  78059: 2884808
  78055: 29c21b2
  78047: c42d67d
v: v3
  • Loading branch information
Dmitri Vorobiev authored and Ralf Baechle committed Jan 29, 2008
1 parent 038e6da commit f8a2a2a
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8216d348e374b369338f015ca34492de1e381214
refs/heads/master: f3a4ce9587cd1e810f31c87ecb89033d5fd269ce
43 changes: 25 additions & 18 deletions trunk/arch/mips/mips-boards/malta/malta_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,30 @@ void __init fd_activate(void)
}
#endif

#ifdef CONFIG_BLK_DEV_IDE
static void __init pci_clock_check(void)
{
unsigned int __iomem *jmpr_p =
(unsigned int *) ioremap(MALTA_JMPRS_REG, sizeof(unsigned int));
int jmpr = (__raw_readl(jmpr_p) >> 2) & 0x07;
static const int pciclocks[] __initdata = {
33, 20, 25, 30, 12, 16, 37, 10
};
int pciclock = pciclocks[jmpr];
char *argptr = prom_getcmdline();

if (pciclock != 33 && !strstr(argptr, "idebus=")) {
printk(KERN_WARNING "WARNING: PCI clock is %dMHz, "
"setting idebus\n", pciclock);
argptr += strlen(argptr);
sprintf(argptr, " idebus=%d", pciclock);
if (pciclock < 20 || pciclock > 66)
printk(KERN_WARNING "WARNING: IDE timing "
"calculations will be incorrect\n");
}
}
#endif

void __init plat_mem_setup(void)
{
unsigned int i;
Expand Down Expand Up @@ -171,24 +195,7 @@ void __init plat_mem_setup(void)
#endif

#ifdef CONFIG_BLK_DEV_IDE
/* Check PCI clock */
{
unsigned int __iomem *jmpr_p = (unsigned int *) ioremap(MALTA_JMPRS_REG, sizeof(unsigned int));
int jmpr = (__raw_readl(jmpr_p) >> 2) & 0x07;
static const int pciclocks[] __initdata = {
33, 20, 25, 30, 12, 16, 37, 10
};
int pciclock = pciclocks[jmpr];
char *argptr = prom_getcmdline();

if (pciclock != 33 && !strstr (argptr, "idebus=")) {
printk("WARNING: PCI clock is %dMHz, setting idebus\n", pciclock);
argptr += strlen(argptr);
sprintf(argptr, " idebus=%d", pciclock);
if (pciclock < 20 || pciclock > 66)
printk("WARNING: IDE timing calculations will be incorrect\n");
}
}
pci_clock_check();
#endif
#ifdef CONFIG_BLK_DEV_FD
fd_activate();
Expand Down

0 comments on commit f8a2a2a

Please sign in to comment.