| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
| |
|
| |
|
| |
|
|
|
|
| |
one on death-row in <sys/kernel.h>
|
|
|
|
|
|
|
|
| |
Should make no binary difference.
Submitted by: Gleb Smirnoff <glebius@cell.sick.ru>
Reviewed by: Harti Brandt <harti@freebsd.org>
MFC after: 1 week
|
|
|
|
|
|
| |
#ifndef BURN_BRIDGES.
Noticed by: phk
|
|
|
|
|
|
|
| |
true. Otherwise, assertion checks for Giant in the network stack will
fail causing a panic.
Reported by: simon
|
|
|
|
|
|
|
| |
if_capenable unless the interface driver is actually able
to toggle the respective capability on and off.
Reviewed by: ru
|
| |
|
|
|
|
|
|
|
| |
the agp mutex. We do this because vm_page_grab() called with the
VM_ALLOC_RETRY flag can sleep.
Pointed out by: alc
|
|
|
|
|
| |
since it's always acquiring the lock exclusively. This was tested
with X on an SMP box, with and without WITNESS.
|
| |
|
|
|
|
| |
Prompted by: i386/59503
|
|
|
|
|
|
|
|
|
|
|
| |
algorithm, supplied by wpaul himself. The lame one has an origin
that's been called into question, so rather than argue about that (one
could make an excellent fair use argument), replace it with better
code since that's what FreeBSD is about.
Submitted by: wpaul[1], Klaus Klein
[1] Bill called this a silly bikeshed. Maybe his is not incorrect.
|
|
|
|
|
|
|
|
|
|
|
| |
registers, so add a register offset array to the softc. We key off the
device ID to determine which set of register offsets. Currently the 8385
host bridge used on amd64 is the only bridge to use the AGP3_VIA_*
register offsets and all other bridges use the AGP_VIA_* offsets. It is
currently unclear if the AGP3_VIA_* offsets are for VIA bridges that
implement AGP 3.0 bridges or just for amd64 bridges.
Submitted by: Kenneth Culver culverk at sweetdreamsracing dot biz
|
|
|
|
| |
sys/dev/ic and adjusted to work there.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
caller to vm_page_grab(). Although this gives VM_ALLOC_ZERO a
different meaning for vm_page_grab() than for vm_page_alloc(), I feel
such change is necessary to accomplish other goals. Specifically, I
want to make the PG_ZERO flag immutable between the time it is
allocated by vm_page_alloc() and freed by vm_page_free() or
vm_page_free_zero() to avoid locking overheads. Once we gave up on
the ability to automatically recognize a zeroed page upon entry to
vm_page_free(), the ability to mutate the PG_ZERO flag became useless.
Instead, I would like to say that "Once a page becomes valid, its
PG_ZERO flag must be ignored."
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
same problems as their Hurricane 575* bretheren in that one could set
the memory mapped port, but that has no effect. Add a quirk for this.
# I'll have to see if I can dig up documentation on these parts to see
# if there's someway software can know this other than a table...
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
by increasing the TX list size from 64 to 128, which is
adequate for HZ=1000.
Submitted by: Vsevolod Lobko
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
status registers for error conditions and updating statistics
when there are cycles left (inspired by the nge(4) driver).
- Removed the TX list counter and the producer/consumer gap; it's
enough to just ensure we don't reuse the last (free) descriptor,
as the chip may not have read its next pointer yet. If we reuse
it, the TX may stall under a heavy TX load with polling enabled.
- Dropped code to recharge the watchdog timer, it's pointless; the
watchdog routine will re-init the chip and both RX and TX lists.
|
|
|
|
|
|
| |
- Added polling(4) support!
- Bugfix: don't forget to set IFF_OACTIVE when TX list is full.
- Minor: tidy up vr_encap().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
without the (defunct) isa compatibility shims. The new-bus-specific
parts are very similar to the ones for the pci probe and attach.
This was held up too long waiting for a repo copy to src/sys/dev/cy,
so I decided to fix the files in their old place. This gives easier
to read and merge diffs anyway.
The "count" line in src/sys/conf/files won't be changed until after
the repo copy, so old kernel configs that specify a count need not be
(and must not be) changed until then. The count is just ignored in
the driver. One unfinished detail is dynamic allocation of arrays
with <count> and (<count> * 32) entries, and iteration over the arrays.
This is now kludged with a fixed count of 10 (up to 10 cards with up
to 32 ports each).
Prodded by: imp
Submitted by: mostly by imp
Approved by: imp
|
|
|
|
|
| |
PR: 64846
Submitted by: Samy Al Bahra
|
|
|
|
|
|
| |
hint.agp.0.disabled="1"
Submitted by: jhb
|
| |
|
|
|
|
|
|
|
| |
Add in missing case for i845G in the attach routine. I'll MFC this
with the rest of the change after the 4.10 codefreeze lifts.
Reviewed By: Doug Rabson
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under polling(4), we counted non-existent output packets and wasted
CPU cycles, corrected. (PR kern/64975.)
The fix in revision 1.71 to correct resetting of the watchdog timer
was wrong.
In rl(4), the TX list does not have a gap between the consumer and
producer, so the "empty TX list" test was wrong, corrected.
Also, resetting the timer to five each time we know there is still
some TX work to do was a bad idea -- under polling(4), if the chip
goes out to lunch, this results in the watchdog routine to _never_
be called. Instead, let the timer downgrade to zero and fire the
watchdog, then reset it to five when it is zero AND there is some
TX work left. (Most other network drivers need this fix too.)
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved the RX ring resyncing code to ste_rxeoc(), and only run it
if we were asked to POLL_AND_CHECK_STATUS, under DEVICE_POLLING.
(This significantly reduces the CPU load.)
Improved the RX ring resyncing code by re-checking if the head
is still empty before doing resyncing. This mostly affects the
DEVICE_POLLING mode, where we run this code periodically. We
could start checking with an empty head (well, an empty ring
even), and after doing a few iterations, the chip might write
a few entries, including the head, and we would bogusly consider
this case as requiring resyncing. On a test box, this reduced
the number of resyncs done by a factor of 10.
In ste_txeof(sc), only reset the watchdog timer to zero when
the TX list is completely empty.
Converted ste_tx_prev_idx to a pointer -- faster.
Removed some bitrot.
|
|
|
|
| |
Suggested by: njl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the driver's RX ring head may fall behind the chip, causing the
stuck traffic, disordered packets, etc. Work around this by
adopting the technique of resyncing RX head used in dc(4) and
xl(4) drivers, but do it in a slightly different place to reduce
the number of resyncs needed.
Also, set the NIC's RX polling period to a more meaningful value,
to stop overloading the PCI bus (this also reduces the number of
resyncs by a factor of 3 or more in a long run; the actual number
is very dependent on a nature of the traffic).
Maintain the statistics counter as the hw.ste_rxsyncs sysctl.
In cooperation with: Vsevolod Lobko
OK'ed by: ambrisko
MFC after: 5 days
|
|
|
|
| |
MFC after: 5 days
|
|
|
|
|
|
|
|
|
|
| |
they all do and handle that without alarming the user. Also pull in a bit
of defensive code from OpenBSD that triggers when a card is recognised but
not properly classified as either Genesis or Yukon. Not that I could ever
have needed this. :-)
Obtained from: OpenBSD/NetBSD (partially)
MFC after: 2 weeks
|
|
|
|
|
|
|
|
| |
No functional change, the previous ste_encap() was correct WRT
long mbuf chains; this just reduces code duplication.
MFC after: 3 days
Prodded by: ambrisko
|
| |
|
|
|
|
|
|
|
|
|
| |
speed.
Buggy report: Matt Dillon & others
Slowness report: I can't find the e-mail
MFC After: 1 minute
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
attach/detach time.
Assigning the default behaviour to this particular device is
incorrect, corrupting the video BIOS aperture, and breaking
VESA support in the kernel and XFree86.
Reviewed By: dfr
MFC after: 1 week
PR: kern/62906
|
|
|
|
| |
does it for us already.
|
|
|
|
|
|
|
|
| |
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
|
|
|
|
|
|
| |
Free approx 86 major numbers with a mostly automatically generated patch.
A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
|
| |
|