diff options
author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2007-04-17 01:53:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-17 19:36:27 -0400 |
commit | 1b75b05b73cdefd1d10074e9dad60812f9731a5e (patch) | |
tree | a477c79aa402cd2e2600dc99a7d772e6bf84c5c1 /arch/alpha/kernel/sys_sio.c | |
parent | 8a93258ce302c2b597289770cb7de8dba7c6c219 (diff) |
alpha: fixes for specific machine types
Files:
arch/alpha/kernel/core_mcpcia.c
arch/alpha/kernel/sys_rawhide.c
include/asm-alpha/core_mcpcia.h
Determine correct hose configuration; RAWHIDE family can have
2 or 4 hoses, so make sure non-existent hoses are ignored.
arch/alpha/kernel/err_titan.c
Supply a needed #include <asm/irq_regs.h>
arch/alpha/kernel/module.c
Add some useful output to the relocation overflow messages.
arch/alpha/kernel/sys_noritake.c
Supply necessary noritake_end_irq() to correct interrupt handling.
This fixes a problem first noted by hangs during boot probing with
a DE500-BA TULIP NIC present.
arch/alpha/kernel/sys_sio.c
Correct saving of original PIRQ register (PCI IRQ routing);
change default PIRQ setting to leave PCI IRQs 9 and 14 free to
be used for sound (Multia) and IDE (any), respectively.
include/asm-alpha/io.h
Supply the "isa_virt_to_bus" routine.
Signed-off-by: Jay Estabrook <jay.estabrook@hp.com>
Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/alpha/kernel/sys_sio.c')
-rw-r--r-- | arch/alpha/kernel/sys_sio.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c index a654014d202a..14b5a753aba5 100644 --- a/arch/alpha/kernel/sys_sio.c +++ b/arch/alpha/kernel/sys_sio.c | |||
@@ -84,12 +84,16 @@ alphabook1_init_arch(void) | |||
84 | static void __init | 84 | static void __init |
85 | sio_pci_route(void) | 85 | sio_pci_route(void) |
86 | { | 86 | { |
87 | #if defined(ALPHA_RESTORE_SRM_SETUP) | 87 | unsigned int orig_route_tab; |
88 | /* First, read and save the original setting. */ | 88 | |
89 | /* First, ALWAYS read and print the original setting. */ | ||
89 | pci_bus_read_config_dword(pci_isa_hose->bus, PCI_DEVFN(7, 0), 0x60, | 90 | pci_bus_read_config_dword(pci_isa_hose->bus, PCI_DEVFN(7, 0), 0x60, |
90 | &saved_config.orig_route_tab); | 91 | &orig_route_tab); |
91 | printk("%s: PIRQ original 0x%x new 0x%x\n", __FUNCTION__, | 92 | printk("%s: PIRQ original 0x%x new 0x%x\n", __FUNCTION__, |
92 | saved_config.orig_route_tab, alpha_mv.sys.sio.route_tab); | 93 | orig_route_tab, alpha_mv.sys.sio.route_tab); |
94 | |||
95 | #if defined(ALPHA_RESTORE_SRM_SETUP) | ||
96 | saved_config.orig_route_tab = orig_route_tab; | ||
93 | #endif | 97 | #endif |
94 | 98 | ||
95 | /* Now override with desired setting. */ | 99 | /* Now override with desired setting. */ |
@@ -334,7 +338,7 @@ struct alpha_machine_vector avanti_mv __initmv = { | |||
334 | .pci_swizzle = common_swizzle, | 338 | .pci_swizzle = common_swizzle, |
335 | 339 | ||
336 | .sys = { .sio = { | 340 | .sys = { .sio = { |
337 | .route_tab = 0x0b0a0e0f, | 341 | .route_tab = 0x0b0a050f, /* leave 14 for IDE, 9 for SND */ |
338 | }} | 342 | }} |
339 | }; | 343 | }; |
340 | ALIAS_MV(avanti) | 344 | ALIAS_MV(avanti) |