Commit Graph

14832 Commits

Author SHA1 Message Date
Max Laier
7a569b90b5 ALTQ-ify nve(4).
Submitted by:	Chris Dionissopoulos
Tested by:	Chris Dionissopoulos
MFC after:	4 weeks
2006-05-20 21:08:09 +00:00
Pyun YongHyeon
41cfbdeb51 If the PHY has 1000BASE-T capability, check to see if a 1000BASE-T speed
was negotiated.

Obtained from:  NetBSD
2006-05-19 03:51:42 +00:00
Doug Ambrisko
741367d5a5 Add in a bunch of things to the mfi driver:
- Linux ioctl support, with the other Linux changes MegaCli
	will run if you mount linprocfs & linsysfs then set
	sysctl compat.linux.osrelease=2.6.12 or similar.  This works
	on i386.  It should work on amd64 but not well tested yet.
	StoreLib may or may not work.  Remember to kldload mfi_linux.
      - Add in AEN (Async Event Notification) support so we can
	get messages from the firmware when something happens.
	Not all messages are in defined in event detail.  Use
	event_log to try to figure out what happened.
      - Try to implement something like SIGIO for StoreLib.  Since
	mrmonitor doesn't work right I can't fully test it.  StoreLib
	works best with the rh9 base.  In theory mrmonitor isn't
	needed due to native driver support of AEN :-)
Now we can configure and monitor the RAID better.

Submitted by:	IronPort Systems.
2006-05-18 23:30:48 +00:00
John Baldwin
f00d84860a - When setting up a packet for transmit, if we the tx ring is over half
full, kick the binary blob to force it to complete any pending tx
  completions.
- In the watchdog routine, only reset the chip if the blob doesn't complete
  any pending tx completions rather than requiring it to complete all of
  the pending tx completions.

Submitted by:	Nathan Whitehorn <nathanw@uchicago.edu>
MFC after:	2 weeks
2006-05-18 23:19:44 +00:00
Marius Strobl
136eda1dc3 - Add C-bus and ISA front-ends for le(4) so it can actually replace
lnc(4) on PC98 and i386. The ISA front-end supports the same non-PNP
  network cards as lnc(4) did and additionally a couple of PNP ones.
  Like lnc(4), the C-bus front-end of le(4) only supports C-NET(98)S
  and is untested due to lack of such hardware, but given that's it's
  based on the respective lnc(4) and not too different from the ISA
  front-end it should be highly likely to work.
- Remove the descriptions of le(4), which where converted from lnc(4),
  from sys/i386/conf/NOTES and sys/pc98/conf/NOTES as there's a common
  one in sys/conf/NOTES.
2006-05-17 21:25:23 +00:00
Pawel Jakub Dawidek
af65c53afd Honor cri_mlen value.
Reviewed by:	sam
Tested on:	hifn(4), ubsec(4)
Compile-tested:	safe(4)
2006-05-17 18:34:26 +00:00
Poul-Henning Kamp
f6ce2a64f7 Send the pcvt(4) driver off to retirement. 2006-05-17 09:33:15 +00:00
Gleb Smirnoff
86c9af6b69 Fix static array overrun.
(This will be also fixed in next vendor release.)

Coverity ID:	916
Reviewed by:	Jack Vogel
2006-05-17 07:38:58 +00:00
Eric Anholt
30a00481cc Update to current DRM CVS, bringing in a fix for a NULL pointer chase when
running 3d apps on i915.
2006-05-17 06:36:28 +00:00
Eric Anholt
ad33688fca Merge from DRM CVS:
Set entry->virtual for sg maps, fixing ATI PCI/PCIE GART support.

PR:		kern/97056
Submitted by:	Stanislav Sedov <ssedov@mbsd.msk.ru>
2006-05-17 06:29:36 +00:00
Marius Strobl
60c430f511 - Revert if_le_pci.c rev. 1.2; although lnc(4) is now gone, le_pci_probe()
still should return BUS_PROBE_LOW_PRIORITY instead of BUS_PROBE_DEFAULT
  in order to give pcn(4) a chance to attach in case it probes after le(4).
