diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 21:31:24 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 21:31:24 -0800 |
commit | 05f6ece6f37f987e9de643f6f76e8fb5d5b9e014 (patch) | |
tree | 5244e85d0dfb2619b0af4bc80a2c99dd579f79a5 /arch/parisc/kernel/drivers.c | |
parent | 35d138ae22f826f95f0f8d0285947582ccf4508f (diff) | |
parent | 58b6c58caef7a34eab7ec887288fa495696653e7 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
Diffstat (limited to 'arch/parisc/kernel/drivers.c')
-rw-r--r-- | arch/parisc/kernel/drivers.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c index d016d672ec2..1eaa0d37f67 100644 --- a/arch/parisc/kernel/drivers.c +++ b/arch/parisc/kernel/drivers.c @@ -39,7 +39,7 @@ #include <asm/parisc-device.h> /* See comments in include/asm-parisc/pci.h */ -struct hppa_dma_ops *hppa_dma_ops; +struct hppa_dma_ops *hppa_dma_ops __read_mostly; EXPORT_SYMBOL(hppa_dma_ops); static struct device root = { @@ -515,8 +515,13 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path) (iodc_data[5] << 8) | iodc_data[6]; dev->hpa.name = parisc_pathname(dev); dev->hpa.start = hpa; - if (hpa == 0xf4000000 || hpa == 0xf6000000 || - hpa == 0xf8000000 || hpa == 0xfa000000) { + /* This is awkward. The STI spec says that gfx devices may occupy + * 32MB or 64MB. Unfortunately, we don't know how to tell whether + * it's the former or the latter. Assumptions either way can hurt us. + */ + if (hpa == 0xf4000000 || hpa == 0xf8000000) { + dev->hpa.end = hpa + 0x03ffffff; + } else if (hpa == 0xf6000000 || hpa == 0xfa000000) { dev->hpa.end = hpa + 0x01ffffff; } else { dev->hpa.end = hpa + 0xfff; @@ -834,7 +839,7 @@ static void print_parisc_device(struct parisc_device *dev) if (dev->num_addrs) { int k; - printk(", additional addresses: "); + printk(", additional addresses: "); for (k = 0; k < dev->num_addrs; k++) printk("0x%lx ", dev->addr[k]); } |