Commit graph

20070 commits

Author SHA1 Message Date
Weongyo Jeong
dcad5dbe15 MFC r204542:
calculates the integer square root if a positive integer X is larger
  than 256 instead of using sqrt_table.

  Reported by: Joe Marcus Clarke <marcus at freebsd dot org>
2010-04-21 00:06:39 +00:00
Weongyo Jeong
b0b1f91e38 MFC r204437:
fixes a bug to load firmware images for LP PHY. For LP PHY always,
  `lp_' string is contained in its full image names.
2010-04-21 00:05:22 +00:00
Weongyo Jeong
95def843ce MFC r204436:
supports the adhoc demo mode that it's tested on modified aircrack-ng
  suite and worked.

  Submitted by:	Paul B Mahol <onemda at gmail dot com>
2010-04-21 00:02:48 +00:00
Weongyo Jeong
be58dd8584 MFC r204385:
don't need to check BWN_RX_PHYST0_SHORTPRMBL flag because it's already
  handled in later.

  Reported from: imp, nwhitehorn
2010-04-21 00:01:38 +00:00
Weongyo Jeong
460ea5b2fd MFC r204257:
o adds sysctl variables to show device statistics.
  o records RTS success/fail statistics.

  Pointed by:   imp
2010-04-20 21:52:54 +00:00
Weongyo Jeong
f60b07631b MFC r204256:
fixes a compile error; invalid type argument of '->'.
2010-04-20 21:51:45 +00:00
Weongyo Jeong
286546e3d5 MFC r204242:
Fix compilation problems with INVARIANTS.

  # also limit RX decryption attempted messages to 50

  Reviewed by:  weongyo

Approved by:	imp (implicit)
2010-04-20 21:48:48 +00:00
Weongyo Jeong
5533a0c47e MFC r204081:
o print msgs with length if the frame is too short to pass to
    net80211.
  o print key index for debugging if the frame is attempted to decrypt
    for WEP, AES or TKIP though currently HW decryption isn't supported.
2010-04-20 21:41:43 +00:00
Weongyo Jeong
3e1e21c9a4 MFC r203945:
adds bwn(4) driver for supporting Broadcom BCM43xx chipsets.

    o uses v4 firmware instead of v3.  A port will be committed to
      create the bwn firmware module.
    o supports B/G and LP(low power) PHYs.
    o supports 32 / 64 bits DMA operations.
    o tested on big / little endian machines so should work on all
      architectures.

  It'd not connected to the build until the firmware port is committed.
2010-04-20 21:40:09 +00:00
Weongyo Jeong
a9a1ff5e80 MFC r203944:
supports SPROM rev8 informations properly which are used to support
  low-power PHY of bwn(4) and LDO voltage adjustments.
2010-04-20 21:37:47 +00:00
Weongyo Jeong
4b1a8666b9 MFC r203319:
Adds siba_bwn module which is used with bwn(4).  Main purpose of this
  module is to distinguish parts of Silicon Backplane and of Broadcom
  Wireless.
2010-04-20 21:29:53 +00:00
Weongyo Jeong
5c07bd7cf5 MFC r201978:
Merge from projects/mips to head by hand:

  Merge the siba bus device.  This was moved from mips to dev because
  siba bus can be in other architectures, like ARM.

MFC r202056:
  Move this to the right location.  Grump.

MFC r202057:
  This was somehow copied to the wrong place :(.  Remove the spare copy.

Approved by:	imp
2010-04-20 21:24:32 +00:00
Jack F Vogel
ace006dec7 MFC bug fixes to em and igb from HEAD. 2010-04-16 17:27:20 +00:00
Fabien Thomas
c8d050b52a MFC r206089, r206684:
- Support for uncore counting events: one fixed PMC with the uncore
   domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
2010-04-16 15:43:24 +00:00
Rui Paulo
3dd8c32d14 MFC r206420:
Setup the correct RX/TX chainmask when we play with the antenna
 settings.

Sponsored by:	iXsystems, inc
2010-04-16 09:08:19 +00:00
Kevin Lo
e83c1c9d1e MFC r206595
Eliminate duplicate comment
2010-04-16 01:54:47 +00:00
Kevin Lo
499a07ef68 MFC r206544
The Quanta Q101 modem has a different type of cdrom driver disk,
add the product id and use a standard scsi eject.

Reviewed by:	thompsa
2010-04-16 01:53:19 +00:00
Pyun YongHyeon
fa7ad760a6 MFC r206268
- Fixed 5708S 2.5G support broken in last commit.
  - Added some new debug helper routines to systcl.
  - Fixed many of the style(9) violations that have crept into the code
    due to my use of a "smart" editor.
2010-04-15 19:29:56 +00:00
Pyun YongHyeon
9c89e97770 MFC r205300:
- Added support for 5709S/5716S PHYs.
  - Update copyright to 2010.
  - Add new debug code for RV2P block.
  - Improve output formatting for various debug functions.

  PR:	kern/134658, kern/136417, kern/139761, kern/140970
2010-04-15 19:26:28 +00:00
Pyun YongHyeon
679953c6bd MFC r205299:
- Added support for 5709S/5716S PHYs.

  Submitted by: pyunyh
  PR:	kern/134658, kern/136417, kern/139761, kern/140970
2010-04-15 19:19:59 +00:00
Alexander Motin
fec9df653c MFC r205967:
Include opt_ata.h, as some structures here depending on ATA_CAM option.
This fixes ATA_CAM with atamvsata and probably some other drivers.
2010-04-15 12:26:24 +00:00
Alexander Motin
b1a034ef8e MFC r205680:
Use last 16 bytes of serial number in metadata instead of first ones,
same as Intel MatrixRAID does.

PR:             kern/124064
2010-04-15 12:20:13 +00:00
Justin T. Gibbs
88b4fd072e MFC revision 205781:
Use standard types in preference to BSD types so that these header files
can be used in applications compiled with only POSIX types visible.
2010-04-14 16:37:34 +00:00
Pyun YongHyeon
8451de87b9 MFC r206433:
Add preliminary support for 8168E/8111E PCIe controller.
  While I'm here simplify device description string.

  Tested by:	Michael Beckmann < michael <> apfel dot de >
2010-04-14 01:12:24 +00:00
Pyun YongHyeon
b9b10dc47b MFC r206364:
Partial revert r204545.
  Just relying on status LE ownership of status block seems to cause
  poor performance. Always read current status index register first
  and then check status ownership as we had before. Accessing status
  index register seems to trigger immediate status update if
  controller have pending status updates.

  Reported by:	Andre Albsmeier <Andre.Albsmeier <> siemens dot com>
  Tested by:	Andre Albsmeier <Andre.Albsmeier <> siemens dot com>
2010-04-14 00:50:18 +00:00
Andrew Thompson
464b64f6c8 MFC r205036
Implement USB kernel driver detach from userland.

Submitted by:	Hans Petter Selasky
2010-04-07 00:32:59 +00:00
Andrew Thompson
fb8f1e2afc MFC r205681
- add some usb devices (scanner, printer, usb storage)
 - add quirks for the usb storage
2010-04-07 00:30:25 +00:00
Andrew Thompson
3769678a82 MFC r203087
adds sysctl knobs to show rate statistics that it could be useful to
 debug slow TX speed.
2010-04-07 00:27:59 +00:00
Andrew Thompson
1e6c93d364 MFC r202609
Product ID of D-Link DWA-120 after loading the firmware is incorrect.
2010-04-07 00:26:39 +00:00
Andrew Thompson
cfc42a2785 MFC r202608
Remove a hack to attach TRENDnet TEW-504UB/EU, this has been solved.
2010-04-07 00:25:03 +00:00
Andrew Thompson
a811dd8b64 MFC r205805
Do not sync cache for the PL2506

PR:		usb/144915
Submitted by:	Monty Hall
2010-04-06 23:31:22 +00:00
Andrew Thompson
6b6aaa9fcd MFC r205804
Do not swap Apple keys when detecting Apple-FN keyboards.

Reported by:	Steven Noonan
Submitted by:	Hans Petter Selasky
2010-04-06 23:30:57 +00:00
Andrew Thompson
3224ea55bb MFC r205803
Make sure the bsd_urb_list gets initialised and that new URB's are queued at
 the end of the list.

Submitted by:	Hans Petter Selasky
2010-04-06 23:30:30 +00:00
Andrew Thompson
441f5e4c8a MFC r205802
Add PCI IDs for two more nForce controllers.

Submitted by:	Dmitry Luhtionov @ gmail.com
2010-04-06 23:30:02 +00:00
Andrew Thompson
57023f990c MFC r205801
Add a couple of usb product IDs.

Submitted by:	Dmitry Luhtionov @ gmail.com
2010-04-06 23:29:38 +00:00
Andrew Thompson
67232500cd MFC r205043
Add device ID for the NATURAL4000 keyboard
2010-04-06 23:29:14 +00:00
Andrew Thompson
1e426764e8 MFC r205042
- Integrate latest driver code from OpenBSD
 - Drain our tasks from the ieee80211 taskqueue
 - Add more IDs

Submitted by:	Akinori Furukoshi
2010-04-06 23:28:46 +00:00
Andrew Thompson
963d675e13 MFC r205040
extend search for Apple Function Key.

PR:		usb/144414
Submitted by:	Hans Petter Selasky
2010-04-06 23:28:18 +00:00
Andrew Thompson
10cd601e17 MFC r205039
Add new device ID for the SMC 2514HUB

Submitted by:	Alexander Best
2010-04-06 23:27:55 +00:00
Andrew Thompson
d3a6755914 MFC r205038
add new vendor ID for APACER

Submitted by:	Paul B Mahol
2010-04-06 23:27:31 +00:00
Andrew Thompson
33f167cc00 MFC r205035
Make sure there is a way to reset the endpoint FIFO on transfer errors for
 ISOCHRONOUS transfers

Submitted by:	Hans Petter Selasky
2010-04-06 23:27:04 +00:00
Andrew Thompson
252913a125 MFC r205034
For USS820 driver we need to manually reset TX FIFO at each SETUP transaction
 because the chip doesn't do this by itself.

Submitted by:	Hans Petter Selasky
2010-04-06 23:26:40 +00:00
Andrew Thompson
722095f272 MFC r205033
isochronous endpoint descriptors should have two more bytes which are zero by
 default.

Submitted by:	Hans Petter Selasky
2010-04-06 23:26:17 +00:00
Andrew Thompson
4e4177b3d0 MFC r205032
Add new uvisor(4) device ID.

PR:		usb/144201
2010-04-06 23:25:53 +00:00
Andrew Thompson
15a1f2780d MFC r205031
It appears that some UVISOR devices do not handle when the clear stall command
 is issued at the beginning of the initial IN/OUT data transfers.  Reason
 unknown, probably firmware fault. Now the stall is only cleared on data
 transfer errors.

PR:		usb/144199
Submitted by:	Hans Petter Selasky
2010-04-06 23:25:19 +00:00
Andrew Thompson
18fef95d49 MFC r205030
- make the usb_temp_setup() and usb_temp_unsetup() functions public so that
   other modules can generate USB descriptors.
 - extend the vendor specific request function by one length pointer argument,
   because not all descriptors store the length in the first byte. For example
   HID descriptors.

Submitted by:	Hans Petter Selasky
2010-04-06 23:24:55 +00:00
Andrew Thompson
a8562ad046 MFC r205029
Use wMaxPacketSize for the uftdi input buffer size.

Submitted by:	Hans Petter Selasky
2010-04-06 23:24:29 +00:00
Andrew Thompson
14c9d51098 MFC r205026
Reapply r185998 which was overwritten at some point.
2010-04-06 23:24:07 +00:00
Andrew Thompson
b766264da8 MFC r205005
Wrap the proc wakeup special case for ddb in ifdef DDB.

Submitted by:	Giovanni Trematerra
2010-04-06 23:23:43 +00:00
Andrew Thompson
c96e62bb8a MFC r203906
Add device ID for the FTDI 4232H.

PR:		usb/143832
Submitted by:	UEMURA Tetsuya
2010-04-06 23:23:19 +00:00
Andrew Thompson
5821ad555b MFC r203905
Add support for the E1752 3G modem and the required eject command.

Submitted by:	Milan Obuch
2010-04-06 23:22:47 +00:00
Andrew Thompson
5aab223c3c MFC r203903
Make umodem more tolerant for devices which modem descriptors are misplaced.

Reported by:	Erick Wales
Submitted by:	Hans Petter Selasky
2010-04-06 23:22:19 +00:00
Andrew Thompson
76e18c9128 MFC r203899
Add UQ_KBD_BOOTPROTO quirk needed in r203896
2010-04-06 23:21:54 +00:00
Andrew Thompson
2c50fc457c MFC r203896
Detect when we are polling from kernel via cngetc() in the boot process and
 reserve the keypresses so they do not get passed to syscons.

Submitted by:	Hans Petter Selasky
2010-04-06 23:21:30 +00:00
Andrew Thompson
9081202938 MFC r203693
Disable the use of the IAAD usb doorbell on NVidia controllers as it can cause
 the hardware to stall.

Submitted by:	Hans Petter Selasky
2010-04-06 23:21:06 +00:00
Andrew Thompson
9f524548aa MFC r203507
The ZTE MF633R modem has a different type of cdrom driver disk, add the product
 ID and use a standard scsi eject.

Reported by:	Patrick Lamaiziere
2010-04-06 23:20:41 +00:00
Andrew Thompson
62bd90e5c7 MFC r203506
Properly name the 0x0016 ZTE product as MF633R now that its known.
2010-04-06 23:20:13 +00:00
Andrew Thompson
e6fdf62105 MFC r203146
Rework cam error handling to fix Mitsumi floppy drives.

Submitted by:	mav
2010-04-06 23:19:43 +00:00
Andrew Thompson
7ba8e24410 MFC r203145
Simplify attach for UMASS_PROTO_CBI_I mode and change some switch() returns
 into breaks.

Submitted by:	Hans Petter Selesky
2010-04-06 23:19:11 +00:00
Andrew Thompson
ce176213dd MFC r203144
Add null check on quirk lookup and add a couple of umass quirks.

Submitted by:	Hans Petter Selesky
2010-04-06 23:18:41 +00:00
Andrew Thompson
401b356e9b MFC r203143
Add the Netgear WPN111
2010-04-06 23:18:09 +00:00
Andrew Thompson
fe5c7a4e81 MFC r203142
Sync usb products to perforce.
2010-04-06 23:17:43 +00:00
Andrew Thompson
e7cccdd19a MFC r203141
Attempt to recover on a TX error rather than stopping all transfers.

Submitted by:	Hans Petter Selesky
2010-04-06 23:17:13 +00:00
Andrew Thompson
a678556411 MFC r203140
Optimise EHCI ISOC HS done check.

Submitted by:	Hans Petter Selasky
2010-04-06 23:16:40 +00:00
Andrew Thompson
3f3b0d48a9 MFC r203139
Add device ID.

PR:		usb/142427
2010-04-06 23:16:09 +00:00
Andrew Thompson
7e2c44f008 MFC r203138
Use device_printf rather than printf + device_get_nameunit.
2010-04-06 23:15:44 +00:00
Andrew Thompson
13548b8bd0 MFC r203137
Release the firmware after loading to the device.
2010-04-06 23:15:16 +00:00
Andrew Thompson
0b2d5c2977 MFC r203134
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.

 This driver was written for OpenBSD by Damien Bergamini and ported over by
 Akinori Furukoshi.
2010-04-06 23:14:43 +00:00
Xin LI
f33c89d1ae MFC r205534:
Add PCI ID for MCS9901's parallel port.

PR:		kern/144713
Submitted by:	gcooper
2010-04-06 00:50:23 +00:00
Navdeep Parhar
ece8cb8889 cxgb(4) MFCs: r204271,r204274,r204348,r204921,r205944,r205945,r205946,r205947,r205948,r205949,r205950,r206109
r204271:
Accessing an mbuf after it has been handed off to the hardware is a bad
race as it could already have been tx'd and freed by that time.  Place
the bpf tap just _before_ writing the gen bit.

This fixes a panic when running tcpdump on a cxgb interface.

r204274:
There is no need to test __FreeBSD_version for features that have
been around for a long time now (7.1-ish or even earlier); assume
they are present.  These includes MSI, TSO, LRO, VLAN, INTR_FILTERS,
FIRMWARE, etc.

Also, eliminate some dead code and clean up in other places as part
of this quick once-over.

r204348:
Support IFCAP_VLANHWTSO in cxgb(4).  It works with or without vlanhwtag.
While here, remove old DPRINTFs and tidy up the capability code a bit.

r204921:
Better TwinAx transceiver detection.

Originally submitted by: <Bruno dot Bittner at isilon dot com>
(This is a rewritten, corrected version of that patch)

r205944:
Refresh the firmware version immediately after it is upgraded (or downgraded).

r205945:
Improved PHY EDC settings.

r205946:
Do not attempt to retrieve interrupt information before it is available.

r205947:
Fix build with "nooptions INET"

r205948:
Fix tx drop statistics.

r205949:
Fix signed/unsigned mix-up that allowed txq->in_use to grow beyond txq->size.

r205950:
Multiple fixes related to queue set sizing and resources:

- Only the tunnelq (TXQ_ETH) requires a buf_ring, an ifq, and the watchdog/timer
  callouts.  Do not allocate these for the other tx queues.

- Use 16k jumbo clusters only on offload capable cards by default.

- Do not allocate a full tx ring for the offload queue if the card is not
  offload capable.

- Slightly better freelist size calculation.

- Fix nmbjumbo4 typo, remove unneeded global variables.

r206109:
Increase response queue size to avoid starvation, add a counter
to track it when it does occur.
2010-04-05 23:29:27 +00:00
Jack F Vogel
d05b20c60c MFC of the em/igb drivers 2010-04-05 20:39:44 +00:00
Jack F Vogel
d4e2e2a53f MFC of version 2.1.7 of the ixgbe driver. 2010-04-05 18:46:29 +00:00
Matt Jacob
be5d0cf413 This is an MFC of 205712.
D'oh- isp_handle_index' logic was reversed (not used in FreeBSD).
2010-04-05 18:36:47 +00:00
Matt Jacob
59a8fbd208 This is an MFC of 205698
Clean up some printing stuff so that we can have a bit finer control
on debug output. Add a new platform function requirement to allow
for printing based upon the ITL nexus instead of the isp unit plus
channel, target and lun. This allows some printouts and error messages
from the core code to appear in the same format as the platform's
subsystem (in FreeBSD's case, CAM path).
2010-04-05 18:22:42 +00:00
Randall Stewart
54bb41671a MFC of 2 items to fix the csum for v6 issue:
Revision 205075 and 205104:

---------205075----------
With the recent change of the sctp checksum to support offload,
no delayed checksum was added to the ip6 output code. This
causes cards that do not support SCTP checksum offload to
have SCTP packets that are IPv6 NOT have the sctp checksum
performed. Thus you could not communicate with a peer. This
adds the missing bits to make the checksum happen for these cards.
-------------------------
---------205104----------
The proper fix for the delayed SCTP checksum is to
have the delayed function take an argument as to the offset
to the SCTP header. This allows it to work for V4 and V6.
This of course means changing all callers of the function
to either pass the header len, if they have it, or create
it (ip_hl << 2 or sizeof(ip6_hdr)).
-------------------------
PR:		144529
2010-04-05 13:48:23 +00:00
Robert Noland
ca23c89977 MFC r205120,r205126
Add drm support for Intel Pineview chips.
2010-04-04 15:46:46 +00:00
Robert Noland
707a9a4c19 MFC r205096, r205102
Add AGP support for Intel Pineview and Ironlake chipsets.
2010-04-04 15:37:47 +00:00
Fabien Thomas
caa4eaacd7 MFC r205998:
If there is multiple PMCs for the same interrupt ignore new post.
This will indirectly fix a bug where the thread will be pinned
forever if the assert is not compiled.
2010-04-03 07:12:35 +00:00
Qing Li
f3939d3288 MFC 205268
Set the device capabilities to include dynamic link-state for
those modern drivers.

Reviewed by: imp (and suggested by imp)
2010-04-02 05:15:27 +00:00
Jung-uk Kim
516a153f98 MFC: r197185
Enable BIOS modes on amd64.
2010-03-31 15:49:10 +00:00
Jung-uk Kim
7058bb70ff MFC: r205557, r205558, r205564, r205566, r205604, r205653
Sync. pixel mode support for VESA and VGA frame buffers with HEAD.

- Map entire video memory again.  Although we do not use them all directly,
it seems VGA renderer may access unmapped memory region and cause kernel
panic.
- Fall back to VGA palette functions if VESA function failed and DAC is
still in 6-bit mode.  Although we have to check non-VGA compatibility bit
here, it seems there are too many broken VESA BIOSes out to rely on it.
- Be careful when we determine bytes per scan line information.  We compare
mode table data against minimum value.  If the mode table does not make
sense, we set the minimum in the mode info.
- Teach VGA framebuffer about 8-bit palette format for VESA.
- Add my copyright here.
2010-03-31 15:45:11 +00:00
Jung-uk Kim
86a2d033e4 MFC: r205550, r205605, r205865
Sync. pixel mode support for syscons(4) with HEAD.

- Separate 24-bit pixel draw from 32-bit case.  Although it is slower, we do
not want to write a useless zero to inaccessible memory region.
- We only want the dummy palette for direct color mode.
2010-03-31 15:39:46 +00:00
Alexander Motin
72208ab4ba MFC r205734:
Fix lock leakage.

PR:             kern/145081
2010-03-31 08:03:49 +00:00
Alexander Motin
e30013ae5c MFC r205413:
Add some more codec IDs.
2010-03-31 08:02:16 +00:00
Alexander Motin
80ebd5b059 MFC r205422:
- Spec tells that CCC interrupt is edge triggered. Acknowledge it as such.
- Do not try to enable CCC if it is not supported.
2010-03-31 07:56:32 +00:00
Alexander Motin
3015ec2db6 MFC r205074:
Mask disk_idx to avoid panic because of extra bits set.

PR:             kern/102211
Submitted by:   yoichi
2010-03-31 07:49:59 +00:00
Marcel Moolenaar
e9fa42544e MFC rev 198431:
Have the early USB takeover only enabled for i386 and amd64
by default. This also avoids a panic on PowerPC.
2010-03-31 03:14:40 +00:00
Xin LI
73a0004b9d MFC r204533:
Add PCI ID for MCS9901.

Submitted by:	gcooper
PR:		kern/144397
2010-03-31 00:41:32 +00:00
Attilio Rao
6f1f54906a MFC r205167:
Make the code more readable and compiling on 64-bits arch different
than amd64.

Sponsored by:	Sandvine Incorporated
2010-03-30 12:06:18 +00:00
Attilio Rao
58c7715bb0 MFC r205160:
Checkin a facility for specifying a passthrough FIB from userland.
arcconf tool by Adaptec already seems to use for identifying the
Serial Number of the devices.

Sponsored by:	Sandvine Incorporated
2010-03-30 11:46:43 +00:00
Fabien Thomas
44a4e1d8fb MFC r205694:
Handling SIGPIPE will cause deadlock/crash.
Return an error immediatly in case of hard shutdown.
2010-03-29 06:55:38 +00:00
Ed Maste
171dfe111d MFC aac(4) driver changes
r204019:

  Include command type in COMMAND TIMEOUT messages to aid in debugging.

r203885:

  Diff reduction with Adaptec's vendor driver.

  Driver version 2.1.9 chosen as that Adaptec version roughly corresponds
  with the current feature set merged to the in-tree driver.

r203801:

  Garbage collect Falcon/PPC support that has not been used in released
  products, based on discussion with Adaptec.

r198617:

  Rename aac_srb32 to aac_srb, to match Adaptec's vendor driver.
2010-03-29 00:30:44 +00:00
Ed Maste
436405f522 MFC r204264:
Minor diff reduction with Adaptec's driver: in aac_release_command() set
  cm_queue to AAC_ADAP_NORM_CMD_QUEUE by default.  In every place it was
  set, it was set to AAC_ADAP_NORM_CMD_QUEUE anyhow.
2010-03-29 00:14:34 +00:00
Edward Tomasz Napierala
168d1f006b MFC r197945:
Orphaning provider with EXDEV seems weird; perhaps the author meant
ENXIO here?
2010-03-27 17:56:45 +00:00
Edward Tomasz Napierala
ae3c92a106 MFC r204408:
Fix panic on invalid 'mdconfig -at preload' usage.

PR:		kern/80136
2010-03-27 14:43:40 +00:00
Ivan Voras
e617a8cfde MFC r204248,r204249 - "fancy snake_saver" with color coded load averages 2010-03-26 14:03:42 +00:00
Maxim Sobolev
7711964246 MFC: workaround no-carrier issue on IBM HS21.
PR:		118238
2010-03-25 23:38:10 +00:00
Pyun YongHyeon
5c55bc1bf1 MFC r205161:
It seems PCI_OUR_REG_[1-5] registers are not mapped on PCI
  configuration space on Yukon Ultra(88E8056) such that accesses to
  these registers were NOPs which in turn make msk(4) instable on
  this controller. Use indirect access method to access
  PCI_OUR_REG_[1-5] registers. This should fix a long standing
  instability bug which prevented msk(4) working on Yukon Ultra.
  Special thanks to koitsu who gave me remote access to his system.

  PR:	kern/114631, kern/116853
2010-03-24 17:36:56 +00:00
Pyun YongHyeon
f305cd92af MFC r204975,204978-204979,204981:
r204975:
  Enable hardware fixes for BCM5704 B0 as recommended by data sheet.
r204978:
  Set maximum read byte count to 2048 for PCI-X BCM5703/5704 devices.
  Also disable relaxed ordering as recommended by data sheet for
  PCI-X devices. For PCI-X BCM5704, set maximum outstanding split
  transactions to 0 as indicated by data sheet.
  For BCM5703 in PCI-X mode, DMA read watermark should be less than
  or equal to maximum read byte count configuration. Enforce this
  limitation in DMA read watermark configuration.
r204979:
  Fix typo in r204975.
r204981:
  Fix typo in r204978.
2010-03-24 17:29:32 +00:00
Pyun YongHyeon
51e48a8ee4 MFC r204545:
Remove taskqueue based interrupt handling. After r204541 msk(4)
  does not generate excessive interrupts any more so we don't need
  to have two copies of interrupt handler.
  While I'm here remove two STAT_PUT_IDX register accesses in LE
  status event handler. After r204539 msk(4) always sync status LEs
  so there is no need to resort to reading STAT_PUT_IDX register to
  know the end of status LE processing. Just trust status LE's
  ownership bit.
2010-03-24 17:18:44 +00:00
Pyun YongHyeon
51574f1152 MFC r204541:
Implement rudimentary interrupt moderation with programmable
  countdown timer register. The timer resolution may vary among
  controllers but the value would be represented by core clock
  cycles. msk(4) will automatically computes number of required clock
  cycles from given micro-seconds unit.
  The default interrupt holdoff timer value is 100us which will
  ensure less than 10k interrupts under load. The timer value can be
  changed with dev.mskc.0.int_holdoff sysctl node.

  Note, the interrupt moderation is shared resource on dual-port
  controllers so you can't use separate interrupt moderation value
  for each port. This means we can't stop interrupt moderation in
  driver stop routine. Also have msk_tick() reclaim transmitted Tx
  buffers as safety belt. With this change there is no need to check
  missing Tx completion interrupt in watchdog handler, so remove it.
2010-03-24 17:11:01 +00:00
Pyun YongHyeon
065ee77712 MFC r204378:
Add TSO support on VLANs. While I'm here remove unnecessary check
  of VLAN hardware checksum offloading. vlan(4) already takes care of
  this.
2010-03-23 22:22:26 +00:00
Pyun YongHyeon
14b52a7e1c MFC r204377:
Add TSO support on VLANs. While I'm here remove unnecessary check
  of VLAN hardware checksum offloading. vlan(4) already takes care of
  this.
2010-03-23 22:19:27 +00:00
Pyun YongHyeon
7b575694a1 MFC r204376:
Disable TSO on BCM5755M controller until I understand better for
  the issue. I still have no idea why TSO does not work on this
  controller. davidch@ also confirmed there is no known TSO related
  issues for this controller.
2010-03-23 22:16:12 +00:00
Pyun YongHyeon
051ea6ca19 MFC r204373-204374:
r204373:
  Move TSO setup to new function bce_tso_setup(). Also remove VLAN
  parsing code in TSO path as the controller requires VLAN hardware
  tagging to make TSO work over VLANs.
  While parsing the mbuf in TSO patch, always perform check for
  writable mbuf as bce(4) have to reset IP length and IP checksum
  field of IP header and make sure to ensure contiguous buffer before
  accessing IP/TCP headers. While I'm here replace magic number 40 to
  more readable sizeof(struct ip) + sizeof(struct tcphdr).

r204374:
  Add TSO support on VLANs. bce(4) controllers require VLAN hardware
  tagging to make TSO work on VLANs so explicitly disable TSO on VLAN
  if VLAN hardware tagging is disabled.
2010-03-23 22:11:39 +00:00
Pyun YongHyeon
2634815492 MFC r204368,204370-204372:
r204368:
  Allow disabling VLAN hardware tag stripping with software work
  around. Management firmware(ASF/IPMI/UMP) requires the VLAN
  hardware tag stripping so don't actually disable VLAN hardware tag
  stripping. If VLAN hardware tag stripping was disabled, bce(4)
  manually reconstruct VLAN frame by appending stripped VLAN tag.
  Also remove unnecessary IFCAP_VLAN_MTU message.

r204370:
  Make sure to stop controller first before changing MTU. And if
  interface is not running don't initialize controller.
  While here remove unnecessary update of error variable.

r204371:
  Make toggling TSO, VLAN hardware checksum offloading work. Also fix
  TX/RX checksum handler to set/clear relavant assist bits which was
  used to cause unexpected results.
  With this change, bce(4) can be bridged with other interfaces that
  lack TSO, VLAN checksum offloading.

r204372:
  Prefer m_collapse(9) over m_defrag(9).
2010-03-23 22:04:18 +00:00
Pyun YongHyeon
5774c1ed84 MFC r204363,204365-204367,204539-204540:
r204363:
  Optimize inserting LE for TX checksum computation. Controller does
  not require checksum LE configuration if checksum start and write
  position is the same as before. So keep track last checksum start
  and write position and insert new LE whenever the position is
  changed. This reduces number of LEs used in TX path as well as
  slightly enhance TX performance.

r204365:
  Don't hardcod register offset to set PCIe max read request size.
  The register offset is not valid on 88E8072 controller. Also don't
  blindly increase max read request size to 4096, instead, use 2048
  which seems to be more sane value and only change the value if the
  hardware default size(512) was used on that register.
  For PCIX controllers, use system defined constant rather than using
  magic value.
  While I'm here stop showing negotiated link width.

r204366:
  Allocate single MSI message. msk(4) used to allocate 2 MSI messages
  for controllers like 88E8053 which reports two MSI messages.
  Because we don't get anything useful things with 2 MSI messages,
  allocating 1 MSI message would be more sane approach.
  While I'm here, enable MSI for dual-port controllers too. Because
  status block is shared for dual-port controllers, I don't think
  msk(4) will encounter problem for using MSI on dual-port
  controllers.

r204367:
  Remove trailing white spaces.

r204539:
  Properly sync status LEs after processing.

r204540:
  Make sure to enable flow-control only if established link is
  full-duplex. Previously msk(4) used to allow flow-control on
  1000baseT half-duplex media. Also GMAC pause is enabled if link
  partner is capable of handling it.
  While I'm here use IFM_OPTIONS instead of using IFM_GMASK to check
  optional flags of link.
2010-03-23 21:51:31 +00:00
Pyun YongHyeon
b951499f98 MFC r204361-204362:
r204361:
  Reuse the configured LE for VLAN if new LE was created for TSO.
  Only old controllers need to create new LE for TSO. This change
  makes TSO work over VLANs.

r204362:
  Add TSO support on VLANs. Controller requires VLAN hardware tagging
  to make TSO work over VLANs.
2010-03-23 21:38:25 +00:00
Pyun YongHyeon
061d3abfa8 MFC r204228,204230:
r204228:
  Add TSO support on VLANs. Also make sure to update TSO capability
  whenever jumbo frame is configured.
  While I'm here remove unnecessary check of VLAN hardware checksum
  offloading. vlan(4) already takes care of this.

r204230:
  Remove Tx mbuf parsing code for VLAN in TSO path. Controller does
  not support TSO over VLAN if VLAN hardware tagging is disabled so
  there is no need to check VLAN here.
2010-03-23 19:41:43 +00:00
Pyun YongHyeon
ac8ed73502 MFC r204225:
Add TSO support on VLANs. jme(4) controllers do not require VLAN
  hardware tagging to make TSO work over VLANs.
2010-03-23 19:37:15 +00:00
Pyun YongHyeon
d95d4a8336 MFC r204155,204219:
r204155:
  Increase PCIe maximuim read request size to 2048. Because re(4) uses
  Tx DMA burst size 2048, I beleive PCIe maximum read request size
  also should match to the value of Tx DMA burst size. With this
  change I can get more than 800Mbps for TCP bulk transfers.
  Previously I was not able to get more than 700Mbps. If I enable TSO
  it now shows 927Mbps.

r204219:
  Add TSO on VLANs. Because re(4) has a TSO limitation for jumbo
  frame, make sure to update VLAN capabilities whenever jumbo frame
  is configured.
  While I'm here rearrange interface capabilities configuration. The
  controller requires VLAN hardware tagging to make TSO work on VLANs
  so explicitly check this requirement.
2010-03-23 19:30:15 +00:00
Pyun YongHyeon
60a337785e MFC r204151,204223:
r204151:
  Add TSO support on VLAN. Controller requires VLAN hardware tagging
  to make TSO work on VLAN. So if VLAN hardware tagging is disabled
  explicitly clear TSO on VLAN. While I'm here remove duplicated
  VLAN_CAPABILITIES call.

r204223:
  Remove Tx mbuf parsing code for VLAN in TSO path. Controller does
  not support TSO over VLAN if VLAN hardware tagging is disabled so
  there is no need to check VLAN here.
  While I'm here make sure to pullup IP/TCP headers in the first
  buffer.
2010-03-23 19:16:35 +00:00
Andrew Gallatin
accbb468d5 MFC 204212: Update mxge to support IFCAP_VLAN_HWTSO. 2010-03-22 14:50:08 +00:00
Andrew Gallatin
c6c73f9880 MFC 205255: Fix 2 bugs in mxge_attach() 2010-03-22 11:18:51 +00:00
Pyun YongHyeon
4f7bf104f0 MFC r202717:
- Added a workaround for NC-SI management firmware that would allow
    frames to be accepted while the driver is resetting the hardware.
    This failure is generally observed when broadcast frames are received
    during driver load and will generate "Unable to write CTX memory"
    errors.
  - Small changes to driver flags display.

PR:	kern/135836, kern/140684
2010-03-19 00:26:45 +00:00
Pyun YongHyeon
12c4b5ef43 MFC r202826-202827,204146
r202826:
  s/Mhz/MHz/g

  Submitted by:	N.J. Mann <njm <> njm dot me dot uk >

r202827:
  Yukon Ultra2 has 125MHz clock.

r204146:
  Correct inversed programming of ethernet hardware address on
  big-endian architecture.

  Submitted by:	C. Jayachandran <c.jayachandran at gmail dot com> (initial version)
2010-03-18 18:58:24 +00:00
Pyun YongHyeon
0debac0d3a MFC r203358,203716:
r203358:
  PCI express device status register has W1C feature. Writing 0 has
  no effect. Make sure to clear error bits by writing 1. [1]
  While I'm here use predefined value instead of hardcodig magic
  vlaue.

  Submitted by:	msaitoh at NetBSD [1]

r203716:
  Move device specific flag configuration to attach routine.
  The softc obtained in device probe wouldn't be the same one used in
  device attach. Drivers should not assume any values stored in softc
  structure in probe routine will be available for its attach routine.
2010-03-18 18:50:20 +00:00
Pyun YongHyeon
bb8c5f9792 MFC r203355:
Add more bit definitions to PCI express device control and device
  status register.
2010-03-18 18:44:08 +00:00
Pyun YongHyeon
194bfbdd24 MFC r202821-202822.
r202821:
  Fix a long standing ASF heartbeat sending bug. The initial
  implementation of heartbeat interval was 2 but there was typo which
  caused the heartbeat is sent approximately every 5 seconds. This
  caused unintended controller reset by firmware because firmware
  thought OS was crashed.

  Submitted by:	Floris Bos < info <> je-eigen-domein dot nl >
  Tested by:	Andrzej Tobola < ato <> iem dot pw dot edu dot pl >

r202822:
  Use new handshake command for BCM5750 or new controllers.
2010-03-18 18:35:28 +00:00
Max Laier
29f2c008fd MFC r203834 and r205197: Make ALTQ work for drbr consumers. 2010-03-18 17:00:44 +00:00
Gavin Atkinson
0761ef3362 Merge r203622 from head:
Add support for a few more Sony-specific ACPI features (default display
  brightness, wired LAN power and bass gain), and update the description of
  one previously unknown feature (display contrast).  While here, expand on
  a comment and remove two defines left over from an old version of the code.

  Also update man page to document the above changes, and correct grammar.

PR:		kern/127581
2010-03-17 20:39:21 +00:00
Marius Strobl
8bf5ec1047 MFC: r204222
According to the Linux sungem driver, in case of Apple (K2) GMACs
GEM_MIF_CONFIG_MDI0 cannot be trusted when the firmware has powered
down the chip so the internal transceiver has to be hardcoded. This
is also in line with the AppleGMACEthernet driver, which just doesn't
distinguish between internal/external transceiver and MDIO/MDI1
respectively in the first place. Tested by: Andreas Tobler
2010-03-15 19:13:36 +00:00
Marius Strobl
a130bd42f5 MFC: r204144
Add support for BCM54K2 found in combination with Apple K2 GMAC.

Submitted by:   Andreas Tobler
Obtained from:  OpenBSD
2010-03-15 19:04:44 +00:00
Jung-uk Kim
256794862e MFC: r204235
Fix FBIO_ADPINFO ioctl on amd64.
2010-03-15 18:22:19 +00:00
Bernhard Schmidt
36026f82d6 MFC r203934:
Fix for the Intel WiFi Link 1000.  The EEPROM image is in the OTPROM block
before the last block, not in the last block itself.

Approved by:	rpaulo (mentor)
Obtained from:	OpenBSD
2010-03-11 17:15:40 +00:00
Andriy Gapon
e850e4719f MFC r203785: acpi: drop the second bus_generic_attach pass
X-MFCto7 after: 1 week
2010-03-11 08:58:13 +00:00
Andriy Gapon
57ff35ce74 MFC r203776: acpi cpu: probe+attach before all other enumerated children
X-MFCto7 after:	1 week
2010-03-11 08:55:03 +00:00
Fabien Thomas
4e0c5d79a0 MFC r204878:
Change the way shutdown is handled for log file.

 pmc_flush_logfile is now non-blocking and just ask the kernel
 to shutdown the file. From that point, no more data is
 accepted by the log thread and when the last buffer is flushed
 the file is closed.

 This will remove a deadlock between pmcstat asking for
 flush while it cannot flush the pipe itself.
2010-03-11 07:35:30 +00:00
Pyun YongHyeon
f4153ff1ea MFC r204647:
Remove programming LED register and enable 25MHz TX clock for
  88E1149 PHY. This will fix intermittent watchdog timeouts as well
  as very slow network performance on 88E8072 Yukon Extreme.

  PR:	kern/144148
2010-03-10 22:21:07 +00:00
Jung-uk Kim
0cd9e69dae MFC: r197438, r203810, r203813, r203935, r203936
Sync acpi_video(4) with HEAD.

r197438:
Uninline an instance of STAILQ_FOREACH_SAFE().

r203810:
Implement LCD brightness control notify handler.

r203813:
Make sanity check slightly more useful and tweak an error message.

r203935:
Add support for `cycle' and `zero' events for LCD brightness control.