- Rearrange the code related to RX interrupt handling so that ownership of
  RX descriptors is immediately returned to the NIC after we have copied
  the data of the hardware, allowing the NIC to already reuse the descriptor
  while we are processing the data in ifp->if_input(). This results in a
  small but measurable increase in RX throughput.
  As a side-effect, this moves the workaround for the LANCE revision C bug
  to am7900.c (still off by default as I doubt we will actually encounter
  such an old chip in a machine running FreeBSD) and the workaround for the
  bug in the VMware PCnet-PCI emulation to am79000.c, which is now also
  only compiled on i386 (resulting in a small increase in RX throughput on
  the other platforms).
- Change the RX interrupt handlers so that the descriptor error bits are
  only check once in case there was no error instead of twice (inspired
  by the NetBSD pcn(4), which additionally predicts the error branch as
  false).
- Fix the debugging output of the RX and TX interrupt handlers; while
  looping through the descriptors print info about the currently processed
  one instead of always the previously last used one; remove pointless
  printing of info about the RX descriptor bits after their values were
  reset.
- Create the DMA tags used to allocate the memory for the init block,
  descriptors and packet buffers with the alignment the respective NIC
  actually requires rather than using PAGE_SIZE unconditionally. This might
  as well fix the alignment of the memory as it seems we do not inherit
  the alignment constraint from the parent DMA tag.
- For the PCI variants double the number of RX descriptors and buffers
  from 8 to 16 as this minimizes the number of RX overflows im seeing with
  one NIC-mainboard combination. Nevertheless move reporting of overflows
  under debugging as they seem unavoidable with some crappy hardware.
- Set the software style of the PCI variants to ILACC rather than PCnet-PCI
  as the former is was am79000.c actually implements. Should not make a
  difference for this driver though.
- Fix the driver name part in the MODULE_DEPEND of the PCI front-end for
  ether.
- Use different device descriptions for PCnet-Home and PCnet-PCI.
- Fix some 0/NULL confusion in lance_get().
- Use bus_addr_t for sc_addr and bus_size_t for sc_memsize as these are
  more appropriate than u_long for these.
- Remove the unused LE_DRIVER_NAME macro.
- Add a comment describing why we are taking the LE_HTOLE* etc approach
  instead of using byteorder(9) functions directly.
- Improve some comments and fix some wording.

MFC after:	2 weeks
2006-05-16 21:04:01 +00:00
Matt Jacob
452de53a54 Move a define depending on __FreeBSD_versoin to after where it
would be defined.

Submitted by:   Ruslan Ermilov
2006-05-16 16:31:58 +00:00
Eric Anholt
b78e627466 Add support for allocating one larger than page-sized contiguous block of memory
with a physical address.  This is used for hardware ARGB cursor support on newer
chipsets.
2006-05-16 16:19:48 +00:00
Ruslan Ermilov
ffac7e81b9 Make this compile with -Wundef. 2006-05-16 15:23:27 +00:00
Poul-Henning Kamp
c40da00ca3 Since DELAY() was moved, most <machine/clock.h> #includes have been
unnecessary.
2006-05-16 14:37:58 +00:00
Oleg Bulyzhin
29aea9ec7d 1) Fix mii_phy_tick():
Current code does not report link loss correctly - when link goes down,
   mii_phy_tick() will notice that with up to mii_anegticks delay.
   If link goes up during this delay then link flapping will be unnoticed
   by driver.

2) mii_phy_add_media(): initialize sc->mii_anegticks for 10/100 media

3) Use MII_ANEGTICKS/MII_ANEGTICKS_GIGE defines instead of hardcoded values.

Approved by:	glebius (mentor)
MFC after:	1 month
2006-05-16 12:26:00 +00:00
Oleg Bulyzhin
1c47c79eb3 Introduce MII_ANEGTICKS and MII_ANEGTICKS_GIGE defines.
(How many ticks should we wait before retrying autonegotiation process).

