Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_ep_pci.c
RevisionDateAuthorComments
 1.55  09-Dec-2018  jdolecek use pci_intr_establish_xname() everywhere
 1.54  23-Jun-2018  maxv branches: 1.54.2;
constify
 1.53  29-Mar-2014  christos branches: 1.53.28;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.52  26-Jul-2011  dyoung branches: 1.52.2; 1.52.12; 1.52.16;
Replace anonymous constants, 0x10, 0x14, ..., with PCI_BAR(0),
PCI_BAR(1), .... There was no change in the generated assembly. I used
this semantic patch:

@ mapsit @
identifier bar;
expression pact;
@@

(
pci_mapreg_map
|
Cardbus_mapreg_map
)(pact, bar, ...)

@ depends on mapsit @
identifier mapsit.bar;
@@
(
- #define bar 0x10
+ #define bar PCI_BAR(0)
|
- #define bar 0x14
+ #define bar PCI_BAR(1)
|
- #define bar 0x18
+ #define bar PCI_BAR(2)
|
- #define bar 0x1C
+ #define bar PCI_BAR(3)
|
- #define bar 0x20
+ #define bar PCI_BAR(4)
)
 1.51  26-Nov-2009  njoly Cleanup interrupt establish error messages. Do not mix
aprint_error/aprint_normal/printf calls for a single line.
 1.50  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.49  27-Aug-2008  christos branches: 1.49.8;
device_t changes, pmf, minor knf.
 1.48  28-Apr-2008  martin branches: 1.48.2; 1.48.6;
Remove clause 3 and 4 from TNF licenses
 1.47  10-Apr-2008  cegger branches: 1.47.2; 1.47.4;
use aprint_*_dev and device_xname
 1.46  19-Oct-2007  ad branches: 1.46.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.45  16-Nov-2006  christos branches: 1.45.8; 1.45.22; 1.45.24; 1.45.28;
__unused removal on arguments; approved by core.
 1.44  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.43  11-Dec-2005  christos branches: 1.43.20; 1.43.22;
merge ktrace-lwp.
 1.42  27-Feb-2005  perry branches: 1.42.4;
nuke trailing whitespace
 1.41  21-Aug-2004  thorpej branches: 1.41.4; 1.41.6;
Use ANSI function decls and make use of static.
 1.40  31-Jan-2003  thorpej branches: 1.40.2;
Use aprint_*().
 1.39  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.38  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.37  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.36  13-Nov-2001  lukem add RCSID
 1.35  08-Jul-2001  thorpej branches: 1.35.2;
Remove unnecessary include files. From Onno van der Linden.
 1.34  12-Jun-2001  thorpej Don't need INET or NS includes here.
 1.33  28-Dec-2000  sommerfeld branches: 1.33.2;
Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.32  19-Feb-1999  thorpej branches: 1.32.8;
Improve card descriptions.
 1.31  09-Nov-1998  thorpej Const poisoning.
 1.30  07-Nov-1998  fvdl Rely on priority match to resolve conflict with the ex driver, not on
a define.
 1.29  04-Nov-1998  fvdl Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
 1.28  12-Aug-1998  thorpej Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4. Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
 1.27  05-Jul-1998  jonathan defopt NS, NSIP.
 1.26  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.25  08-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.24  14-Oct-1997  thorpej Pull down from marc-pcmcia branch:

Minor tweaks to deal with PCMCIA differences, and support for power
management.
 1.23  13-Apr-1997  cgd branches: 1.23.4;
rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
 1.22  13-Apr-1997  cgd use pci_map_register().
 1.21  30-Mar-1997  jonathan Add ifmedia hooks: include <ifmedia.h> and add sc_media to softc.
 1.20  30-Mar-1997  jonathan Match missing variants:
3c900 twisted-pair only, 3c595 mii, 3c595 100bT4, 3c905 100bT4.
Is there an MII version of the 3c905?
 1.19  15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.18  18-Feb-1997  jonathan Move if_ep media-sense code from front ends to inside back end,
to prepare for if_media, and to support EISA 3c59x cards:

* change epconfig() to take a short that encodes the chipset
type (3c509, or Demon/Vortex/Boomerang).
* add distinct 3c509 and Demon/Vortex/Boomerang media-sense
functions to back end.
* Add EISA match/attach support for the 3c592 and 3c597
(Demon) cards as well as the 3c509-comatibl EISA 3c509/3c579.

* Assume that ISA and ISA PnP cards are 3c509-style, until
proof to the contrary (e.g. large packet support).

Tested on 3c595, 3c590, and 3c509b. Not tested on 3c515 or Demon.
 1.17  31-Dec-1996  jonathan branches: 1.17.4;
