patch-2.3.18 linux/arch/sparc64/kernel/pci_psycho.c
Next file: linux/arch/sparc64/kernel/pci_sabre.c
Previous file: linux/arch/sparc64/kernel/pci_impl.h
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Wed Sep 8 11:14:32 1999
- Orig file:
v2.3.17/linux/arch/sparc64/kernel/pci_psycho.c
- Orig date:
Tue Aug 31 17:29:13 1999
diff -u --recursive --new-file v2.3.17/linux/arch/sparc64/kernel/pci_psycho.c linux/arch/sparc64/kernel/pci_psycho.c
@@ -1,4 +1,4 @@
-/* $Id: pci_psycho.c,v 1.2 1999/08/31 09:12:34 davem Exp $
+/* $Id: pci_psycho.c,v 1.4 1999/09/05 09:33:36 ecd Exp $
* pci_psycho.c: PSYCHO/U2P specific PCI controller support.
*
* Copyright (C) 1997, 1998, 1999 David S. Miller (davem@caipfs.rutgers.edu)
@@ -1312,7 +1312,7 @@
(paddr & IOPTE_PAGE));
if (!(n & 0xff))
- set_dvma_hash(paddr, (n << 16));
+ set_dvma_hash(0x80000000, paddr, (n << 16));
if (++n > (tsbsize * 1024))
goto out;
@@ -1338,17 +1338,14 @@
switch(tsbsize) {
case 8:
p->iommu.page_table_map_base = 0xe0000000;
- pci_dvma_mask = 0x1fffffffUL;
control |= PSYCHO_IOMMU_TSBSZ_8K;
break;
case 16:
p->iommu.page_table_map_base = 0xc0000000;
- pci_dvma_mask = 0x3fffffffUL;
control |= PSYCHO_IOMMU_TSBSZ_16K;
break;
case 32:
p->iommu.page_table_map_base = 0x80000000;
- pci_dvma_mask = 0x7fffffffUL;
control |= PSYCHO_IOMMU_TSBSZ_32K;
break;
default:
@@ -1594,9 +1591,14 @@
p->config_space = pr_regs[2].phys_addr + PSYCHO_CONFIGSPACE;
printk("PSYCHO: PCI config space at %016lx\n", p->config_space);
+ /*
+ * Psycho's PCI MEM space is mapped to a 2GB aligned area, so
+ * we need to adjust our MEM space mask.
+ */
+ pci_memspace_mask = 0x7fffffffUL;
+
psycho_controller_hwinit(p);
- pci_dvma_offset = 0x80000000UL;
psycho_iommu_init(p, 32);
is_pbm_a = ((pr_regs[0].phys_addr & 0x6000) == 0x2000);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)