Approved by:	glebius (mentor)
MFC after:	1 month
2006-05-16 12:23:57 +00:00
Ruslan Ermilov
155d9f6a98 Kill more references to lnc(4).
Submitted by:	grep(1)
2006-05-16 12:15:39 +00:00
Pyun YongHyeon
fde45b415e Re-wrok PHY setup, media handling and dual-port detection.
With this change SysKonnect SK-9521 v2.0 and SK-9821 v2.0
adapter now works.

Obtained from:	OpenBSD
Reported by:	Ganbold ganbold ! micom ( mng $ net
Tested by:	Ganbold ganbold ! micom ( mng $ net
2006-05-15 04:50:33 +00:00
George V. Neville-Neil
db49408b2b Remove the old, and now deprecated lnc driver. The Lance style hardware
is supported by the le and pnc drivers.

Reviewed by:	jmg
2006-05-14 01:47:51 +00:00
Marcel Moolenaar
ace86f3f27 o A divisor of 0 is perfectly valid. Reserve -1 for an invalid
divisor. This allows us to set the line speed to the maximum
   of 1/4 of the device clock.
o  Disable the baudrate generator before programming the line
   settings, including baudrate, and enable it afterwards.
2006-05-12 23:24:45 +00:00
Giorgos Keramidas
cb9dec9ec1 Check the return code of sc_clean_up() in the only place where it
was not checked at all.  There is only one case when sc_clean_up()
can fail, because of wait_scrn_saver_stop(), but it doesn't hurt
to check anyway.

Reviewed by:	rodrigc
Found by:	Coverity Prevent
2006-05-12 22:43:07 +00:00
John Baldwin
73dbd3da73 Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
John Baldwin
3e20eaf592 Remove the snd_ess identify routine for the sound device in Alpha PWS
machines.
2006-05-12 04:11:25 +00:00
John Baldwin
3279122dc2 Remove some tga bits I missed. 2006-05-12 04:10:38 +00:00
John Baldwin
67ab9fd759 First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
John Baldwin
70bc2d3f4f Fixup some comments to allow for the fact that PCI domains are not specific
to Alpha hoses.
2006-05-11 22:13:21 +00:00
Mike Silbersack
5c5ac08992 Revert if_bfereg.h rev 1.8; restore the RX and TX list sizes to 511.
Two users have reported problems due to the smaller list sizes.
2006-05-11 17:39:06 +00:00
Søren Schmidt
110ce88054 Fix probe printing of highpoint and promise controllers. 2006-05-11 10:43:08 +00:00
Warner Losh
c448543511 replace all the 660 with 650 in the cut-n-pasted line, rather than
just some of them.

Noticed by: brooks
2006-05-08 22:59:33 +00:00
Warner Losh
bcdb8ff319 Another NEW MEDIA .WAVjammer. 2006-05-08 22:31:38 +00:00
Warner Losh
afb0044e87 Add (back) the D-Link DE-650. Not sure why it was deleted. 2006-05-08 22:23:45 +00:00
Warner Losh
e3cfadc6e5 The D-Link DE-650 that I got in the last bulk PC Card purchase needs an
entry.  Add it (back).
2006-05-08 22:22:25 +00:00
Sam Leffler
6ccb8ea780 quiet tindexbox complaints about passing BUS_SPACE_MAXADDR as
a bus_size_t to bus_dma_tag_create; when PAE is enabled this
does not work

Cluebat by:	scottl
MFC after:	2 weeks
2006-05-08 20:11:09 +00:00
Nate Lawson
da72d149ef Don't attach special devices in the order they appear in the AML tree.
If the embedded controller exists before the sysresource devices, for
example, it will be attached first.  Instead, let the normal device
order function work as we first desired. [1]

There still remained a problem where we couldn't allocate resources in
acpi0 that were passed up by the sysresource pseudo-devices.  These
devices had to probe/attach first to give their resources to acpi, then
acpi would allocate them before probing/attaching other devices.  To
work around this, we attach them from acpi_sysres_alloc().  A better
approach would be to implement multi-pass probe/attach in newbus but
that's a much bigger task.

Suggested by:	jhb [1]
Hardware from:	Centaur Technologies
MFC after:	1 week
2006-05-07 03:28:10 +00:00
Sam Leffler
34e2d6230c force type coercion for bus tag+handle when calling ath_hal_attach
to ensure we match the type signature; we cannot assume HAL_BUS_TAG
and HAL_BUS_HANDLE correspond to bus_space_tag_t and bus_space_handle_t
(should probably do this for HAL_SOFTC too but leave that for now)

MFC after:	1 month
2006-05-06 23:23:39 +00:00
Sam Leffler
1b409765cf correct type
MFC after:	2 weeks
2006-05-05 03:21:13 +00:00
Mike Silbersack
5511c4d6dc Fix three more bugs in bfe:
- Fix bfe_encap so that it will pass the address of the mbuf back up to its
  caller if/when it modifies it, as it does when doing a m_defrag on a mbuf chain.
- Make sure to unload the dmamap for ALL fragments of a packet, not just the first
- Use BUS_DMA_NOWAIT for all bus_dmamap_load calls so that the allocation of the
  map is not delayed - this driver is not set up to handle such delays.
- Reduce the number of RX and TX buffers bfe uses so that it does not use more
  bounce buffers than busdma is willing to allow it to use

With these changes, the driver now works properly for a user with a 2GB system,
and it also works on my system when the acceptable address range is lowered to 128MB.
Previously, both of these setups would act up after a few minutes of activity.
2006-05-04 07:41:01 +00:00
Matt Jacob
0d3baffa81 Add 4Gb Fibre Channel support.
Work sponsored by LSI-Logic.
2006-05-04 02:35:04 +00:00
Matt Jacob
f69149626c Remove MPT_PRT_INVARIANT- it was a silly idea. 2006-05-04 02:34:18 +00:00
Matt Jacob
179162e836 Gratuitous tag alignment. It bugged me. 2006-05-04 00:34:07 +00:00
Scott Long
2ea698312b Hide another common print under bootverbose. 2006-05-03 21:08:39 +00:00
Doug Ambrisko
d279e43442 Make amr_linux work as a module by avoiding calling amr_linux_ioctl_int
from the amr_linux.  This simplifies the amr_linux shim and puts the
smarts into amr.c.

I tested this with 2 amr controllers in one box.  It seems to work
okay with them.
2006-05-03 16:45:15 +00:00
Scott Long
b07d272da4 Only print the driver name and version if bootverbose is set. 2006-05-02 03:46:59 +00:00
Pyun YongHyeon
cb24e15186 Type.
Submitted by:	brad@OpenBSD
2006-05-02 02:12:42 +00:00
Ariff Abdullah
14055d2a09 Add inverted amplifier sense quirks for Sony VAIO VGN B1VP/B1XP.
Reported by:	Stan Behrens <s.behrens at kon.de>
2006-05-01 09:28:28 +00:00
Maxim Sobolev
6cd0bab5d5 Don't attach to Marvell 88E805X (Yukon-II) by default, the driver is not
functional yet.

Requested by:	bz
2006-05-01 05:16:36 +00:00
Scott Long
bdba4eb2d7 Remove header pollution. 2006-04-30 16:46:11 +00:00
Scott Long
648b922789 Remove some header polution. 2006-04-30 16:44:41 +00:00
Marcel Moolenaar
64220a7e28 Rewrite of puc(4). Significant changes are:
o  Properly use rman(9) to manage resources. This eliminates the
   need to puc-specific hacks to rman. It also allows devinfo(8)
   to be used to find out the specific assignment of resources to
   serial/parallel ports.
o  Compress the PCI device "database" by optimizing for the common
   case and to use a procedural interface to handle the exceptions.
   The procedural interface also generalizes the need to setup the
   hardware (program chipsets, program clock frequencies).
o  Eliminate the need for PUC_FASTINTR. Serdev devices are fast by
   default and non-serdev devices are handled by the bus.
o  Use the serdev I/F to collect interrupt status and to handle
   interrupts across ports in priority order.
o  Sync the PCI device configuration to include devices found in
   NetBSD and not yet merged to FreeBSD.
o  Add support for Quatech 2, 4 and 8 port UARTs.
o  Add support for a couple dozen Timedia serial cards as found
   in Linux.
2006-04-28 21:21:53 +00:00