Use the same symbolic cnames for 100Mbit media as epconfig().
 1.16  30-Dec-1996  jonathan * make sure 100mbit media-present bits don't collied with 3c509
CONFIG_CNTRL bits by making the "conn" argument to epconfig()
a u_int, not a u_int16_t, and by defining 100mbit media
bits in the upper 16 bits.

A redesigned interface that fixes this properly is in the pipeline.
 1.15  29-Dec-1996  jonathan * Accept 100baseT4, MII variants of 3c595 as 3c595-model devices,
rather than unknown.

* Look for 100mbit interfaces, and for any present, set corresponding
bits in `conn' argument to epconfig(). epconfig() will now print
100Mbit media by name.
 1.14  05-Dec-1996  cgd update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
 1.13  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.12  15-Oct-1996  christos Use the official 3com part names; from Curt Sampson
 1.11  13-Oct-1996  christos Apply PR/2840: Recognize more 3com models...
 1.10  13-Oct-1996  christos backout kprintf changes
 1.9  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.8  29-Sep-1996  christos Don't epstop() at the and of the attach
 1.7  13-May-1996  mycroft branches: 1.7.4;
Use intr.h.
 1.6  12-May-1996  thorpej Value returned by pci_conf_read() is a pcireg_t, so don't try to store
it in a u_short.
 1.5  12-May-1996  thorpej Don't use home-grown macros to extract PCI vendor and product IDs.
Also, be truthful; We're actually looking for Configuration Base IO
Address, not Configuration Base Memory Address.
 1.4  10-May-1996  thorpej Update Herb's e-mail address; beer.org feels a lot more friendly.
 1.3  03-May-1996  christos - include <sys/systm.h>
- remove unused variables
 1.2  30-Apr-1996  thorpej Convert the Etherlink III (ep) driver to use <machine/bus.h>.
 1.1  25-Apr-1996  thorpej Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver. Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
 1.7.4.2  04-Mar-1997  mycroft Recognize 3c900 and 3c905 cards.
 1.7.4.1  04-Mar-1997  mycroft Update for new pcidevs.
 1.17.4.3  09-Mar-1997  is netinet/if_ether.h -> netinet/if_inarp.h
 1.17.4.2  20-Feb-1997  is Merged in recent changes from Trunk.
 1.17.4.1  07-Feb-1997  is Snapshot of new ARP code.

Our old ARP code was hardwired for 6-byte length medium
addresses, while the protocol is designed for any size.

This snapshot contains a first hack at getting rid of
Ethernet specific data structures. The ep driver is updated
(and tested on the PCI bus), the iy and fpa drivers have been
updated, but not real life tested yet.

If you want to test this with other drivers, you have to update
them first yourself, and probably tag the relevant directories.
Better contact me if you want to do this.
 1.23.4.2  27-Sep-1997  marc initialize enable/disable hooks to NULL so the bus independent code
dtrt.
 1.23.4.1  30-Jul-1997  marc added pcmcia infrastructure and a few devices
 1.32.8.1  05-Jan-2001  bouyer Sync with HEAD
 1.33.2.4  18-Oct-2002  nathanw Catch up to -current.
 1.33.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.33.2.2  24-Aug-2001  nathanw Catch up with -current.
 1.33.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.35.2.2  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.35.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.40.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.40.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.40.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.40.2.1  25-Aug-2004  skrll Sync with HEAD.
 1.41.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.41.4.1  29-Apr-2005  kent sync with -current
 1.42.4.2  27-Oct-2007  yamt sync with head.
 1.42.4.1  30-Dec-2006  yamt sync with head.
 1.43.22.2  10-Dec-2006  yamt sync with head.
 1.43.22.1  22-Oct-2006  yamt sync with head
 1.43.20.1  18-Nov-2006  ad Sync with head.
 1.45.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.45.24.1  06-Nov-2007  matt sync with HEAD
 1.45.22.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.45.8.1  23-Oct-2007  ad Sync with head.
 1.46.16.2  28-Sep-2008  mjf Sync with HEAD.
 1.46.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.47.4.4  11-Mar-2010  yamt sync with head
 1.47.4.3  16-May-2009  yamt sync with head
 1.47.4.2  04-May-2009  yamt sync with head.
 1.47.4.1  16-May-2008  yamt sync with head.
 1.47.2.1  18-May-2008  yamt sync with head.
 1.48.6.1  19-Oct-2008  haad Sync with HEAD.
 1.48.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.49.8.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.52.16.1  18-May-2014  rmind sync with head
 1.52.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.52.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.53.28.2  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.53.28.1  25-Jun-2018  pgoyette Sync with HEAD
 1.54.2.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed