Commit Graph

20556 Commits

Author SHA1 Message Date
Marius Strobl
d5dba21cf6 Add sbbc(4), a driver for the BootBus controller found in Serengeti and
StarCat systems which provides time-of-day services for both as well as
console service for Serengeti, i.e. Sun Fire V1280. While the latter is
described with a device type of serial in the OFW device tree, it isn't
actually an UART. Nevertheless the console service is handled by uart(4)
as this allowed to re-use quite a bit of MD and MI code. Actually, this
idea is stolen from Linux which interfaces the sun4v hypervisor console
with the Linux counterpart of uart(4).
2010-04-10 11:52:12 +00:00
Jack F Vogel
b4ab02b842 Correct broken build. 2010-04-10 07:26:51 +00:00
Bernhard Schmidt
0c4de0fe4e iwn4965_set_txpower() uses maxpwr from EEPROM to calculate the power to
set, it make sense to actually initialize that array.  This fixes some
issues with 4965 adapters where the TX power is crucial.

This got lost somewhere while merging with the OpenBSD code.

Approved by:	rpaulo (mentor)
Obtained from:	OpenBSD
MFC after:	2 weeks
2010-04-10 07:00:26 +00:00
Bernhard Schmidt
7373959eb1 * Rename bluetooth coexistence flags, no binary change.
* Enable DC calibration and crystal calibration on Centrino Advanced-N
  6250 parts.
* Workaround for a HW bug (does not affect 4965AGN) that may sporadically
  affect latency under some rare circumstances. From a similar commit to
  iwlwifi.
* Update sensitivity settings for 5000 series to workaround a performance
  bug in the DSP (1000 is not affected so we keep the old values for 5000).
* Update sensitivity settings for 6000 series.
* Set differential gains on 6250 too (but use a 1.0 factor, not 1.5).
* Init OFDM sensitivity with min value (which depends on the chip)
  instead of hardcoding it to 90.
* Read calibration version from ROM and set IWN_GP_DRIVER_CALIB_VER6
  bit on 6x50 if version >= 6.

Approved by:	rpaulo (mentor)
Obtained from:	OpenBSD
MFC after:	2 weeks
2010-04-10 06:58:24 +00:00
Bernhard Schmidt
4e5c1ca1fc Small whitespace cleanup.
Approved by:	rpaulo (mentor)
MFC after:	2 weeks
2010-04-10 06:55:29 +00:00
Jack F Vogel
91ce5735bf A few more changes from yongari:
- code flow in handler could let interrupt be
	  reenabled when not wanted.
	- change where the RX lock is taken to improve
	  performance.
	- adapter->msix is true for MSI systems also,
	  it needs to explicitly test for 82574, good one :)
2010-04-09 23:15:37 +00:00
Pyun YongHyeon
d0c4515667 Add preliminary support for 8168E/8111E PCIe controller.
While I'm here simplify device description string.

Tested by:	Michael Beckmann < michael <> apfel dot de >
MFC after:	5 days
2010-04-09 22:50:28 +00:00
Jack F Vogel
99f8e467e8 DUH, must be tired, I missed the second instance...
time for the weekend :)
2010-04-09 21:18:46 +00:00
Jack F Vogel
af8a24c8d0 Thanks to Michael Tuexen for catching this, bit set that
keeps the clock from being reset when writing to EITR was
incorrect, also there is a shared code #define for it anyway.
2010-04-09 21:16:45 +00:00
Jack F Vogel
681ac9c018 Incorporate suggested improvements from yongari.
Also, from feedback, make the multiqueue code an
option (EM_MULTIQUEUE) that is off by default.
Problems have been seen with UDP when its on.
2010-04-09 18:42:15 +00:00
Rui Paulo
a1d99827dd Setup the correct RX/TX chainmask when we play with the antenna
settings.

MFC after:	1 week
Sponsored by:	iXsystems, inc
2010-04-09 13:58:54 +00:00
Rui Paulo
ddc7073258 Remove previously added if 0's.
MFC after:	1 month
2010-04-09 11:56:38 +00:00
Rui Paulo
c9cacb2d3c Fix recent breakage: wpi_newassoc() wasn't supposed to be removed and
it needs to call ieee80211_ratectl_node_init().

Submitted by:	bschmidt
MFC after:	1 month
2010-04-09 11:47:03 +00:00
Jack F Vogel
476310d371 Three changes:
- add CRC stripping to the RX side, this was handled
	  by some obscure code in rxeof previously, its easier
	  to simply have the hardware strip it now.
	- Add back an ALTQ change that slipped between the cracks
	- Add an update to the watchdog_time in the xmit code, not
	  doing this in ixgbe caused problems, think its needed here
	  as well.
2010-04-08 19:13:42 +00:00
Jack F Vogel
500e8f26d7 Important fix got clobbered in the em driver, keeping
VLAN HWFILTER from being used by default, this breaks
stacked pseudo devices, and as it turns out, also breaks
virtual machines that happen to use VLANS (didn't know that
before :). Put the fix back into the em driver, and for good
measure add the same code to the igb driver where it should
have been anyway.
2010-04-08 00:50:43 +00:00
Jung-uk Kim
004e8bae43 Allocate memory for VBE info block with malloc(9), not as static local. 2010-04-07 21:38:42 +00:00
Jung-uk Kim
3504769505 Correct beastie_saver module name. 2010-04-07 18:42:21 +00:00
Rui Paulo
52c28f2383 Remove unnecessary assignment.
Submitted by:	gavin
MFC after:	1 month
2010-04-07 17:52:32 +00:00
Rui Paulo
e313b3e882 Avoid NULL deref.
Submitted by:	gavin
MFC after:	1 month
2010-04-07 17:51:06 +00:00
Rui Paulo
4a67d9e8b1 Avoid NULL deref.
Submitted by:	gavin
MFC after:	1 month
2010-04-07 17:49:47 +00:00
Rui Paulo
a31532b4ad Remove debugging code that snuck in. 2010-04-07 17:48:13 +00:00
Pyun YongHyeon
07fa07514b 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.

MFC after:	1 week
Reported by:	Andre Albsmeier <Andre.Albsmeier <> siemens dot com>
Tested by:	Andre Albsmeier <Andre.Albsmeier <> siemens dot com>
2010-04-07 17:12:57 +00:00
Jung-uk Kim
3cab2f6db9 Add the official FreeBSD logo image file for logo_saver. 2010-04-07 17:07:06 +00:00
Jung-uk Kim
f989dcca3e Copy Beastie image file to prepare for an official logo image. 2010-04-07 17:03:05 +00:00
Rui Paulo
b6108616ac net80211 rate control framework (net80211 ratectl).
This framework allows drivers to abstract the rate control algorithm and
just feed the framework with the usable parameters. The rate control
framework will now deal with passing the parameters to the selected
algorithm. Right now we have AMRR (the default) and RSSADAPT but there's
no way to select one with ifconfig, yet.
The objective is to have more rate control algorithms in the net80211
stack so all drivers[0] can use it. Ideally, we'll have the well-known
sample rate control algorithm in the net80211 at some point so all
drivers can use it (not just ath).

[0] all drivers that do rate control in software, that is.

Reviewed by:	bschmidt, thompsa, weyongo
MFC after:	1 months
2010-04-07 15:29:13 +00:00
David Christensen
e1188c28b3 - 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.

MFC after:	2 weeks
2010-04-06 12:44:28 +00:00
Jung-uk Kim
8c8be05f00 Merge ACPICA 20100331 (and four additional upstream patches). 2010-04-02 23:04:31 +00:00
Marius Strobl
bd7e69e4c5 With r205496 in place we should ensure that nargs and nreturns are always
set to sane values as they no longer default to 0, otherwise some OFW
implementation might copy in or out arguments not based on what the actual
function takes but what ever stack garbage nargs and nreturns supply.

Reviewed by:	nwhitehorn
2010-04-02 21:48:27 +00:00
Navdeep Parhar
489ca05be7 Increase response queue size to avoid starvation, add a counter
to track it when it does occur.
2010-04-02 17:50:52 +00:00
Fabien Thomas
1fa7f10bac - 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-02 13:23:49 +00:00
Joel Dahl
d821b5aa40 Fix the gap between mute and lowest possible volume. The es1370 mixer
volumes were incorrectly calculated.

