Commit Graph

96 Commits

Author SHA1 Message Date
uch 46fb1c9fce initialize pciirq. 1999-12-13 15:42:05 +00:00
thorpej 2128a07943 Put an interrupt-safe mutex around PCI configuration space access. 1999-12-11 20:48:25 +00:00
thorpej 7f28924acc If we see a bogus $PIR table entry, just ignore it. The MPIIX has
entries for the IRQs used by the IDE controller, which aren't really
PCI IRQs (they're ISA compat IRQs), and thus have link values that
don't make a lot of sense.
1999-11-17 18:55:15 +00:00
thorpej 0d79886ad5 Fix up the PCI bus numbering after fixing up interrupts. 1999-11-17 07:33:41 +00:00
thorpej f4b4d4508a Code from UCHIYAMA Yasushi's PCI BIOS patches to renumber the PCI
busses.
1999-11-17 07:32:58 +00:00
thorpej d6d9fbe240 Interrupt router drivers from UCHIYAMA Yasushi's PCI BIOS patches,
cleaned up and reworked a bit be me.
1999-11-17 01:21:20 +00:00
thorpej 2026e5f71b PCI interrupt routing fixup code, from UCHIYAMA Yasushi's PCI BIOS
patches, cleaned up and heavily reworked by me.  Basic algorithm is
the same, although the code structure is now quite different.

Main differences:
- Initialization path is totally different.
- We use the `compat router' information, if present, to determine which
  PCI ICU driver we should use.
- Fixup configuration headers on devices not on bus 0.
1999-11-17 01:20:38 +00:00
thorpej e345f0f17c Basic interface to the PCI BIOS and PCI Interrupt Routing table, separated
out from UCHIYAMA Yasushi's PCI BIOS patches, and fairly heavily reworked
by me.

Main differences:
- Only use the PCI BIOS to get the config mechanism and interrupt routing
  info for now.  No need to use the BIOS for PCI config access right now,
  since the old mechanism works fine, and this keeps the code smaller.
- PCI BIOS initialization code path is much different.
- Always use the $PIR table if it exists, and only fallback to the
  PCI BIOS 2.1 GetInterruptRouting call if it's not there.

This module does not include any of the fixup code; that is coming
in separate commits.
1999-11-17 01:16:36 +00:00
drochner 2576aadde3 add missing break, spotted by Wolfgang Solfrank 1999-09-20 16:07:45 +00:00
drochner 8137f06eac recognize SIS 85C503 as PCI-ISA bridge, from Gregory McGarry per PR
port-i386/7972
1999-07-14 09:18:20 +00:00
cgd 6d371b2fa9 Moved to arch/i386/include/pci_machdep.h,v 1999-03-19 03:36:14 +00:00
mycroft 59e2f9373d Indicate which IRQ is being used for compatibility interrupts. 1999-02-19 18:01:27 +00:00
drochner c6ca838916 defopt PCI_CONF_MODE 1999-01-28 12:43:13 +00:00
nathanw 788ff053de Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
1998-12-20 17:53:28 +00:00
enami 92d5be6614 Explicitly test Intel 82371AB PCI-ISA bridge since *some* of them
identify themselves as miscellaneous bridge rather than isa bridge.
1998-10-26 03:47:19 +00:00
enami c8a28ce872 Cosmetic change; use tab for basic indentation rather than four space. 1998-10-26 03:43:52 +00:00
drochner ff455e77b6 Match pchb by class/subclass, like pcib.
Add a note about this strange Pequr host bridge in Compaq machines.
1998-10-10 14:12:21 +00:00
thorpej 67b94a13ed Add the Intel 82443BX PCI host bus adapter. From Soren S. Jorvang, PR #6250. 1998-10-08 20:04:32 +00:00
drochner 06753678d5 Remove the chips which are known to identify properly out of the
old "match" function - more or less for documentation.
Proposed by "Soren S. Jorvang" <soren@t.dk>.
1998-09-18 11:57:57 +00:00
drochner 1d34097b60 Take the Intel SIO into the special case list - it identifies itself
as "prehistoric". From John Kohl.
1998-09-18 11:13:10 +00:00
drochner 103b7e7b17 The Intel 82371MX identifies itself erroneously as a miscellaneous bridge.
(from "Johnny C. Lam" <lamj@stat.cmu.edu> per PR kern/6021)
1998-08-24 19:27:05 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej 330d142f16 vm_offset_t -> {vaddr_t,paddr_t}, vm_size_t -> vsize_t 1998-08-13 21:36:02 +00:00
drochner 026fbbe2db Match PCI-ISA bridges on class/subclass instead of vendor/device.
2 reasons:
-no need to keep a list of all known parts
-there is at least 1 bridge (ACC micro 2051) which reports the same
 device ID for its various subfunctions; this would require an additional
 check in the match function
(keep the old list inside #if 0 in case one of the historical bridges
doesn't report the right class/subclass - I can't check them all)
1998-08-07 10:15:32 +00:00
perry 584757c02b bzero->memset 1998-08-05 02:11:00 +00:00
mark 0756290d3f Recognise the ALI M1543 in order to support ALI Aladdin V chipset
motherboards.
1998-07-13 03:31:57 +00:00
mark 7778b00444 Recognise the ALI M1541 in order to support motherboards with the
ALI Aladdin V chipset.
1998-07-13 03:30:52 +00:00
drochner d1da31d671 redo the PCI configuration mode detection - should make some less
standard compliant PCI chipsets work (Compaq, Connectix emulated Triton)
fix the bug reported in PR port-i386/5727 (soda@sra.co.jp)
1998-07-09 20:19:52 +00:00
bouyer 9a862172cb PCI_PRODUCT_VIATECH_VT82C586 is now PCI_PRODUCT_VIATECH_VT82C586_ISA. 1998-06-15 20:10:31 +00:00
thorpej 02182100df Use config_defer(). 1998-06-09 18:49:33 +00:00
thorpej ec7941bba2 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:45:55 +00:00
thorpej 66f9322f5f EISA and PCI do not require bouncing; specify a bounce threshold of 0. 1998-06-03 06:35:49 +00:00
thorpej c099eb3a4a Add a function, pci_bus_flags(), that determines which flags (for memory
and i/o enabled) should be passed to the primary PCI bus's autconfiguration
node.  Use this function to detect broken PCI-Host bridges, which have
problems with memory-mapped access.  Add the SIS 85C496 to this list.
1998-05-04 18:49:07 +00:00
thorpej ff701f8abb Garbage-collect the DMA tag's "_cookie" member; it's not used for anything. 1998-04-26 22:37:20 +00:00
cgd 7fa109343c cope with name fixup in pcidevs 1998-03-28 02:12:02 +00:00
cgd ccdea2d9c8 machine-dependent bits (for compat interrupt mapping) of PCI IDE driver. 1998-03-04 06:35:47 +00:00
thorpej 424e1858c4 Use __BROKEN_INDIRECT_CONFIG where appropriate. 1998-02-06 08:00:52 +00:00
thorpej e56b1d0b2d Add an autoconfig node for PCI-EISA bridges. Configures EISA and ISA
bridges via callback.
1998-02-06 07:50:07 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
perry aceff90d16 add yet another PCI brige -- from pr 4780 from Nathan J. Williams 1998-01-10 01:15:14 +00:00
fvdl 83ef3d4928 Switch off CPU-PCI write posting for the Saturn chipset; it is known
to cause problems with PCI busmasters.
1998-01-09 22:34:58 +00:00
jtc 1bcecdd613 Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:48:33 +00:00
drochner e125082627 adapt to changed device names 1997-10-01 18:13:19 +00:00
thorpej 75a4512f7f Notify drivers that we "prefer" I/O mapped space, per discussion with
Chris Demetriou and Matt Thomas, some two or three months ago.  (This hint
is used by the latest "de" driver.)
1997-08-26 03:14:06 +00:00
fvdl 62e9894c48 Recognize some more chipsets. 1997-08-03 23:42:05 +00:00
perry 10838cb3ff Add another bridge ID, from pr 3926 submitted by Soren S. Jorvang 1997-07-30 21:25:00 +00:00
thorpej 9fefca0657 Update for repaired Triton MX PCI ID. 1997-06-24 06:21:22 +00:00
thorpej 63bad43fa4 Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:28:40 +00:00
thorpej 14078d838d Remove comment about bus dma tag. I've been convinced otherwise. 1997-05-18 23:14:03 +00:00
thorpej 5e447974cb Add a comment about why the bus dma tag is not provided to the child
bus attaching to the bridge.
1997-05-18 05:30:34 +00:00