#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
248078 |
|
08-Mar-2013 |
marius |
MFC: r243857 (partial)
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags in sys/dev.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
175872 |
|
01-Feb-2008 |
phk |
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument.
Fix all conventional users of the API to pass the KVA of the buffer as the first argument, to make this a no-op commit.
Likely break the only non-convetional user of the API, after informing the relevant committer.
Update the mbuf(9) manual page, which was already out of sync on this point.
Bump __FreeBSD_version to 800016 as there is no way to tell how many arguments a CPP macro needs any other way.
This paves the way for giving sendfile(9) a way to wait for the passed storage to have been accessed before returning.
This does not affect the memory layout or size of mbufs.
Parental oversight by: sam and rwatson.
No MFC is anticipated.
|
#
170411 |
|
07-Jun-2007 |
mjacob |
Remove the __inline qualifier from a function which is in fact not an inline but instead a module wide function, thus quieting a GCC 4.2 warning.
|
#
150347 |
|
19-Sep-2005 |
andre |
Replace m_extadd() with macro version MEXTADD().
|
#
148887 |
|
09-Aug-2005 |
rwatson |
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so.
Reviewed by: pjd, bz MFC after: 7 days
|
#
148067 |
|
15-Jul-2005 |
jhb |
Convert the atomic_ptr() operations over to operating on uintptr_t variables rather than void * variables. This makes it easier and simpler to get asm constraints and volatile keywords correct.
MFC after: 3 days Tested on: i386, alpha, sparc64 Compiled on: ia64, powerpc, amd64 Kernel toolchain busted on: arm
|
#
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
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
123810 |
|
24-Dec-2003 |
alfred |
change NULL to 0 to silence warning.
|
#
122111 |
|
05-Nov-2003 |
harti |
Initialize the USED flag in new external receive buffers to 0, not to 1. We put them directly onto the free list instead of calling the external mbuf free routine (that routine would have cleaned the flag).
This fixes a bug which manifests itself in falsely reporting a lot of used buffers when configuring the interface down.
|
#
121744 |
|
30-Oct-2003 |
harti |
Explain why the lock-free allocation algorithm is safe in our case while beeing not safe in the general case. Thanks to David Schultz <das@freebsd.org> for help.
|
#
121729 |
|
30-Oct-2003 |
harti |
Reinvent the used-flag for external mbufs. This and the on-card flag are now in the header of the external buffer itself which allows us to manipulate them in the free routine without having to lock the softc structure or the free list. To get space for these flags the chunk number is reduced to 8 bit which amounts to a maximum of 256 chunks per allocated page. This restriction is now enforced by a CTASSERT.
|
#
121686 |
|
29-Oct-2003 |
harti |
Remove a superfluous ) from the previous commit. This was obviously a result of the current solar storm.
|
#
121685 |
|
29-Oct-2003 |
harti |
Make the maximum number of pages for external mbufs configurable in the kernel environment and accessible as a RO sysctl.
Explain that the HE155 will not work in 64-bit/66MHz slots, but may work in 64-bit/33MHz slots.
|
#
121680 |
|
29-Oct-2003 |
harti |
Inline a function that was called only in one place directly into that place.
Correct a bug when the number of pages for external mbufs was very large. In this case the page number could overflow into the large buffer flag. Make this more unlikley by move that flag further away.
|
#
121677 |
|
29-Oct-2003 |
harti |
We have some space in the external mbufs so use this space for the external buffer reference count. This saves us a malloc() + free() per small receive mbuf.
|
#
121676 |
|
29-Oct-2003 |
harti |
Defer allocation of the actual receive mbuf until the external buffer is returned from the card to the driver. Add a counter that shows how many times this allocation has failed. Note, that we could even further delay the allocation of the mbuf until we know, that we need it (there are no receive errors and the connection is open). This will be done in a later commit.
Print the new statistics field in atmconfig.
|
#
121675 |
|
29-Oct-2003 |
harti |
Get rid of the mutexes for the exernal buffer free lists. Use atomic instructions instead. Remove the stuff used to track whether an external mbuf travels through the system. This is temporary only and will come back soon.
|
#
121617 |
|
27-Oct-2003 |
harti |
When we cannot allocate an external buffer (bacause we've hit the maximum number of pages for buffers) return -1 instead of 0. This fixes a panic under conditions when many mbufs are needed.
Update the head pointer of the receive buffer pool queue even when we could not supply a buffer to the chip. Otherwise the chip will not re-interrupt us for another try. A better strategy would probably be to remember this condition and to supply buffers without an interrupt as soon as buffers get available.
|
#
119418 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
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.
|
#
117382 |
|
10-Jul-2003 |
harti |
Use the default arguments for lockfunc and lockfuncarg in bus_dma_tag_create. We need to be sure that our packets are kept in-sequence (that's how ATM is supposed to work) and therefor use BUS_DMA_NOWAIT in all calls to bus_dmamap_load.
For memory allocated with bus_dmamem_alloc the use of anything other than NULL arguments for the locking is anyway bogus because this memory never should need bouncing and hence the load should never be defered.
Allow the receipt of OAM and RM cells on raw connections. Caveat: it seems that RM cells are still processed by the hardware even when we open the connection as UBR.
|
#
116519 |
|
18-Jun-2003 |
harti |
Style: __FBSDID().
|
#
116491 |
|
17-Jun-2003 |
harti |
This is a driver for Fore/Marconi HE155 and HE622 ATM cards. It is full busdma and has extensively been tested on i386 and sparc64.
|