Commit Graph

5627 Commits

Author SHA1 Message Date
jmcneill e44f79d0d5 Make unichromefb(4) peacefully co-exist with viadrm(4).
Basically, when we switch from WSDISPLAYIO_MODE_EMUL to anything else, we
release any bus_space resources. When we return to WSDISPLAYIO_MODE_EMUL,
reclaim these resources and reinitialize the display.

Idea from macallan@
2007-03-23 22:17:30 +00:00
drochner ca93d5d12d simplify previous: no need to call pci_mapreg_info() 2007-03-23 16:39:07 +00:00
jmcneill 046c275369 Initialize mmadrsize in the non-i910 case, otherwise we end up passing an
uninitialized variable to bus_space_unmap.
2007-03-23 16:27:59 +00:00
jmcneill aeb34d786e Add viadrm 2007-03-23 15:00:38 +00:00
jmcneill c36fda54e9 Import viadrm(4) from DRI git. 2007-03-23 14:58:55 +00:00
jmcneill 3b4d961fa2 Re-enable writeback test (shouldn't have been disabled in the first place) 2007-03-22 15:17:59 +00:00
jmcneill 846be51501 Pull up misc radeon bug fixes from DRI. 2007-03-22 01:36:42 +00:00
jmcneill 48e45911b6 printk -> printf 2007-03-21 22:44:28 +00:00
macallan 1c4c684256 try to attach a drm 2007-03-21 20:54:30 +00:00
macallan fd3677f42a defflag RADEONFB_DEBUG and MACHFB_DEBUG, pull in drm for both, pull in edid
for machfb
2007-03-21 20:52:41 +00:00
macallan 62ee0604ec use EDID data passed as property when present
This should allow radeonfb to do The Right Thing on Macs that use non-
standard video timings and have built-in monitors that don't provide data
via DDC since those usually have an EDID block in the OF tree.
2007-03-21 20:48:07 +00:00
isaki ff418f03d1 Fix mis-substitution of RCS Id, and avoid it.
Reviewed by wiz@.
2007-03-21 15:02:08 +00:00
tsutsui 19daf5ad0b Cleanup handling of quikrs on each RealTek chip:
- replace rtk_type member in rtk_softc which has chip types
  with new rtk_quirk that represents quirks on each chip:
  - RTKQ_8129           doesn't have internal MII (used in rtk(4))
  - RTKQ_8139CPLUS      has different register layout (for re(4))
  - RTKQ_8169NONS       (original 8169) requires some settings on init
  - RTKQ_PCIE           requires different settings in setmulti
  so that we don't have to check each hwrev values or types everywhere
  and newer variants will also work without changes if they don't
  have other quirks
  (sc_rev is unchenged for now for reference to the Realtek's driver)
- don't check hwrev register in re_pci_match() but check
  only PCI_VENDER(), PCI_PRODUCT() and PCI_REVISION()
  so that we no longer have to map pci space there
- add a new HWREV value for another 8168 variant
- try to map PCI mem space more properly
- remove (probably unneeded) ifp->if_baudrate initialization

Tested on a newer 8168 variant by Dennis den Brok on tech-kern,
and also tested on 8139 and 8169C on macppc, and 8139C+ on landisk
by me.
2007-03-21 12:17:31 +00:00
dan ce901237e7 teach bce(4) about being an rnd(4) source 2007-03-21 04:56:39 +00:00
macallan bbd6f83b09 fix a bunch of #include statements to make radeondrm and mach64drm compile 2007-03-20 22:12:14 +00:00
drochner 2d9e04fc35 Import DRM drivers, brought into shape by Yorick Hardy, posted to tech-x11.
Minor modifications by me:
-use an mi device major number
-(coarsly) divided into pci card specific and less specific parts, moved
 the latter to dev/drm
-renamed autoconf attributes to reflect this
Todo:
-adapt all card frontends but i915 to drm include file location
-review the mtrr change
-make the change to agp_i810.c coexist with the fix for buggy VESA
 BIOSes which is commented out temporarily
-RCS IDs etc style stuff
-LKM support (rescan support for vga)
-test
2007-03-20 18:05:25 +00:00
garbled 6f633e2b65 Put a small hack in slide.c disabled by default. PCIIDE_SLIDE_SETIRQA. This
sets IDE_IRQA in the IDE Control/Status Register.  This is needed on prep
machines with Motorola RAVEN host bridges, as they wire up the ide device
oddly.
2007-03-20 05:50:35 +00:00
kent 5deb14ad9d readable mixer item names for AD1981HD 2007-03-19 16:27:00 +00:00
kent 3e124ca34a don't make a mixer item for a power widget 2007-03-18 14:16:00 +00:00
kent 371c325530 correct the DAC group definition for AD1988.
reported by wiz
2007-03-18 11:49:21 +00:00
dyoung 2ee6d07aca Regen. 2007-03-17 06:44:31 +00:00
dyoung 67e99bd532 Add Infineon ADM5120 PCI host bridge. 2007-03-17 06:43:52 +00:00
msaitoh 9e2c46fe42 Apply if_msk.c rev. 1.4 to if_sk.c:
> Apply OpenBSD's rev. 1.33 to shut up "msk0: phy write timed out"
 >
 > Original commit message:
 >  > In msk_marv_miibus_writereg, wait for busy flag to clear instead of
 >  > continuing when busy flag set.
2007-03-13 09:50:00 +00:00
msaitoh 5d9d95c736 KNF 2007-03-13 06:33:54 +00:00
kent b7fab1d1f2 * codec names for Realtek ALC262, ALC268, ALC861, ALC861-VD-GR,
ALC883, ALC885, and ALC888
* DAC/ADC group definitions for Realtek ALC861, ALC861-VD-GR,
  ALC883, ALC885, and ALC888
2007-03-11 15:42:00 +00:00
kent df732e91f1 don't start dmesg lines with \t to do grep easily 2007-03-11 14:34:04 +00:00
kent 88b9b15961 remove DPRINTF() in generic_mixer_init() because they are useless
in many cases.
2007-03-11 13:41:18 +00:00
kent d7d522ea80 - Add jack-sense code for STAC9220 in some DELL models (currently disabled)
- Add DAC/ADC grouping for AD1988
2007-03-11 13:34:40 +00:00
kent c88ac48ab9 reviced Intel Mac support code (currently disabled)
PR#34880
2007-03-11 13:31:36 +00:00
christos 5803d0dc86 regen 2007-03-10 21:08:47 +00:00
christos e8381a0776 PR/35970: Todd Kover: Add support for HP ML110 G2 / Adaptec 2610SA 2007-03-10 21:08:16 +00:00
kent 4540a56313 add diagnostic code in azalia_codec_construct_format() 2007-03-10 16:39:37 +00:00
itohy 691799bc9b I tried the test code in PR kern/35934 on PIIX4 and ICH6,
both of which turned out to have the problem.
Enabled (untested) workaround for all PIIX controllers.

XXX  Do other controllers also have this problem?
2007-03-10 06:01:43 +00:00
xtraeme 1aaad7d266 regen 2007-03-09 22:11:06 +00:00
xtraeme b2fab0eec1 +ATI Radeon X1300 2007-03-09 22:10:40 +00:00
xtraeme 27d2cb4e20 Use a mutex rather than lockmgr. Approved by Andrew Doran. 2007-03-06 01:09:42 +00:00
tsutsui b8149dbb15 Pass (char *) to mtod(9) for pointer arith
(in #ifndef __NO_STRICT_ALIGNMENT part).
2007-03-05 10:39:09 +00:00
tsutsui eeef1e87e4 Also check both I/O and memory space on unmap. Pointer out by yamt. 2007-03-05 10:32:05 +00:00
sketch cbbf3374dd Put unformatted firmware version output behind IWI_DEBUG 2007-03-04 19:14:25 +00:00
chris 282f3bfbc1 Fix caddr_t fallout for cats kernel builds. 2007-03-04 17:55:10 +00:00
yamt 45cdcb0e37 fix fallout from caddr_t changes. 2007-03-04 15:59:31 +00:00
yamt f1f5a2d411 fix fallout from caddr_t changes. 2007-03-04 15:05:24 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
jmcneill 963e8dd8ad Regen. 2007-03-03 23:50:40 +00:00
jmcneill edfe9e885a Add pcHDTV HD-5500 HDTV video capture 2007-03-03 23:49:49 +00:00
tsutsui 5c8caf9e94 Add an entry to match hwrev RTK_HWREV_8100E_SPIN2 too.
XXX: should we use PCI_REVISION() rather than hwrev
     for 8139C+ as OpenBSD does?
2007-03-03 17:23:12 +00:00
jmcneill 7f8a6c2923 Regen. 2007-03-01 22:15:08 +00:00
jmcneill b792a5796f Add Conexant CX2388X Audio/Video Decoder 2007-03-01 22:14:48 +00:00
tsutsui a111aec3cd Apply patches which may fix RX stall problem on nfe(4):
- make DMA descriptors volatile to avoid possible unintended reordering
  which might cause some race conditions
- process interrupts until all NFE_IRQ_WANTED bits are handled

and also put misc fixes:
- return 1 and call nfe_start() in nfe_intr() only if any own interrupts
  are actually handled
- use bus_dmamap_load_mbuf(9) for RX mbufs rather than bus_dmamap_load(9)
  with mtod(9) and MCLBYTES
- check sc->txq.queued to see if TX descriptors are queued or handled
  in nfe_start() and nfe_txeof()
- use proper BUS_DMASYNC_{PRE,POST} ops
- prepare and use NFE_[RT]X_NEXTDESC() macro
- rename NFE_TX_TCP_CSUM to NFE_TX_TCP_UDP_CSUM since it also enables
  hardware udp4csum-tx for UDP4 packets
- some minor optimization
- misc KNF

Tested and confirmed by matthew green by
"to send >25MB/sec to nfe0 for over one hour,"
and also tested by me (with light TRX load on 100baseTX though)
for a month.
2007-02-28 17:40:11 +00:00
tsutsui 075b18ca23 Try to map both PCI I/O and memory space and remove #ifdef RTK_USEIOSPACE.
Tested on dreamcast, landisk, and macppc with 8139C on PCI slot.
2007-02-25 04:19:32 +00:00
msaitoh 7db9e02335 fix media link issues with fiber-based card
fixes PR#35797
2007-02-23 08:22:06 +00:00
msaitoh f0a2eb28e5 fix some negotiation problems on wm(4).
will fix PR#30078, PR#30490, PR#30906, PR#33429, PR#35386.
2007-02-23 03:03:10 +00:00
thorpej dd962f8680 Pick up some additional files that were missed before due to conflicts
with newlock2 merge:

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 23:48:10 +00:00
thorpej 712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
mrg 4410329b87 add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
				  bus_addr_t min_addr,
				  bus_addr_t max_addr,
				  bus_dma_tag_t *newtag,
				  int flags)
	void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to.  this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
2007-02-21 20:41:23 +00:00
bouyer 7054823d08 We have to bus_mapmap_load() after m_adj, otherwise the map will point at
the wrong place in the buffer. Fix an issue in the !sc->bge_rx_alignment_bug
case reported by Nicolas Joly.
While there remove a duplicate m_adj(), and add a missing bus_dmamap_unload().
2007-02-19 18:44:05 +00:00
xtraeme b821d47d37 There's no need to use a simple_lock here, ok ad@. 2007-02-18 23:32:52 +00:00
tsutsui 14dfb0043c - KNF, ANSIfy, TAB/space cleanup
- unwrap some lines
- u_intNN_t -> uintNN_t
2007-02-18 12:16:14 +00:00
dyoung 5493f188c7 KNF: de-__P, bzero -> memset, bcmp -> memcmp. Remove extraneous
parentheses in return statements.

Cosmetic: don't open-code TAILQ_FOREACH().

Cosmetic: change types of variables to avoid oodles of casts: in
   in6_src.c, avoid casts by changing several route_in6 pointers
   to struct route pointers.  Remove unnecessary casts to caddr_t
   elsewhere.

Pave the way for eliminating address family-specific route caches:
   soon, struct route will not embed a sockaddr, but it will hold
   a reference to an external sockaddr, instead.  We will set the
   destination sockaddr using rtcache_setdst().  (I created a stub
   for it, but it isn't used anywhere, yet.)  rtcache_free() will
   free the sockaddr.  I have extracted from rtcache_free() a helper
   subroutine, rtcache_clear().  rtcache_clear() will "forget" a
   cached route, but it will not forget the destination by releasing
   the sockaddr.  I use rtcache_clear() instead of rtcache_free()
   in rtcache_update(), because rtcache_update() is not supposed
   to forget the destination.

Constify:

   1 Introduce const accessor for route->ro_dst, rtcache_getdst().

   2 Constify the 'dst' argument to ifnet->if_output().  This
     led me to constify a lot of code called by output routines.

   3 Constify the sockaddr argument to protosw->pr_ctlinput.  This
     led me to constify a lot of code called by ctlinput routines.

   4 Introduce const macros for converting from a generic sockaddr
     to family-specific sockaddrs, e.g., sockaddr_in: satocsin6,
     satocsin, et cetera.
2007-02-17 22:34:07 +00:00
bouyer e42eed0328 bus_dma fixes for bge(4). It now works on amd64 with more than 4GB physical
RAM (jumbo frames untested yet).
2007-02-17 19:47:06 +00:00
njoly 1fdc51be7d Fix incorrect voltage sensors range. It was using 7 numbers, where the
driver support only 5 voltage sensors.

ok by xtraeme
2007-02-16 12:46:11 +00:00
markd 94de172517 regen for i965Q 2007-02-16 01:35:53 +00:00
markd 5ef1becf96 Add i965Q 2007-02-16 01:35:04 +00:00
bouyer c2d281f97e Fix 2 panics with DIAGNOSTIC kernels:
- remove the code to bring down the PHY in bnx_stop(), it's wrong
  (ifm_data isn't updated) and lead to a panic in mii_phy_setmedia(),
  or reading past the end mii_media_table[].
- make sure the dma_map matches the mbuf in the rx structures. We would
  sync/unload the wrong map, leading to a DIAGNOSTIC panic, or eventually
  leaking memory when bounce buffers are needed.
2007-02-15 19:24:47 +00:00
dsl cb94bcc573 Remove some ancient debugging leftovers left in by Michael Lorenz. 2007-02-10 12:22:26 +00:00
mlelstv 0689aa7931 Get the correct RCS-Id pulled in 2007-02-10 10:35:42 +00:00
mlelstv b773ba67f1 Add support for VT8237A/VT82C586A PCI-ISA-Bridge
Fixes PR kern/35314
2007-02-10 10:23:18 +00:00
ad b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
macallan 5c1aad3ad0 add a quirks entry for the DEC21140 found on UMAX E100 cards 2007-02-09 21:39:38 +00:00
macallan 94ed04fa15 don't hardcode inverted backlight levels needed on some macppc models 2007-02-09 21:12:00 +00:00
ad ab38c1f30e Add a quick hack to allow addressing over 2G sectors. XXX This driver
needs to be rewritten to use the scsipi layer. Additionally:

- Missing copyright years: 2000, 2001, 2002, 2003
- Missing attribution: Andrew Doran and Jason R. Thorpe
2007-02-08 18:47:21 +00:00
jmcneill 9162d3ee05 Fix build failure for !XBOX, pointed out by Paul Goyette on current-users 2007-02-06 14:39:47 +00:00
jmcneill 7240bbf254 Another Xbox hack;
If we're handling system management interrupts ourselves, the system locks
solid when the ACPI timer SCI fires. Disable this interrupt so we can have
an uptime of more than ~10 minutes.
2007-02-06 02:07:36 +00:00
jmcneill ff20668913 Disgusting Xbox hack;
The "pci0 dev 1 function 2" aka "System Management" on the nForce chipset
isn't detected on the Xbox. If XBOX is defined and arch_i386_is_xbox is
true, force intrline to 12 and map the system management IO space at
0x8000. We can now call iic_smbus_intr when a system management interrupt
takes place.

While we're here, make amdpm_smbus honour the I2C_F_POLL flag.

The Xbox no longer resets when you press the eject button.
2007-02-05 23:38:15 +00:00
kent 5dd4ff1479 If both of AZALIA_DEBUG and AZALIA_DEBUG_DOT are defined,
a DOT file for Graphviz representing the widget structure
is printed.
2007-02-05 13:52:26 +00:00
dyoung fa956bd2bd Fix a bug in Cardbus power activation.
Most Cardbus bridges supported by pccbb(4) fire a power-cycle
interrupt when the power state of a cardslot changes from 'off' to
'on'.  TI bridges fire a power-cycle interrupt on both on->off and
off->on changes.

When pccbb_power() powered-down a cardslot, it did not wait around
for the power-cycle interrupt.  When pccbb_power() powered-up a
cardslot, it did wait for the interrupt.  If a pccbb_power(UP)
followed a pccbb_power(DOWN) very closely, pccbb_power() used to
interpret the power-cycle interrupt for the up->down transition as
"power-up complete," read the power-state bit and, finding that
power had NOT been activated, complain, "cbb0:  power on failed?"
Then pccbb_power() exited before power-activation was complete,
falsely indicating that the power-activation *was* complete.  After
that, a driver attach/enable routine would blithely configure a
card that was not fully powered-up.  An operator who ran a command
such as 'ifconfig rtw0 down up' or 'ifconfig ath0 down up' would
read 'cbb0: power on failed?' in the system log, and their NIC
would misbehave.

This excerpt from a comment in the source should suffice to explain
how I fixed the bug,

        /*
         * Wait as long as 200ms for a power-cycle interrupt.  If
         * interrupts are enabled, but the socket has already
         * changed to the desired status, keep waiting for the
         * interrupt.  "Consuming" the interrupt in this way keeps
         * the interrupt from prematurely waking some subsequent
         * pccbb_power call.

And this explains why this patch will work for Ricoh bridges that
do not fire an interrupt on the on->off transition:

         * XXX Not every bridge interrupts on the ->OFF transition.
         * XXX That's ok, we will time-out after 200ms.
         *
         * XXX The power cycle event will never happen when attaching
         * XXX a 16-bit card.  That's ok, we will time-out after
         * XXX 200ms.
         */

M. Warner Losh and Charles M. Hannum provided valuable input on
this patch.
2007-02-04 21:04:37 +00:00
dyoung dc52954598 sc_pwrcycle is shared between the interrupt handler and Cardbus
event thread, so make it volatile.
2007-02-04 20:52:13 +00:00
dyoung 954e7e37ab Cosmetic: KNF indentation, curly braces, and argument declarations. 2007-02-04 05:34:38 +00:00
dyoung 441215d99b Convert the rather long and backslash-ridden DELAY_MS macro to a
much shorter static subroutine, delay_ms().
2007-02-04 05:08:18 +00:00
dyoung b39ec50ca6 Use the right subroutine name for the debug message. 2007-02-04 04:59:39 +00:00
tsutsui 2f113b8e35 Add an 8169SC variant to re_devs. From Darrin B.Jewell. 2007-02-04 04:39:38 +00:00
tsutsui befdfe9762 Try to map both PCI I/O and memory space. 2007-02-04 03:20:23 +00:00
msaitoh 89a3deccf1 Apply OpenBSD's rev. 1.14 via patch:
> remove another Yukon Lite workaround.
2007-01-31 09:57:45 +00:00
msaitoh b70c89dfa7 fix bit definitions for the RX FIFO Flush mode 2007-01-31 09:56:26 +00:00
msaitoh 1482d8eb6f apply some patches from FreeBSD
o fix device timeout
 o add some workaround
 o TX underrun bug (grr...)
 o and some bugs
2007-01-30 11:58:10 +00:00
msaitoh e7d9c07f9f sync with if_skreg.h rev. 1.41
need more work?
2007-01-30 11:42:06 +00:00
msaitoh 874e8bcee6 sync with OpenBSD-current (many bugfixes, add some devices)
if_msk.c: rev. 1.42
if_mskvar.h rev. 1.3
if_skreg.h rev. 1.41
2007-01-30 11:34:38 +00:00
msaitoh 0f1f665622 regen 2007-01-30 11:32:08 +00:00
msaitoh 05a499893d add some msk devices 2007-01-30 11:31:40 +00:00
chs 3ce7bad4ba add some SIIG and Moxa cards. 2007-01-28 21:44:29 +00:00
chs 032ffbf873 regen 2007-01-28 21:39:34 +00:00
chs 9fdfbf5cd7 add another Realtek wifi, some SIIG serial cards and another nForce chipset.
remove some duplicate entries.
2007-01-28 21:39:04 +00:00
isaki 2b29641346 Regen. 2007-01-27 07:38:48 +00:00
isaki 83c786178e Fix typo. s/Seria ATA/Serial ATA/ 2007-01-27 07:37:31 +00:00
dyoung d5268f7ddd Fix grammar in comment. From Patrick Welche. 2007-01-26 02:27:29 +00:00
dyoung 6a0ae17676 Name magic numbers PCI_PMCSR_PME_EN and PCI_PMCSR. 2007-01-26 02:04:44 +00:00
dyoung c0206e6ab8 #Define PCI_PMCSR_PME_EN. 2007-01-26 02:04:09 +00:00
njoly a293da9ab4 Fix compilation on platforms where sizeof int/size_t differs.
Successfully tested on amd64.

ok by tron@
2007-01-25 21:17:38 +00:00
macallan f2fda6052d add some flags for chipsfb 2007-01-25 00:11:58 +00:00
skrll 65cd49f99e Pass the right pointer to firmware_free.
Fixes the DIAGNOSTIC panic reported by Sverre Froyen on current-users.
2007-01-23 15:02:50 +00:00
macallan 4aa2bfbc61 get rid of OpenFirmware dependencies, use device properties instead 2007-01-22 00:12:24 +00:00
isaki b98c498409 Add support for CS5536.
Reviewed by tsutsui@ on port-i386.
2007-01-21 05:00:34 +00:00
isaki 6a9b160f1f Regen; AMD Geode LX and CS5536. 2007-01-21 04:59:15 +00:00
isaki 5565c5789b Add AMD Geode LX and CS5536.
Reviewed by tsutsui@ on port-i386.
2007-01-21 04:57:50 +00:00
he ceeb812c89 Unify the declaration of OF_interpret() between sparc{,64} and macppc
by adding the "nargs" argument to the macppc version, and fix the macppc
ports uses of OF_interpret() accordingly.

Also move the declaration of OF_interpt() from macppc's autoconf.h to
ofw/openfirm.h.  This fixes the build of the macppc port.

Approved by macallan@.
2007-01-20 21:42:12 +00:00
xtraeme a4423f177a Updated viaenv(4) driver:
* Support for the VIA VT8231 Hardware monitor.
* Power Management Timer available for timecounters in both
  VT86C686A and VT8231 (code simplified thanks to dev/ic/acpipmtimer).
* Remove viapm(4) code and manpage (which was a link to viaenv.4 anyway).

From OpenBSD, tested by some users.
2007-01-20 18:44:26 +00:00
rpaulo c0759fd713 regen 2007-01-14 21:00:33 +00:00
rpaulo 60716f0e73 Add new Parallels video id. 2007-01-14 20:48:53 +00:00
cube c4a70d573e Not all archs have dma tags that can be compared with "==", so use memcmp
instead.
2007-01-13 19:03:49 +00:00
cube c27feae2a3 Make the logic of handling the options right. 2007-01-13 19:01:55 +00:00
cube 78cbf1e09d Work around false-positives for gcc's detection of use of uninitialised
variables.
2007-01-13 18:59:31 +00:00
cube 529a0e5bcd Complete initializer, and make it compile on (lesser?) archs that don't
have OpenFirmware.
2007-01-13 18:56:35 +00:00
cube 4cdd8aada6 Complete initializers so those files compile. 2007-01-13 18:42:45 +00:00
degroote b5fe9c67de Sync the wpi driver with the openbsd one. Thanks to Jean-Baptiste
Campesato for his work.
Fix PR/34463


ok dyoung@ joerg@
2007-01-13 09:39:06 +00:00
ober e142548f7b Update to compile properly.
OK jmcneill
2007-01-12 04:20:33 +00:00
kleink 2f0be7c423 Replace home-grown list management for DMA buffers with SLISTs, and refactor. 2007-01-12 00:47:51 +00:00
kleink 6f487a81b0 Replace home-grown list management for DMA buffers with SLISTs, and refactor. 2007-01-11 22:56:49 +00:00
cube d8f80d3bf5 Make it compile. 2007-01-10 20:36:28 +00:00
tsutsui e699b95246 Enable hardware checksum support by hardware info taken from FreeBSD.
Tested on nForce3 250 and nForce4 by Chuck Silvers, Cesar Catrian Carreno,
and me.
2007-01-09 10:29:27 +00:00
mlelstv f192518511 Make watchdog poll interrupts before re-initializing the chip.
Fixes kern/34834.
2007-01-07 12:57:20 +00:00
jmcneill a33eb10c0b Make sure that we don't use the amdpm timecounter on Xbox. 2007-01-06 20:25:01 +00:00
kent 52bad336b0 * generic_mixer_default()
make the default values of bidirectional pins `output' because
 they were often the main reason of no sound problems.

* add stac9221_mixer_init()
 It has a code for Intel Mac but it is disabled for now.
2007-01-06 18:35:35 +00:00
jmcneill 77b483b9f1 There is absolutely no way that this code could have worked for reading
values from the smbus before. amdpm_smbus_exec was using the values read
from the registers and using them as return values instead of filling in
the caller's buffer.
2007-01-06 02:16:22 +00:00
jmcneill 5c65159089 nForce uses a slightly different register offset for the smbus controls;
compensate for this.
2007-01-06 01:20:39 +00:00
jmcneill 87323934f6 Add nVidia nForce support, tested on Xbox. 2007-01-06 00:14:21 +00:00
jmcneill 0868d77b08 Sync with Xbox Host-PCI bridge name change. 2007-01-06 00:08:20 +00:00
jmcneill 246740d3d7 Regen. 2007-01-06 00:08:00 +00:00
jmcneill c9afab901a Add Xbox SMBus controller, and rename "Xbox nForce" to accurately reflect
that it is the Host-PCI controller.
2007-01-06 00:07:46 +00:00
msaitoh 9dc6590033 Apply OpenBSD's rev. 1.33 to shut up "msk0: phy write timed out"
Original commit message:
 > In msk_marv_miibus_writereg, wait for busy flag to clear instead of
 > continuing when busy flag set.
2007-01-05 09:23:41 +00:00
jmcneill d9c4129a70 A few changes to make this work on the Microsoft Xbox. Should also help
with other users who have been experiencing watchdog timeouts:
 * Mask all interrupts while servicing a tx or rx interrupt.
 * On init, clear IRQ status registers (workaround for buggy netbooters).
2007-01-05 01:33:57 +00:00
jmcneill 6f8fa49b5b Fix incorrect definition of wake-on-LAN magic number, from FreeBSD. 2007-01-05 01:26:52 +00:00
elad d5ebb97b46 Consistent usage of KAUTH_GENERIC_ISSUSER. 2007-01-04 18:44:45 +00:00
jmcneill 58b1e3f163 Regen. 2007-01-04 18:04:39 +00:00
jmcneill 1ed29612b0 It's nForce Ethernet, not Ethetnet 2007-01-04 18:04:26 +00:00
jmcneill 878f749ef4 Add quirk for Xbox nForce, from Andrew Gillham. 2007-01-04 15:47:25 +00:00
jmcneill d9ff124659 Regen. 2007-01-04 15:47:00 +00:00
jmcneill b0c92e7127 Add Xbox nForce video, from Andrew Gillham. 2007-01-04 15:46:33 +00:00
macallan 4fc284f481 add preliminary support for setting backlight levels via ioctl()
from Johan Wallen
2007-01-03 19:47:17 +00:00
bouyer 0eac5c0667 Fix cut'n'paste, don't print version 1.0 when we have a version 1.1 controller.
Pointed out by Craig Metz.
2007-01-03 18:58:26 +00:00
tsutsui 7c3bb7972d Pull a TX timeout fix from OpenBSD:
> Defer setting of the valid bit in the first TX descriptor after
> all descriptors have been setup.  Otherwise, hardware may start
> processing descriptors faster than us and crap out.
> Fixes "watchdog timeout" errors.
>
> Original idea from Matthew Dillon @DragonFly.
2007-01-01 04:13:25 +00:00
tsutsui 3b8f579381 Minor style fixes in nfe_attach:
- print PCI device name and revision
- print interrupt and Ethernet address like other devices

Before:
---
nfe0 at pci0 dev 5 function 0LKLN: Picked IRQ 20 with weight 1
: ioapic0 pin 20 (irq 9), address xx:xx:xx:xx:xx:xx

After:
---
nfe0 at pci0 dev 5 function 0: NVIDIA nForce3 ethernet #4 (rev. 0xa2)
LKLN: Picked IRQ 20 with weight 1
nfe0: interrupting at ioapic0 pin 20 (irq 9)
nfe0: Ethernet address xx:xx:xx:xx:xx:xx

(note "Picked IRQ" message is logged by aprint_verbose(9) in acpi(4))
2007-01-01 03:43:04 +00:00
ichiro 14ea0f7656 regen 2006-12-31 12:48:00 +00:00
ichiro 86aed9b2f4 add RCF-CBA2 CF-Adapter
(WORKBIT-CF32A)
2006-12-31 12:47:43 +00:00
alc 24803bd1c4 remove the KASSERT() introduced in last commit and use VLAN_OUTPUT_TAG() macro.
tested by martin@
pointed out and ok by pavel@, also ok from christos@
2006-12-27 18:36:09 +00:00
alc 9254207181 CID-3667: check if 'mtag != NULL' before dereferencing it 2006-12-25 23:58:36 +00:00
wiz 19c7b24184 Spell "schedule" correctly. From Zafer Aydogan. 2006-12-25 18:36:05 +00:00
rumble 6dc1b846a8 Make this compile again when KASSERT is enabled. 2006-12-24 19:15:15 +00:00
rumble b62466819b Revert the previous change and specify the appropriate page boundary to
bus_dmamap_create(9) via a proplib number entry.

Recommended by Izumi Tsutsui.
2006-12-24 01:49:45 +00:00
rumble 25e8e63c52 The Set Engineering GIO board for sgimips (IP22) sits behind a special
bridge that precludes the ThunderLAN's DMA engine from performing segment
transfers across page boundaries. Add logic under #ifdef TL_SETENG_GFE to
split up these segment transfers appropriately.

It's unknown whether this issue could also affect the RX path, though no
problems have been observed yet.
2006-12-23 21:24:32 +00:00
yamt 8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
bouyer 39568acf5e Add missing $NetBSD: $ 2006-12-20 21:44:06 +00:00
skrll be0d7b99e3 - Upgrade to the latest firmware and as a result remove the error log dump.
- Mostly sync with OpenBSD
	- Serialise sending commands to the firmware
	- Remove redundant calls to bpfdetach.
	- use bus_size_t where appropriate and not fetch iobase as it's not
	  used.
	- improve 802.11 radiotap support (correct rx rate)
	- add short preamble flag
	- add short slot time support
	- ignore parity errors (as per the Linux driver)
	- Set Tx power for all channels.
	- disable bluetooth co-existance
	- Check that ni->ni_rates.rs_nrates is not greater than the maximum
	  handled by the firmware.
- Begin syncing with the FreeBSD driver by renaming a few things.
2006-12-20 16:30:20 +00:00
kleink 4d3ac0366b Redo rev. 1.42, fixing the original array subscript pasto the right way. 2006-12-18 23:13:39 +00:00
christos f9a3a10e65 Don't cleanup memory mappings twice. From Blair Sadewitz 2006-12-18 12:01:48 +00:00
bouyer ea4f35dcd0 Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device.
Ported from OpenBSD by cube@, with some bus_dma fixes by me.
Tested on i386 and amd64.
2006-12-17 23:02:06 +00:00
bouyer 462dc620e3 Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller.
Ported from OpenBSD, tested on i386 and amd64.
2006-12-17 22:57:14 +00:00
christos f05c39985f explicitly set clk to 1 or 0. 2006-12-14 22:35:20 +00:00
kleink 94dd6117cd Un-break clock selection after -Wsign-compare cleanup in rev. 1.43;
from Stephen Ma in PR kern/35220.
2006-12-14 22:27:12 +00:00
macallan 65ea75bafa various minor fixes:
- avoid virtual resolution < physical resolution (Marco Trillo)
- don't use hardware-accelerated putchar() on R3xx
- clear screen when attaching wsdisplay
2006-12-13 00:19:01 +00:00
bouyer c2b954c80b Regen: another PCI id for Dell PERC 5 2006-12-10 23:44:08 +00:00
bouyer 637f604b17 Add another PCI ID for Dell PERC 5 (from OpenBSD) 2006-12-10 23:43:13 +00:00
uwe f9e1284353 Convert to use aprint_* 2006-12-10 05:14:42 +00:00
uwe d2a699ecf7 Print pci device info instead of "Power Management Controller". 2006-12-10 00:34:52 +00:00
manu 57cf012b11 Add support for 4 and 8 ports modem boards from Perle systems 2006-12-09 21:06:06 +00:00
bouyer 13e29fff26 Don't call the done callback twice if a special action is waiting on the queue.
Don't forget to free the xfer in the normal bio path.
2006-12-02 13:35:52 +00:00
elad 432c309931 Change kauth(9) KPI for kauth_authorize_device_passthru() to add another
argument, u_long, serving as a bit-mask of generic requests for the
passthru request.

Discussed on tech-security@ and tech-kern@. Okay tls@.
2006-12-02 03:10:42 +00:00
tsutsui be41c8c2ea Free resouces on failure in vge_allocmem(). 2006-12-01 11:30:55 +00:00
tsutsui af1ca0f86d - vge_probe() -> vge_match()
- KNF, unwrap lines
2006-12-01 11:06:59 +00:00
cube ffb2095341 Now that we have a AHCI driver (thanks a bunch, Manuel!), we can remove the
nonsense quirk that switched operating mode on ICH7 and ICH8.

I removed the obvious candidates for ahcisata(4), and I'll have a closer
look later if there are others to be removed;  ahcisata(4) will take over
handling the device anyway, but there is no reason to keep AHCI devices in
that list.

Along the way, remove the code that tries to put the chip in Enhanced mode,
it makes absolutely no sense to do that, and some BIOSes might not have
prepared the BARs for that, as proven by PR#34885.  If people want to use
all IDE and SATA channels, they have to tell the BIOS.
2006-12-01 10:31:30 +00:00
bouyer 7b4730a29f Add ahcisata(4), a driver for AHCI 1.0 and 1.1 controllers. Tested on the sata
ports of a Intel 63xxESB chipset. Does not support NCQ yet.
2006-11-30 21:01:15 +00:00
hannken 7d99324122 Enable WDC_CAPABILITY_WIDEREGS. With this change LBA48 operations no
longer wrap at 128GB.
Tested on an "ServerWorks HT-1000 SATA Controller (rev. 0x00)".

Approved by: Manuel Bouyer <bouyer@netbsd.org>
2006-11-30 19:32:37 +00:00
ad 8b4b54cb8d Improve error handling. Related to PR/21900. 2006-11-28 20:29:14 +00:00
christos 17a81bf4b3 PR/35146: George Michaelson: minor fix to let radeonfb.c compile 2006-11-28 13:38:39 +00:00
christos 0bc546e589 PR/35136: Gary Duzan: Enable Ultra/133 on newer aceride 2006-11-27 16:56:38 +00:00
tsutsui 48100f0649 Fix stupid bugs found on sparc64:
- checking if dmamap != NULL is not valid because dmamap is not cleared
  in bus_dmamap_unload(9)
- no need check RX mbufs and call m_freem() and bus_dmamap_unload()
  in vge_init() since it's done in prior vge_stop()

Now vge(4) works fine on Ultra5.
2006-11-26 16:11:51 +00:00
tsutsui 2b15bbad22 Include <sys/device.h> for struct device. 2006-11-26 15:40:14 +00:00
tsutsui 8c8ebe8b93 - prepare inline functions to set 48 bit DMA address which avoid 64 bit
arithmetic on ILP32 (sizeof(bus_addr_t) == 4, exactly) hosts
- prepare and use VGE_PREV_TXDESC() macro
- use VGE_[TR]XDESCSYNC() calls more efficiently
- wrap a sanity check against VGE_RDSTS_OWN in vge_newbuf()
  with #ifdef DIAGNOSTIC since it should not happen
- use sc->sc_tx_free (number of free TX descs) to check if TX packets are
  queued or sent
- call vge_start() only if the interupt is actually handled by this driver
- some misc cosmetics
2006-11-26 15:04:15 +00:00
tsutsui cd5182f737 Introduce a new VGE_RX_BUFSIZE macro which represent default RX mbuf
length and define VGE_RX_PAD (which is 4 bytes) for ETHER_ALIGN (2 bytes)
padding only in !__NO_STRICT_ALIGNMENT case to avoid confusion.
As per comments from Murata Shuuichirou in PR kern/31323.
Tested on i386 and macppc.
2006-11-26 13:09:32 +00:00
tsutsui 8632b7c3a3 Sync two alternative IDs with pcidevs. 2006-11-26 06:09:09 +00:00
tsutsui d4b56fbafe Regen from pcidevs rev 1.855:
> - add more Broadcom product IDs, and fix two alternative IDs
>   (from FreeBSD and OpenBSD)
> - sort by product ID
2006-11-26 06:07:48 +00:00
tsutsui 19ac8df8e6 - add more Broadcom product IDs, and fix two alternative IDs
(from FreeBSD and OpenBSD)
- sort by product ID
2006-11-26 06:06:20 +00:00
tsutsui ca6ff0c8b6 Fix a typo. 2006-11-26 05:58:05 +00:00
tsutsui c4d5f6498e Revert a CHIPID entry in the previous:
In OpenBSD's if_bgereg.h, CHIPID 0x4101000 is defined as BCM5750_B1
but our PR kern/31028 says it's BCM5751_A1 on BCM5751M on IBM T43p,
and the value seems reasonable.
2006-11-26 05:52:15 +00:00
tsutsui 3267e61df1 Add and fix some BGE_CHIPIDs. From FreeBSD and OpenBSD. 2006-11-26 04:00:45 +00:00
tsutsui 6498cd88c4 TAB/space cleanup. 2006-11-26 03:08:02 +00:00
tsutsui 5a3995e0ab Add support for BCM5752M. from Matt Kolb on tech-kern and OpenBSD. 2006-11-26 03:02:04 +00:00
tsutsui fc28f9749e Pull some bge_encap() fixes from OpenBSD:
> - Move TX ring full sanity check further up and check the number of DMA
> segments from the DMA map, instead of counting the DMA segments in the
> for loop and breaking out later.
> - Unload the DMA map if encountering an error condition.
2006-11-26 02:40:10 +00:00
tsutsui cc80189e88 make DMA descriptor members volatile. 2006-11-26 02:39:04 +00:00
enami a51f8d642d Match on board ethernet controller on VGN-TX72PZ. 2006-11-26 01:15:39 +00:00
enami b13cb14425 Regen. 2006-11-26 01:14:28 +00:00
enami ea431224c0 Add product id of yet another i82557 variant. 2006-11-26 01:13:48 +00:00
christos c0179c282a spell precede; from Zafer 2006-11-25 16:48:31 +00:00
tsutsui b7a2205885 BCM5701 B2 requires BGE_QUIRK_ONLY_PHY_1 quirk. From Brian Baird
in PR kern/23778.
2006-11-25 13:31:00 +00:00
wiz 09cb1d6f1c s/existance/existence/, from Zafer. 2006-11-24 22:52:16 +00:00
wiz 6919c6578c s/independant/independent/, from Zafer. 2006-11-24 22:04:21 +00:00
christos d8f5d5f044 fix capitalization of NetBSD; from Zapher 2006-11-24 19:38:55 +00:00
martin bed31b2f32 In preparation for gem @ sbus: split the GEM registers into two halfs
and provide a bus_space_handle_t for each. While there, fix a typo
in gem_bitwait().
2006-11-24 13:01:07 +00:00
yamt 809ec70bcf implement ipv6 TSO.
partly from Matthias Scheler.  tested by him.
2006-11-23 19:41:58 +00:00
uebayasi 25e0bf9073 Use C99 initializers where needed. 2006-11-22 01:54:09 +00:00
tsutsui b09d8d340a Rename re_pci_probe() -> re_pci_match(). 2006-11-18 15:58:50 +00:00
tsutsui b27339f35f Regen from pcidevs rev 1.853:
> Add an ID of Broadcom BCM5752M. From Matt Kolb on tech-kern.
2006-11-18 08:33:05 +00:00
tsutsui 78a69946d1 Add an ID of Broadcom BCM5752M. From Matt Kolb on tech-kern. 2006-11-18 08:32:08 +00:00
tsutsui d56fc00c0d - sync HWREV definitions with FreeBSD
- recognize 8169SC/8100E/8101E (untested, but won't hurt working devices)
  XXX: 8100E/8101E don't support 1000M; need some flag to set if_baudrate
2006-11-18 07:22:06 +00:00
tsutsui e24d6ea3f8 Regen from pcidevs rev 1.852:
> - add Realtek RTL8100 (from FreeBSD)
> - fix entry of RTL8169SC
> - remove vague comment in Realtek entry
2006-11-18 01:01:23 +00:00
tsutsui 917e45ce9f - add Realtek RTL8100 (from FreeBSD)
- fix entry of RTL8169SC
- remove vague comment in Realtek entry
2006-11-18 01:00:18 +00:00
tsutsui 60b7324743 Regen from pcidevs rev 1.851:
> Add and note more Realtek Ethernet chips.
2006-11-18 00:01:14 +00:00
tsutsui e3a0fc1942 Add and note more Realtek Ethernet chips. 2006-11-17 23:57:27 +00:00
yamt f93e215353 wm: add IPv6 rx tcp/udp checksum offloading. 2006-11-16 06:07:54 +00:00
yamt 6de2ee76e8 wm_tx_offload: in the case of "txtsopain",
m_copyback ip header to the correct offset.
2006-11-16 04:30:02 +00:00
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
yamt ba0d5d1560 remove __unused from function parameters. 2006-11-15 10:30:17 +00:00
jdarrow 4f776e54e8 Fix typo (enaddr[3] should be enaddr[2]), and add note to comment,
both in VMware bug-workaround section.
2006-11-15 03:21:54 +00:00
xtraeme 58528a6767 regen 2006-11-13 22:03:20 +00:00
xtraeme 4eb9440ff5 Fix typo in previous (hi bouyer). 2006-11-13 22:02:58 +00:00
bouyer e530856a89 Regen: add NetMos 9855 Quad UART and 1284 Printer port 2006-11-13 20:12:10 +00:00
bouyer 5b3f17e412 Add NetMos 9855 Quad UART and 1284 Printer port 2006-11-13 20:11:10 +00:00
bouyer df1600e329 Properly detect if BAR5 is IO or MEM type; avoid a message about not being
able to map the BAR on boot (note that it's just cosmetic, the registers were
mapped anyway). Tested by paul at whooppee.com; thanks !
2006-11-12 22:42:20 +00:00
macallan f8fc7e5c07 remove some leftover #includes 2006-11-10 20:27:44 +00:00
tsutsui 492fddeb4a Print device revision on attach. 2006-11-09 14:59:55 +00:00
rpaulo 2313f534c1 regen 2006-11-08 21:03:35 +00:00
rpaulo 809c9d3540 Add AMD PCI-X IOAPIC. 2006-11-08 21:02:02 +00:00
drochner 3f8c6dc981 while we are here, also print the interrupt disable bit
in VERBOSE/pcictl
2006-11-08 18:44:16 +00:00
martti fc8a9d267d Regenerated. 2006-11-08 11:36:21 +00:00
martti 06061bc2fd Fix aligment. 2006-11-08 11:35:11 +00:00
martti 45ffbf91af List MEGARAID_SAS and MEGARAID_VERDE_ZCR as SYMBIOS products. 2006-11-08 11:32:45 +00:00
drochner 53056d0217 avoid magic number 2006-11-08 11:09:52 +00:00
elad 87d047b739 Replace securelevel checks with kauth(9) calls. 2006-11-08 00:17:09 +00:00
martti c99cfadbd6 Regenerated. 2006-11-07 09:34:37 +00:00
martti df5b06ab10 Added some MegaRAID SAS controllers. 2006-11-07 09:29:31 +00:00
tsutsui 527c7a697a Use uintNN_t. 2006-11-05 13:05:18 +00:00
tsutsui fb1f06475c Remove vtophys (in comment). 2006-11-04 05:54:53 +00:00
tsutsui f2a3a089d1 Rather than copying m_pkthdr.csum_flags in m_defrag() (which was
committed in rev 1.22), save it before calling m_defrag().

I haven't confirmed whether the m_pkthdr.csum_flags is preserved during
m_defrag(), but the previous way sometimes makes vge(4) chip mad...
2006-11-04 05:07:16 +00:00
tsutsui 5a460391d7 Return a proper error from vge_encap() if m_defrag() fails. 2006-11-04 04:40:00 +00:00
tsutsui da98d43bd0 Pull another 8139C+ fix from FreeBSD if_re.c rev 1.68:
Perform hardware diagnostic only on the original RTL8169,
which was the only device that really needed it.
(i.e. a possible hardware bug when the NIC was put on a 64bit PCI slot)

Tested with on-board 8139C+ by Brian A. Seklecki.

Note this change might also fix PR kern/34952
(because re_diag() is no longer called on 8169S/8110S),
but I'm not sure if the re(4) chip was properly initialized in such case.
2006-11-03 17:51:47 +00:00
abs 34133821e3 Regenerate after adding Broadcom BCM5754 (0x167a) 2006-11-03 13:00:09 +00:00
abs f9237faff1 Add Broadcom BCM5754 (0x167a) 2006-11-03 12:59:47 +00:00
tsutsui 690e60f366 Pull several fixes which improve TX error handling
from FreeBSD's if_vr.c rev 1.52:
- check more error status in TX descriptor and restart TX module
  appropriately in vr_txeof()
- check more error interrupt status in vr_intr()

I can't confirm whether these changes actually fix TX stalls because
I can't reproduce the problem I had about seven years ago (I guess
it might be caused by excessive collisions on a dumb hub), but at least
they don't seem to have bad side effects on normal operations on my macppc.
2006-11-03 08:41:05 +00:00
tsutsui c2d79bf895 Don't touch the VR_STICKHW register on VT3043.
The commit log in FreeBSD's if_vr.c rev 1.43 says
"This is really only for the VT6102, but it doesn't hurt the older chips,"
but at least it hurts my VT86C100A (which returns a product ID of VT3043)
on macppc and causes kernel MCHK trap while the same board on i386
and VT6102 on macppc have no problem with it.
2006-11-02 17:32:11 +00:00
tsutsui 7f2c078b18 Pull some RX fixes from FreeBSD's if_vr.c rev 1.59:
- in vr_rxeoc() (i.e. on RX error interrupts), disable RX before
  calling vr_rxeof() and check it actually stopped
- no recovery is needed for VR_ISR_DROPPED, so just account ierrors
- also account ierrors in vr_rxeoc()
2006-11-02 11:02:58 +00:00
tsutsui 06503d5611 - make DMA descriptor members volatile
- set VR_RXSTAT_OWN after all other descriptor data is set

With these changes, vr_init() seems to initialize
the vr chip stuck on RX properly.
2006-11-02 10:44:30 +00:00
tsutsui c04f54e8f4 Fix another botch in rev 1.14:
vge_encap() should bail out if there is not enough free
TX descriptor _OR_ TX descriptor is still owned by the chip.

Anyway, we already check if the TX descriptor already has an mbuf
to be sent in vge_start() so no need to bother to check sc_tx_free
and VGE_TDSTS_OWN in the descriptor in normal case, then make it use
KASSERT(9) or wrap with #ifdef DIAGNOSTIC.

XXX1: I don't know why original FreeBSD driver checks
      if a number of free TX descriptors is more than two, not zero.
XXX2: Is it better to check a number of free descriptors in vge_start()
      like other our drivers rather than mbuf chain for each descriptor?
2006-11-01 18:11:18 +00:00
tsutsui 2b93194cee Remove a debug statement which was slipped in rev 1.21. 2006-11-01 17:13:37 +00:00
tsutsui ced98add61 Also copy csum_flags and csum_data in vge_m_defrag().
Fix checksum error problem on sending fragmented large packets,
which was introduced in rev 1.14.

BTW, should we have m_defrag() in MI for other drivers?
2006-11-01 16:26:27 +00:00
thorpej 3cea1a3abd Detect if we're talking to a VMware virtual interface, and, if so,
limit the number of Tx segments to 8 to work around a VMware bug.
2006-11-01 06:42:12 +00:00
manu 888bf2baaa regen 2006-10-31 23:32:20 +00:00
manu 1bdd4dec3b Add support for Perle systems PCI-RAS 4 modem ports
See http://www.perle.com/products/Multimodem-Cards.shtml for product details
2006-10-31 23:04:49 +00:00
joerg de54b391eb Move AMRR code out of wpi(4) and ural(4) into net80211 itself.
From OpenBSD.
2006-10-31 21:53:41 +00:00
tsutsui e903fd730c This has been megered into if_vge.c. 2006-10-31 14:15:23 +00:00
tsutsui 056982dcb8 Make vge(4) look a NetBSD native driver like pcn(4) or epic(4) etc:
- merge if_vgevar.h into if_vge.c since no other file refers it
- rename some macro (VGE_TX_DESC_CNT -> VGE_NTXDESC etc.) and structs
- change prefixes of structure members to represent parents
- put TX and RX descriptors into single struct vge_control_data and
  allocate DMA memory at once
- no need to specify BUS_DMA_ALLOCNOW
- define appropriate macro for offsets and addresses of DMA descriptors
- define struct vge_txsoft and vge_rxsoft, and put common data for
  each descriptor into them
- remove struct vge_list_data and move its members into struct vge_softc
- remove #ifdef DEVICE_POLLING code we don't support
- merge vge_[tr]x_list_init() functions into vge_init()
- use aprint_error() to print errors
- put splnet(9) where appropriate and remove unused VGE_{LOCK,UNLOCK}() macro
- clear TX timeout only if there is no pending descriptor
- check dm_nsegs properly otherwise padding short packets could fail
- prepare zero'ed DMA memory to pad short packets rather than putting
  random data
- fix a wrong VGE_TXDESCSYNC() usage which should be VGE_TXFRAGSYNC()

Tested on my i386 which is my development machine.
(more bus_dmamap_sync(9) cleanup will be done later)
2006-10-31 14:13:30 +00:00
thorpej f347528e49 In the pcn driver:
- Remove the PCN_NO_PROM option.  Instead, query the am79c970-no-eeprom
  property, and read the MAC address from the CSRs if that property is TRUE.

In the ibmnws port:
- Implement device_register().
- In device_register(), set the am79c970-no-eeprom property for the
  built-in Ethernet.
2006-10-31 14:04:29 +00:00