r203936:
Rename some macros to clarify their intentions and fix style nits.
2010-03-10 17:58:32 +00:00
Konstantin Belousov
bf5483fddc MFC r204590:
Correct mfip module dependency on mfi. This allows mfip to be loaded as
module when mfi is a module itself.
2010-03-09 13:32:50 +00:00
Alexander Motin
f50241e452 MFC r204648:
Several changes to fix livelock under high load, introduced by r203489:
 - change the way in which command queue overflow is handled;
 - do not expose to CAM two command slots, used for driver's internal purposes;
 - allow driver to use up to 1024 command slots, instead of 256 before.
2010-03-08 16:53:58 +00:00
Alexander Motin
576e956f32 MFC r204509:
- Add ALI M5228 PATA ID.
- Add missed DMA initialization for ALI SATA chips.
2010-03-03 19:14:05 +00:00
Alexander Motin
3a8904bf97 MFC r204250:
Fix recursive lock attempt on hot-plug event in non-ATA_CAM mode.
2010-03-03 19:12:53 +00:00
Alexander Motin
4c88138161 MFC r204210, r204216:
Add Intel PCH SATA controller IDs.
2010-03-03 19:11:39 +00:00
Rui Paulo
2d057e0f6a MFC r197948 r203156 r203158 r203159 r203680 r203682 r203750 r203882 r203930
r203933 r203959 r204521 r204578:

Atheros AR9285 support.
2010-03-02 13:13:12 +00:00
Xin LI
aa3d547d09 MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa
framebuffer driver, etc. work on FreeBSD/amd64.

A significant amount of improvements were done by jkim@ during the recent
months to make vesa(4) work better, over the initial code import.  This
work is based on OpenBSD's x86emu implementation and contributed by
paradox <ddkprog yahoo com> and swell.k at gmail com.

Hopefully I have stolen all their work to 8-STABLE :)

All bugs in this commit are mine, as usual.
2010-03-02 01:56:55 +00:00
Alexander Motin
8b1670d00c MFC r204351:
Fix bug in headphones audio redirection using separate DAC. It was exposed
by removing channel duplication during multichannel audio implementation.
2010-03-01 19:43:26 +00:00
Alexander Motin
02d2ad5770 MFC r204195:
Improve output for controllers that doesn't report SATA speed.
2010-03-01 19:16:34 +00:00
Matt Jacob
87aa09332e MFC of 204397: fix problems with fast posting handles 2010-03-01 17:36:45 +00:00
Alexander Motin
db9e470d54 MFC r204356:
Store path for rescan to the right place. This should fix panic on boot,
introduced by r203108.
2010-03-01 11:33:09 +00:00
Joerg Wunsch
27a98ec529 MFC r203360
GPIB overhaul, part #2: make the tnt4882 driver work with the newer
  TNT5004 IC.  This involved a major rewrite of a number of things, as
  this chip no longer supports the NAT7210 legacy mode but requires the
  host to use the (more modern) FIFO mode.

  In theory, this also ought to work on the older TNT4882C chip.  I'll
  probably add this as optional support (perhaps by a device.hints flag)
  later on.  By now, FIFO mode is *only* activates iff a TNT5004 chip
  has been detected (where the old code didn't work at all), while
  everything else is supposed to use the old code.
2010-02-28 22:25:39 +00:00
Andriy Gapon
0445c84e45 MFC r203546: acpi_cpu: prefer _OSC over _PDC 2010-02-28 21:43:47 +00:00
Andriy Gapon
9478f3990b MFC r203430: acpi_cpu: correct capabilities arguments for Processor _OSC 2010-02-28 21:30:46 +00:00
Matt Jacob
c5fc7d9644 MFC of 204384: Fix misallocation error in target mode 2010-02-28 06:07:53 +00:00
Rui Paulo
9d8ea0c702 MFC r203695, r203751
Fix spelling mistake and compile error.
2010-02-26 20:25:30 +00:00
Rui Paulo
f5e8283aa9 MFC r203683:
Add multicast key search support. This fixes corrupted mcast packets
 when we have more than one hostap vap.
2010-02-26 18:46:16 +00:00
Rafal Jaworowski
bca23f69fd MFC r204009
Assorted fixes for mge(4).

- Use proper map for the busdma sync on mge descriptor.
- Remove unnecesary busdma sync.
- Eliminate redundant locking in mge_reinit_rx() (just assert).
- Kill unused variable.

Submitted by:	Grzegorz Bernacki
Obtained from:	Semihalf
2010-02-25 13:28:05 +00:00
Ed Maste
624e666b5d MFC r202812:
Add H55 ID from Mike Tancsa, with minor rewording from avg@.

PR:		kern/143068
Submitted by:	Mike Tancsa (Sentex)
2010-02-23 01:00:15 +00:00
Alexander Motin
a510b78b19 MFC r200291, r203529:
Increase Max Read Request Size for PCIe chips from 512 to 1024 bytes.
It gives those beasts additional 10% of write bandwidth.
Use new helper functions to do it.
2010-02-19 18:15:45 +00:00