I've tested this with one of my es1370 cards and I can confirm that it
works.

PR:		98167
Submitted by:	Joseph Terner <jtsn@gmx.de>
Approved by:	kib
2010-04-01 11:30:46 +00:00
Jack F Vogel
657c04c3f8 The POLL code was missed in the queue conversion,
change the argument type to igb_rxeof() to the
correct type. Note, any users of POLLING must
be sure and set the number of queues to 1 for
things to work correctly.
2010-03-31 23:24:42 +00:00
Marius Strobl
79c7b7190f Hook the identification LEDs of igb(4), lem(4) and em(4) devices up with
led(4) so they can be lit or f.e. made blink via `echo f2 > /dev/led/em0`
for localization purposes.

Approved by:	jfv
MFC afer:	1 week (after r205869)
2010-03-31 20:43:24 +00:00
Fabien Thomas
0e03140400 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.

MFC after: 3days
2010-03-31 20:00:44 +00:00
Jack F Vogel
772aec19a1 Fix poll handler declaration. 2010-03-31 16:42:22 +00:00
Alexander Motin
9b07950346 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-03-31 07:20:10 +00:00
Navdeep Parhar
97ae3bc359 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.

MFC after:	3 days
2010-03-31 00:27:49 +00:00
Navdeep Parhar
d228596091 Fix signed/unsigned mix-up that allowed txq->in_use to grow beyond txq->size. 2010-03-31 00:26:35 +00:00
Navdeep Parhar
92f61ecb4b Fix tx drop statistics.
MFC after:	3 days
2010-03-31 00:26:02 +00:00
Navdeep Parhar
63122c7e1d Fix build with "nooptions INET"
Requested by:	bz
MFC after:	3 days
2010-03-31 00:24:44 +00:00
Navdeep Parhar
1d609d51f0 Do not attempt to retrieve interrupt information before it is available.
MFC after:	3 days
2010-03-31 00:22:58 +00:00
Navdeep Parhar
83179d3907 Improved PHY EDC settings.
MFC after:	3 days
2010-03-31 00:21:56 +00:00
Navdeep Parhar
a9da6d239c Refresh the firmware version immediately after it is upgraded (or downgraded).
MFC after:	3 days
2010-03-31 00:19:39 +00:00
Matt Jacob
f0b41ca4fc nit: xpt_bus_deregister has to be called with the sim lock held.
MFC after:	1 month
2010-03-30 20:39:57 +00:00
Jack F Vogel
1eadf156c2 fix my clobber of the copyright date :) 2010-03-30 19:54:29 +00:00
Jack F Vogel
9de5aff5b4 Thanks to Michael Tuexen for adding SCTP support for 82599,
also for finding a one character bug that kept TSO from working.

Sometimes with direct attach cables a failure can occur in init,
the old method of calling detach was broken, there is no way to
return an error to the system from init, so I have changed it to
return failure thru the ioctl.

And, have fixed the ALTQ code changes of Max Laier, sorry Max :)
2010-03-30 19:09:18 +00:00
Jack F Vogel
eaa9db2bb6 Fix lint build problem. 2010-03-30 17:05:24 +00:00
Jack F Vogel
8ec87fc514 Update to igb and em:
em revision 7.0.0:
	- Using driver devclass, seperate legacy (pre-pcie) code
	  into a seperate source file. This will at least help
	  protect against regression issues. It compiles along
	  with em, and is transparent to end use, devices in each
	  appear to be 'emX'. When using em in a modular form this
	  also allows the legacy stuff to be defined out.
	- Add tx and rx rings as in igb, in the 82574 this becomes
	  actual multiqueue for the first time (2 queues) while in
	  other PCIE adapters its just make code cleaner.
	- Add RX mbuf handling logic that matches igb, this will
	  eliminate packet drops due to temporary mbuf shortage.

