summaryrefslogtreecommitdiffstats
path: root/sys/dev/puc/puc_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite of puc(4). Significant changes are:marcel2006-04-281-184/+35
| | | | | | | | | | | | | | | | | | | | o Properly use rman(9) to manage resources. This eliminates the need to puc-specific hacks to rman. It also allows devinfo(8) to be used to find out the specific assignment of resources to serial/parallel ports. o Compress the PCI device "database" by optimizing for the common case and to use a procedural interface to handle the exceptions. The procedural interface also generalizes the need to setup the hardware (program chipsets, program clock frequencies). o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by default and non-serdev devices are handled by the bus. o Use the serdev I/F to collect interrupt status and to handle interrupts across ports in priority order. o Sync the PCI device configuration to include devices found in NetBSD and not yet merged to FreeBSD. o Add support for Quatech 2, 4 and 8 port UARTs. o Add support for a couple dozen Timedia serial cards as found in Linux.
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-1/+1
|
* Remove duplicate FBSDID.marius2005-02-261-3/+0
|
* Use the standard FreeBSD licenseimp2005-01-111-12/+12
|
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-061-1/+1
|
* Add missing <sys/module.h> includesphk2004-05-301-0/+1
|
* Sometimes cardbus attachments don't attach, so while we track downimp2003-11-281-0/+1
| | | | | | | | this problem put these lines back in. While they should be unnecessary, they appear to be sometimes necessary. Reviewed in concept: dfr Approved by: re (scottl@)
* Remove explicit cardbus attachments from drivers where this is identicaldfr2003-11-031-1/+0
| | | | | | | to the pci attachment. Cardbus is a derived class of pci so all pci drivers are automatically available for matching against cardbus devices. Reviewed by: imp
* Enhance puc(4) to support uart(4). This includes:marcel2003-09-061-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | o Introduce PUC_PORT_TYPE_UART so that we can attach to uart(4), o Introduce port sub-types (eg PUC_PORT_UART_NS8250, PUC_PORT_UART_Z8530) to handle different hardware and determine resource sizes. o Introduce two new IVARs: PUC_IVAR_SUBTYPE and PUC_IVAR_REGSHFT. Both are used by uart(4) to get sufficient information to talk to the HW. o Introduce PUC_FLAGS_ALTRES to tell puc(4) to try memory mapped I/O if I/O port space cannot be allocated, or vice versa. o Have ports of type PUC_PORT_TYPE_COM attach to uart(1) if attaching to sio(4) fails (due to not having the sio driver). o Put struct puc_device_description in struct puc_softc instead of having a pointer to a device description in the softc. This allows us to create device descriptions on the fly without having to use malloc() or otherwise have them staticly defined. o Move puc_find_description() from puc.c to puc_pci.c as it's specific to PCI. o Add EBUS and SBUS frontends for use on sparc64. Note that the P in puc stands for PCI, so we kinda mess things up here. It's too soon to worry about it though. We'll know what to do about it in time. NOTE: This commit changes the behaviour of puc(4) to not quieten the device probe and attach for child devices. The uart(4) driver provides additional device description that is valuable to have.
* - Rename PCIx_HEADERTYPE* to PCIx_HDRTYPE* so the constants aren't so long.jhb2003-08-281-1/+1
| | | | | | | | | | | - Add a new PCIM_HDRTYPE constant for the field in PCIR_HDRTYPE that holds the header type. - Replace several magic numbers with appropriate constants for the header type register and a couple of PCI_FUNCMAX. - Merge to amd64 the fix to the i386 bridge code to skip devices with unknown header types. Requested by: imp (1, 2)
* Use __FBSDID().obrien2003-08-241-0/+3
| | | | Also some minor style cleanups.
* Stylistic fixes for the inclusion of the opt_puc.h header, so it comes from thejmallett2002-09-011-2/+2
| | | | | | | right places, and so it's sorted consistently with how all the other N-hundreds of files ding this do it. Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>
* More cleaning up and unhacking:phk2002-08-311-0/+126
| | | | | | | | | | | | | | | | | | | Don't expect all RIDs to be PCI rids. The previous code made at least 1 mistake, even for PCI. Give the card definitions a chance to specify a init function. Use this instead of the gross superio hack. Move the win877 init function to puc_pci.c where it belongs. RIDs can actually be zero, don't set badmuxed if so. Set a less incorrect end for the construct SYS_RES_IOPORT entries, I guess both sio and lpt happen to use 8 IO ports, but that shouldn't really be hardcoded this way. Fixup puc_pccard.c to match. We're getting closer.
* Don't enable PUC_DEBUG by accidentphk2002-08-311-1/+0
|
* Split the puc driver in pci specific and generic parts.phk2002-08-311-0/+139
Add a pccard frontend for it as well. The PCcard stuff does not work yet because there is still some PCImagic left in puc.c
OpenPOWER on IntegriCloud