#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
257176 |
|
26-Oct-2013 |
glebius |
The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare to this event, adding if_var.h to files that do need it. Also, include all includes that now are included due to implicit pollution via if_var.h
Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
227843 |
|
22-Nov-2011 |
marius |
- There's no need to overwrite the default device method with the default one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
|
#
178589 |
|
26-Apr-2008 |
marius |
- Use the revamped code from the gem(4) PCI front-end, which doesn't require parts of the Expansion ROM to be copied around, for obtaining the MAC address on !OFW platforms. - Don't unnecessarily cache bus space tag and handle nor RIDs in the softcs of the front-ends. - Don't use function calls in initializers. - Let the SBus front-end depend on sbus(4).
|
#
178470 |
|
24-Apr-2008 |
marius |
o Disable HMEDEBUG by default. o Add CTASSERTs ensuring that HME_NRXDESC and HME_NTXDESC are set to legal values. o Use appropriate maxsize, nsegments and maxsegsize parameters when creating DMA tags and correct some comments related to them. o The FreeBSD bus_dmamap_sync(9) supports ored together flags for quite some time now so collapse calls accordingly. o Add missing BUS_DMASYNC_PREREAD when syncing the control DMA maps in hme_rint() and hme_start_locked(). o Keep state of the link state and use it to enable or disable the MAC in hme_mii_statchg() accordingly as well as to return early from hme_start_locked() in case the link is down. o Introduce a sc_flags and use it to replace individual members like sc_pci. o Add bus_barrier(9) calls to hme_mac_bitflip(), hme_mii_readreg(), hme_mii_writereg() and hme_stop() to ensure the respective bit has been written before we starting polling on it and for the right bits to change. o Rather just returning in case hme_mac_bitflip() fails and leaving us in an undefined state report the problem and move on; chances are the requested configuration will become active shortly after. o Don't call hme_start_locked() in hme_init_locked() unconditionally but only after calls to hme_init_locked() when it's appropriate, i.e. in hme_watchdog(). o Add a KASSERT which asserts nsegs is valid also to hme_load_txmbuf(). o In hme_load_txmbuf(): - use a maximum of the newly introduced HME_NTXSEGS segments instead of the incorrect HME_NTXQ, which reflects the maximum TX queue length, for loading the mbufs and put the DMA segments back onto the stack instead of the softc as 16 should be ok there. - use the common errno(2) return values instead of homegrown ones, - given that hme_load_txmbuf() is allowed to fail resulting in a packet drop for quite some time now implement the functionality of hme_txcksum() by means of m_pullup(9), which de-obfuscates the code and allows to always retrieve the correct length of the IP header, [1] - also add a KASSERT which asserts nsegs is valid, - take advantage of m_collapse(9) instead of m_defrag(9) for performance reasons. o Don't bother to check whether the interface is running or whether its queue is empty before calling hme_start_locked() in hme_tint(), the former will check these anyway. o In hme_intr() call hme_rint() before hme_tint() as gem_tint() may take quite a while to return when it calls hme_start_locked(). o Get rid of sc_debug and just check if_flags for IFF_DEBUG directly. o Add a shadow sc_ifflags so we don't reset the chip when unnecessary. o Handle IFF_ALLMULTI correctly. [2] o Use PCIR_BAR instead of a homegrown macro. o Replace sc_enaddr[6] with sc_enaddr[ETHER_ADDR_LEN]. o Use the maximum of 256 TX descriptors for better performance as using all of them has no additional static cost rather than using just half of them.
Reported by: rwatson [2] Suggested by: yongari [1] Reviewed by: yongari MFC after: 1 month
|
#
166901 |
|
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
#
147878 |
|
10-Jul-2005 |
marius |
Add a missing mtx_destroy() in hme_pci_detach().
Reviewed by: yongari Approved by: re (scottl)
|
#
147256 |
|
10-Jun-2005 |
brooks |
Stop embedding struct ifnet at the top of driver softcs. Instead the struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com.
This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go.
Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr.
Reviewed by: sobomax, sam
|
#
143161 |
|
05-Mar-2005 |
imp |
Use BUS_PROBE_DEFAULT for pci probe return value
|
#
142964 |
|
01-Mar-2005 |
marius |
- Fix braino introduced in rev. 1.17, unlike the X1032A (HME-ISP1040-combo) and the X1034A (quad HME; QFE) cards the X1033A (single HME) don't have a PCI-PCI-bridge so we can't rely on the PCI slot number being useable as index for the network address to read from the VPD on the latter. Use the end tag to determine whether it is a QFE VPD with 4 NAs and only use the slot number as index in this case. - Remove a useless check.
Prodded by: joerg Additional testing by: joerg MFC after: 1 day
|
#
142117 |
|
19-Feb-2005 |
marius |
Add a note that all four HME chips on a SUNW,qfe card share the same PROM, making it a bit more clear why we can read four NAs from the VPD.
MFC after: 1 day
|
#
138712 |
|
11-Dec-2004 |
marius |
Some changes related to reading the MAC-address from the VPD on systems without Open Firmware: - The PCI data structure of some HME PROMs contains a non-zero interface revision in the class code. Thus remove the checks for matching class code and PCI data structure length and revsion. These were pretty much useless anyway as we only really need the pointer to the VPD which is located before the structure length and revision fields. - On Sun QFE (Quad FastEthernet) cards read the Nth MAC-address for the Nth HME controller instead of always the first one for all four HMEs. [1] - Improve the comment describing the used VPD format to better reflect reality. - Minor clean-up.
Prodded by: joerg [1]
|
#
137982 |
|
22-Nov-2004 |
yongari |
Make hme(4) mpsafe - Let hme_start()/hme_init() acquire lock and then call hme_start_locked()/hme_init_locked() respectivly. - Teardown interrupt handler before hme_detach(). - Remove IFF_NEEDSGIANT flag and mark interrupt handler INTR_MPSAFE. - Set callout handler to CALLOUT_MPSAFE. - Add locks in hme MII interface.
Reviewed by: jake Tested by: Julian C. Dunn <jdunn at opentrend dot net> MFC after: 2 weeks
|
#
133731 |
|
14-Aug-2004 |
marius |
Make hme(4), i.e. the PCI-variant, MI by reading the MAC address on sytems without Open Firmware directly instead of using OF_getetheraddr(). This is a bit painful though, as the MAC address is contained in the NA field of the VPD of the EBus bridge, which is is another function of the same chip. To make it worse, the VPD of the EBus bridge can't be accessed via the PCI capability pointer but has to be digged out from the Boot PROM and has a non-standard format. The PCI VPD struct and macros used here should be part of the FreeBSD PCI code nevertheless.
Approved by: tmm Based on: NetBSD Tested with: Sun X1032A (hme(4)-isp(4)-combo card) on alpha and i386
|
#
133599 |
|
12-Aug-2004 |
marius |
- Use bus_space_subregion() rather than arithmetic on bus_space_handle_t. [1] - Properly use the error variable and return it on failure in the attach- routines.
Reviewed by: tmm Inspired by: NetBSD [1]
|
#
130026 |
|
03-Jun-2004 |
phk |
Add missing <sys/module.h> includes currently relying on nested include in <sys/kernel.h>
|
#
127135 |
|
17-Mar-2004 |
njl |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
#
119696 |
|
02-Sep-2003 |
marcel |
Preparatory commit to allow prototypes in ofw_machdep.h to contain both newbus types and OFW types. This involves either including <machine/bus.h> or <dev/ofw/openfirm.h>.
Reviewed by: jake, jmg, tmm
|
#
119418 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
119351 |
|
23-Aug-2003 |
marcel |
s#<foo/bar.h>#<dev/foo/bar.h>#g
|
#
119280 |
|
22-Aug-2003 |
imp |
Prefer new location of pci include files (which have only been in the tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
|
#
117116 |
|
01-Jul-2003 |
tmm |
Some gem and hme hardware bogusly has the intpin register hardwired to 0; detect this case and correct it. While being there, clean up nearby comments.
|
#
113545 |
|
16-Apr-2003 |
mdodd |
- Don't call pci_enable_io() in drivers (unless needed for resume). - Don't test memory/port status and emit an error message; the PCI bus code will do this now.
|
#
113506 |
|
15-Apr-2003 |
mdodd |
- Express hard dependencies on bus (pci, isa, pccard) and network layer (ether). - Don't abuse module names to facilitate ifconfig module loading; such abuse isn't really needed. (And if we do need type information associated with a module then we should make it explicit and not use hacks.)
|
#
108976 |
|
08-Jan-2003 |
tmm |
Add detach, shutdown, suspend and resume methods.
Tested by: jake
|
#
93043 |
|
23-Mar-2002 |
tmm |
Assorted fixes: - remove some useless code from the status change handler that was intended to enable the the MII drivers for external phys; this is already done during interface initialization, and the deleted code made some assumptions about phy addresses that do not seem to hold true on newer cards. This should get at least one of the two hmes of newer Netra t1 machines working. - correct the interrupt resource allocation - bump the number of RX descriptors, lower values cause promblems on some machines
|
#
92046 |
|
11-Mar-2002 |
tmm |
Use the pci_enable_* functions instead of manually fiddling with the command register.
Pointed out by: msmith
|
#
91396 |
|
27-Feb-2002 |
tmm |
Add a driver for the Sun HME PCI/SBus ethernet adaptor, which is onboard in most machines of the Sun Ultra series. This is a port of the NetBSD driver which I enhanced to make use of the gather functionality and the configurable RX buffer offset to avoid copying all received/sent packet (instead, packets will be directly DMAd from mbuf chains and into mbuf clusters now).
|