igb revision 1.9.3:
	- Following the ixgbe code, use a new approach in what
	  was called 'get_buf', the routine now has been made
	  independent of rxeof, it now does the update to the
	  engine TDT register, this design allows temporary
	  mbuf resources to become non-critical, not requiring
	  a packet to be discarded, instead it just returns and
	  does not increment the tail pointer.
	- With the above change it was also unnecessary to keep
	  'spare' maps around, since we do not have the discard
	  issue.
	- Performance tweaks and improvements to the code also.

MFC in a week
2010-03-29 23:36:34 +00:00
Jung-uk Kim
4cc5f38e97 Refine r204265. We want the standard VGA palette for packed pixel mode. 2010-03-29 22:41:30 +00:00
Joel Dahl
b40d342195 Start copyright notices with /*- 2010-03-29 20:27:17 +00:00
Warner Losh
751b0fbd01 Cast the bus_size_t to a intmax_t rather than assuming type-punning to
a size_t.  Switch from %z to %j.
2010-03-29 17:26:24 +00:00
Warner Losh
68d9da9140 Cast bus_space_t to a intmax_t and use %j to print it instead of
assuming it is size_t sized and using %z.
2010-03-29 17:25:06 +00:00
Warner Losh
784ae79476 Cast a bus_size_t to a (size_t) to use %zd specifier. Not quite the
right thing to do, but it is in compat code I don't want to sort out
at the moment.
2010-03-29 17:24:23 +00:00
Andrew Thompson
b4eb1a01cf Do not sync cache for the PL2506
PR:		usb/144915
Submitted by:	Monty Hall
2010-03-28 20:09:04 +00:00
Andrew Thompson
9e5d4aec14 Do not swap Apple keys when detecting Apple-FN keyboards.
Reported by:	Steven Noonan
Submitted by:	Hans Petter Selasky
2010-03-28 20:07:08 +00:00
Andrew Thompson
79491ae837 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-03-28 20:04:03 +00:00
Andrew Thompson
4a4bd31b44 Add PCI IDs for two more nForce controllers.
Submitted by:	Dmitry Luhtionov @ gmail.com
2010-03-28 20:02:50 +00:00
Andrew Thompson
208f52dae6 Add a couple of usb product IDs.
Submitted by:	Dmitry Luhtionov @ gmail.com
2010-03-28 20:02:13 +00:00
Justin T. Gibbs
3905e20898 Use standard types in preference to BSD types so that these header files
can be used in applications compiled with only POSIX types visible.

MFC after: 2 weeks
2010-03-28 00:10:09 +00:00
Alexander Motin
42d008a11c Fix lock leakage.
PR:		kern/145081
2010-03-27 15:39:19 +00:00
Jack F Vogel
c00148556a Update the driver to Intel version 2.1.6
- add some new hardware support for 82599
	- Big change to interrupt architecture, it now
	  uses a queue which contains an RX/TX pair as
	  the recipient of the interrupt. This will reduce
	  overall system interrupts/msix usage.
	- Improved RX mbuf handling: the old get_buf routine
	  is no longer synchronized with rxeof, this allows
	  the elimination of packet discards due to mbuf
	  allocation failure.
	- Much simplified and improved AIM code, it now
	  happens in the queue interrupt context and takes
	  into account both the traffic on the RX AND TX
	  side.
	- variety of small tweaks, like ring size, that have
	  been seen as performance improvements.
	- Thanks to those that provided feedback or suggested
	  changes, I hope I've caught all of them.
2010-03-27 00:21:40 +00:00
Matt Jacob
739fd8c533 D'oh- isp_handle_index' logic was reversed (not used in FreeBSD).
MFC after:	1 week
2010-03-26 20:22:18 +00:00
Matt Jacob
670508b16a 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).

MFC after:	1 week
2010-03-26 15:13:31 +00:00
Fabien Thomas
662cf71968 Handling SIGPIPE will cause deadlock/crash.
Return an error immediatly in case of hard shutdown.

MFC after: 3days
2010-03-26 14:35:48 +00:00
Alexander Leidinger
2ac4d1f92f - add some usb devices (scanner, printer, usb storage)
- add quirks for the usb storage

Reviewed by:	hselasky
2010-03-26 11:02:01 +00:00
Alexander Motin
d542863e48 Use last 16 bytes of serial number in metadata instead of first ones,
same as Intel MatrixRAID does.

PR:		kern/124064
2010-03-26 10:18:19 +00:00
Jung-uk Kim
bb6ba5f6b9 Do not penalize correct or correctable VESA mode tables by calling another
VBE function.  Most problems should be corrected by the mode table sanity
check and we only need the paranoid in extremely rare cases.
2010-03-25 17:51:05 +00:00
Pyun YongHyeon
d2b6e9a0bc Use pci_get_max_read_req() and pci_set_max_read_req() to set maximim
read request size.
2010-03-25 17:17:35 +00:00
Jung-uk Kim
c2bce7cc39 Align memory access of 24-bit pixel renderer to word boundary. 2010-03-24 15:40:18 +00:00
Jung-uk Kim
1e161437f8 Teach VGA framebuffer about 8-bit palette format for VESA. 2010-03-24 15:37:47 +00:00
Jung-uk Kim
b266b96af9 Add my copyright here. It seems I have contributed enough code. :-) 2010-03-23 23:19:23 +00:00
Jung-uk Kim
3b56b13e8e Be extremely careful when we determine bytes per scan line information.
First, we compare mode table data against minimum value.  If the mode table
does not make sense, we set the minimum in the mode info.  When we actually
set the mode, we try VESA BIOS function and compare it against the previous
value.  If it makes more sense, update the information.
2010-03-23 23:10:17 +00:00
Jung-uk Kim
51cb3184fd 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.
2010-03-23 22:50:22 +00:00
Jung-uk Kim
5fb3ac06b7 Map entire video memory again. This is a partial backout of r203535.
Although we do not use them all directly, it seems VGA render may access
unmapped memory region and cause kernel panic.
2010-03-23 22:35:52 +00:00
Jung-uk Kim
4d52abfb0c 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.
2010-03-23 22:16:57 +00:00
Xin LI
1fc13a00e8 Add PCI ID for MCS9901's parallel port.
PR:		kern/144713
Submitted by:	gcooper
MFC after:	2 weeks
2010-03-23 20:08:18 +00:00
Nathan Whitehorn
d4bccd63a2 Do not declare the various OFW command buffers static. It does not
appear to be necessary on either sparc64 or powerpc, and is a
concurrency nightmare.

Reviewed by:	marius
2010-03-23 01:09:45 +00:00
Alexander Motin
e67afc40da - 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-21 18:18:58 +00:00
Alexander Motin
b0423064be Add some more codec IDs. 2010-03-21 15:14:21 +00:00
Alexander Motin
f81100fd11 Enable MSI by default for SiI3124. 2010-03-20 04:40:15 +00:00
Warner Losh
30e980f2d1 Add support for the Samsung S3C2xx0 family of ARM SoCs written by
Andrew Turner.  The kernel supports the LN2410SBC evaluation board,
and likely others.  These parts (or similar ones) are in some open
hardware designs for phones.

Submitted by:	Andrew Turner
2010-03-20 03:39:35 +00:00
David Christensen
c8331f5c12 - Added support for 5709S/5716S PHYs.
- Update copyright to 2010.
- Add new debug code for RV2P block.
- Improve output formatting for various debug functions.

MFC after:	2 weeks
2010-03-18 21:00:53 +00:00
David Christensen
b249ff39a4 - Added support for 5709S/5716S PHYs.
Submitted by:	pyunyh
MFC after:	2 weeks
2010-03-18 20:57:57 +00:00
Ed Schouten
ee48488f0b Remove an unneeded variable.
Reported by:	tinderbox
2010-03-18 07:35:20 +00:00
Warner Losh
c0df07cad9 Remove two instances of the evil hack to get the ifnet. mii_ifp is
set early enough that we don't need to do these hacks anymore.
2010-03-17 22:45:53 +00:00
Qing Li
86b330a5f4 Set the device capabilities to include dynamic link-state for
those modern drivers.

Reviewed by:	imp (and suggested by imp)
MFC after:	3 days
2010-03-17 22:12:12 +00:00
Andrew Gallatin
2e08479882 Fix 2 bugs in mxge_attach()
- Don't leak slice resources when mxge_alloc_rings() fails

- Start taskq threads only after we know attach will succeed.  At
  boot time, taskqueue_terminate() will loop infinately, waiting
  for the threads to exit, and hang the system.

Submitted by: Panasas
MFC After: 3 days
2010-03-17 20:13:09 +00:00
Matt Jacob
4ecb1d4aa1 Put gone device timer into a structure tag that can hold more than 32 seconds. Oops.
Untangle some of the confusion about what role means when it's in the FCPARAM/SDPARAM
or isp_fc/isp_spi structures. This fixed a problem about seeing targets appear if you've
turned off autologin and find them, or rather don't, via camcontrol rescan.

MFC after:	1 month
2010-03-17 02:48:14 +00:00
Pyun YongHyeon
f584dfd113 Revert r205090.
It's hard to know when the mail box register write will get flushed to
the hardware and it may take longer.

Pointed out by:	scottl
2010-03-16 17:45:16 +00:00
Attilio Rao
6eafba267e Make the code more readable and compiling on 64-bits arch different
than amd64.

Sponsored by:	Sandvine Incorporated
Submitted by:	emaste
MFC:		2 weeks
X-MFC:		r205160
2010-03-15 14:20:16 +00:00
Pyun YongHyeon
b45923a62d 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
MFC after:	1 week
2010-03-14 23:23:57 +00:00
Attilio Rao
7b90e5ec95 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.
Some simple things (like FIB setup and bound checks) are retrieved
from the Adaptec's driver, but this implementation is quite different
because it does use the normal buffer dmat area for loading segments
and not a special one (like the Adaptec's one does).

Sponsored by:	Sandvine Incorporated
Discussed with:	emaste, scottl
Reviewed by:	emaste, scottl
MFC:		2 weeks
2010-03-14 22:38:18 +00:00
Weongyo Jeong
2fe9b8d454 enables S/W beacon miss handler.
Reported by:	imp
2010-03-14 02:13:11 +00:00
Robert Noland
c5af82e517 Fix build after typo.
Reported by:	Sergey V. Dyatko <sergey.dyatko@gmail.com>
MFC after:	3 days
2010-03-13 18:14:51 +00:00
Robert Noland
b8da61ada5 Add support for Intel Pineview chips, aka IGD
Slightly modified version of the submitted patch.

PR:		143427
Submitted by:	Mamoru Sumida <msumida@mvc.biglobe.ne.jp>
MFC after:	3 days
2010-03-13 11:51:18 +00:00
Randall Stewart
1966e5b5a1 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
MFC after:	2 weeks
2010-03-12 22:58:52 +00:00
Robert Noland
c7bbe8bdaf Add support of Intel Pineview chips, aka IGD.
MFC after:	3 days
2010-03-12 21:34:23 +00:00
Robert Noland
9ccf1d6a0b Add pci ids for Intel Ironlake chipsets.
These behave just like g45 for agp.

Tested by:	Torfinn Ingolfsen

MFC after:	3 days
2010-03-12 19:43:39 +00:00
Pyun YongHyeon
388214e4f2 Implement Rx checksum offloading for Yukon EC, Yukon Ultra,
Yukon FE and Yukon Ultra2. These controllers provide very simple
checksum computation mechanism and it requires additional pseudo
header checksum computation in upper stack. Even though I couldn't
see much performance difference with/without Rx checksum offloading
it may help notebook based controllers.

Actually controller can compute two checksum value by giving
different starting position of checksum computation on received
frame. However, for long time, Marvell's checksum offloading engine
have been known to have several silicon bugs so don't blindly trust
computed partial checksum value. Instead, compute partial checksum
twice by giving the same checksum computation position and compare
the result. If the value is different it's clear indication of
hardware bug. This configuration lose IP checksum offloading
capability but I think it's better to take safe route.
Note, Rx checksum offloading for Yukon XL was still disabled due to
known silicon bug.
2010-03-12 18:41:41 +00:00
Pyun YongHyeon
5e243d9a49 Reorder interrupt handler a bit such that producer/consumer
index of status block is read first before acknowledging the
interrupts. Otherwise bge(4) may get stale status block as
acknowledging an interrupt may yield another status block update.

Reviewed by:	marius
2010-03-12 18:18:04 +00:00