Commit Graph

18447 Commits

Author SHA1 Message Date
thompsa
f18e7859f5 Switch over to usbdevs.h generated at compile time. 2009-02-18 06:33:10 +00:00
emaste
f48f569733 Use outbound message register 0 instead of mailbox 7 in
aac_{rx,rkt}_get_fwstatus, as done in Adaptec's vendor driver as well as
the Linux drivers.

Submitted by:   jkim, from Adaptec's driver
2009-02-18 01:36:20 +00:00
sam
efbc0075d9 fix whitespace 2009-02-17 23:43:17 +00:00
mav
62a9b004fc Adaptively increase control command timeout when drive is spun down.
This should fix, for example, cache flush timeout error on shutdown, if
some drives are not mounted.

PR:		kern/111023
2009-02-17 23:20:04 +00:00
gallatin
0df1aedf21 Fix cut/paste error in previous commit and use the
correct value for SFP+ reserved media type.

MFC after:  1 week
2009-02-17 22:25:19 +00:00
gallatin
6bae60e426 Better support for recent Myricom 10GbE NICs
- Update to firmware 1.4.39 for dual-chip NIC (10G-PCIE2-xxx)
  support, and SFP+ i2c support

- Identify newer "B" NICs (10G-PCIEx-8B-x) correctly, rather than
  mis-identifying them as "A" NICs (cosmetic only)

- Identify the IFM_10G_LRM ifmedia type, where applicable.

- Identify ifmedia types for SFP+ based NICs

- Update copyright

Sponsored by: Myricom
MFC after: 1 week
2009-02-17 22:15:58 +00:00
mav
1bb2d9bb68 Remove useless return, that left from previous commit. 2009-02-17 21:35:17 +00:00
mav
9d001280ae ata_interrupt() does not need to return anything. It is not it's business
to report request completion, expecially when it is not reliable.
2009-02-17 21:17:21 +00:00
sbruno
a834b964e0 Introduce 1394a-2000 extended PHY Self ID packets.
Deprecate unused phy_delay Self ID field as it was removed
by 1394a-2000.

Attempt to parse extended Self ID PHY packets if they are detected

Reviewed by:	scottl (mentor)
MFC after:	2 weeks
2009-02-17 19:37:04 +00:00
mav
f6a3e9dd83 Add kernel dumping support. Works fine with sdhci controller driver. 2009-02-17 19:17:25 +00:00
mav
bf68918fb6 Add support for interruptless kernel dumping. 2009-02-17 19:12:15 +00:00
sbruno
64b4392c37 Simplify some debugging messages and try to consolodate some of the more
interesting conditional printf's into single device_printf's

Change a couple of variable names so that I don't have to trace what they
acutally do anymore.

Enable the display of the Self ID PHY packet if firewire_debug > 0
Reviewed by:	scottl(mentor)
MFC after:	2 weeks
2009-02-17 17:46:43 +00:00
raj
d55c3e0672 tsec(4) cosmetics. 2009-02-17 16:02:45 +00:00
raj
bcfd84f152 tsec(4): Always try to resume the receiver.
This helps recover from RX stall under heavy loads.

Submitted by:	Piotr Ziecik kosmo ! semihalf dot com
2009-02-17 15:59:27 +00:00
raj
1166819402 tsec(4): do not clear interrupt events register before use.
Prior to this fix, IEVENT register was always cleared before calling
tsec_error_intr_locked(), which prevented error recovery actions from
happening with polling enabled (and could lead to serious problems, including
controller hang).

Submitted by:	Marcin Ligenza marcinl ! pacomp dot com dot pl
2009-02-17 15:47:13 +00:00
raj
3fe0ff5e6c Handle mbuf exhaustion scenario in tsec(4).
Without this fix the system would hang under heavy networking load.

Submitted by:	Leon Theunissen leon ! parsec dot co dot za
2009-02-17 15:39:16 +00:00
raj
fbfe9d5998 tsec(4) style improvements and clean-up. 2009-02-17 14:59:47 +00:00
raj
fe8e0abcf5 Additional features for the tsec(4) Ethernet driver.
- interrupt coalescing
  - polling
  - jumbo frames
  - multicast
  - VLAN tagging

The enhanced version of the chip (eTSEC) can also take advantage of:

  - TCP/IP checksum calculation h/w offloading

Obtained from:	Freescale, Semihalf
2009-02-17 14:57:05 +00:00
sbruno
925ee6b32d Synopsis:
If speed of link between two devices is slower than the reported max
speed of both endpoints, the current driver will fail and be unable to
negotiate.

Summary:
Test negotiated speed by reading the CSRROM into a dummy variable.
If that read fails, decrement our speed and retry.  If all else fails,
go to lowest speed possible(0).

Report speed to the user.
Add display of the Bus Info Block when debug.firewire_debug > 1
Support the Bus Info Block(1394a-2000) method of speed detection.

I also should note that I am moving "hold_count" to 0 for future
releases.

This variable determines how many bus resets to "hold" a removed
firewire device before deletion.  I don't feel this is useful and will
probably drop support for this sysctl in the future.

Reviewed by:    scottl(mentor)
MFC after:      2 weeks
2009-02-17 04:08:08 +00:00
imp
94a321d142 Hold off root mounting until we've gone through the loop of our thread
almost once.  After we've configured the devices that were present the
first time through, then we know that we're done.  If the device has
other devices that are deferred, then it must do a similar dance.
This catches both PC Cards and CardBus cards.
2009-02-17 02:14:04 +00:00
mav
84129dcd67 Make core dumping to ad not to freeze even if interrupts, not disabled
for some reason, stealing our events.
2009-02-16 22:25:39 +00:00
ed
0b1127509e The streams ptm code is pretty awful and likely incorrect. I don't know
anything about streams, so I'm not going to fix it. Just a small comment
to redirect folks to posix_openpt().
2009-02-16 20:12:28 +00:00
mav
2faabf52c8 Give atapci knowledge about set of implemented AHCI ports. It is possible
to not allocate them after the recent ata channels enumeration changes.
It allows to save some resources, not bother user with unexisting hardware
and not check unimplemented ports status on every interrupt.
2009-02-16 19:10:07 +00:00
thompsa
19dd2e95bc Make uslcom compile, cut'n'paste errors from uplcom. 2009-02-15 23:38:58 +00:00
rwatson
206de182c9 Remove debug.ce.mpsafenet: we no longer support running the network
stack with conditional Giant acquisition, and IFF_NEEDSGIANT will
be removed in the near future.
2009-02-15 23:29:13 +00:00
rwatson
30dc79114a Remove debug.ctau.mpsafenet: we no longer support running the network
stack with conditional Giant acquisition, and IFF_NEEDSGIANT will
be removed in the near future.
2009-02-15 23:21:52 +00:00
rwatson
7f5a38d86d Remove debug.cp.mpsafenet: we no longer support running the network
stack with conditional Giant acquisition, and IFF_NEEDSGIANT will
be removed in the near future.
2009-02-15 23:18:29 +00:00
mav
19b1b2f405 Remove unneeded AND operation. We have already checked that bit is set. 2009-02-15 21:54:16 +00:00
mav
48f397827d Enable MSI support by default. Still can be disabled using device.hints. 2009-02-15 21:17:21 +00:00
mav
9f9ad318fe Add initial single-vector MSI support into atapci driver.
Works fine with AHCI and theoretically other MSI capable devices.

At this moment support disabled by default. To enable it, set
"hint.atapci.X.msi=1" device hint.
2009-02-15 20:37:55 +00:00
mav
1685dd7b40 Add workaround for some ATI chips, failing to soft-reset
when port multiplicator supported, but absent.
2009-02-15 16:05:48 +00:00
mav
d0e411faf1 Add SATA and PCI Advanced Features capabilities constants. 2009-02-15 09:49:21 +00:00
thompsa
8152f4da8d MFp4 //depot/projects/usb@157699
Add two new functions to the libusb20 API and required kernel ioctls.

- libusb20_dev_get_iface_desc
- libusb20_dev_get_info

New command to usbconfig, "show_ifdrv", which will print out the kernel driver
attached to the given USB device aswell.

See "man libusb20" for a detailed description.

Some minor style corrections long-line wrapping.

Submitted by:	Hans Petter Selasky
2009-02-14 23:20:00 +00:00
mav
f35949f29c Tunes to AHCI reset sequences:
- specification claims that 1 second is just a maximum controller reset time;
implement controller reset properly to save almost 1 second of boot, and
about half second of resume time;
- enable channel interrupts only after channel status reset to fix duplicate
device creation on resume due to unwanted device connection event;
- as described in specification, wait for disk ready status after channel
power-up; it is not so important when disk already touched by BIOS, but
solves device not ready problems on resume and probably some other cases.
- uncomment channel stop/start on soft-reset as it is declared mandatory by
specification; it was commented due to some random drive detection problems
on VIA and JMicron controllers, but I hope it is fixed by previous point.
2009-02-14 23:02:59 +00:00
thompsa
fd0c89ec85 - ieee80211_chan2ieee returns an int
- avoid null deref in detach
- update pause timings

Obtained from:	//depot/projects/usb
2009-02-14 22:29:54 +00:00
mav
200ea85159 DEVICE_PROBE(9) claims that we must not initialize softc on probe stage.
Move channel softc initialization from ata_XXX_probe() to ata_XXX_attach().

Instead of calculating ata channel number as position in child device list,
pass it's real number directly from controller probe routine using ivars.
It is simpler and IMHO more correct.
2009-02-14 21:54:44 +00:00
ed
900dd11db2 Remove unneeded execute-permissions from the USB2 device node.
Giving a charactere device execute permissions doesn't have any use.
Right now there isn't a single device node in /dev that has it, except
the USB2 device node, so remove it.

Approved by:	hps, thompsa
2009-02-14 19:46:28 +00:00
rrs
d22f1350d2 This commit fixes the issue with alias_sctp.c. No
longer do we require SCTP to be in the kernel for the
lib to be able to handle SCTP. We do this by moving
the CRC32c checksum into libkern/crc32.c and then adjusting
all routines to use the common methods. Note that this
will improve the performance of iSCSI since they were
using the old single 256 bit table lookup versus the
slicing 8 algorithm (which gives a 4x speed up in
CRC32c calculation :-D)

Reviewed by:rwatson, gnn, scottl, paolo
MFC after:	4 week? (assuming we MFC the alias_sctp changes)
2009-02-14 11:34:57 +00:00
thompsa
5537532d1b Since r188030 the error value for attach is returned, this means if kbdmux
fails to attach (possibly due to disable hints) then we get called back for
unload. Correctly handle the case where the keyboard isnt found rather than
calling panic.
2009-02-13 23:36:08 +00:00
thompsa
b0881f5ec6 - ieee80211_chan2ieee returns an int
- set ic_update_promisc to the same callback as mcast
- avoid null deref in zyd_detach

Obtained from:	//depot/projects/usb
2009-02-13 21:45:19 +00:00
thompsa
4324b99ee6 MFp4 //depot/projects/usb; 157501, 157608, 157609
- Make usb2_transfer_pending() part of the USB core header file.
 - Make usb2_transfer_pending() NULL safe.
 - Make sure that USB process functions return if the process has been drained.
 - Remove two unused functions.

Submitted by:   Hans Petter Selasky
2009-02-13 20:57:43 +00:00
n_hibma
da8f4523b8 Add support for CMOTECH devices (not sure whether this is the correct
name) (not sure whether this works correctly, but should be close).

Fix the stub attach phase for some Novatel cards. They expect the CSW
(repsonse to CBW, SCSI eject command) to be fetched before switching to
modem mode.

MFC after:	2 weeks
2009-02-13 19:49:51 +00:00
thompsa
046c5b5698 Add the Novatel U760. 2009-02-13 18:45:36 +00:00
sbruno
482df37a9e Update the Self ID structure to conform to 1394a-2000.
Delete the unused defines.

Reviewed by:	scottl
2009-02-13 17:45:09 +00:00
sbruno
8c071e7985 Remove redundant while () from loop.
Submitted by:	 Ganbold <ganbold@micom.mng.net>
Reviewed by:	 scottl
2009-02-13 17:44:07 +00:00
sam
864c05817a remove references to ic_stats
Spotted by:	Lucius Windschuh <lwindschuh@googlemail.com>
2009-02-13 16:17:05 +00:00
sam
73d051056b add SIOCZATHSTATS ioctl to zero driver statistics 2009-02-13 05:38:03 +00:00
sam
ca6a964ab3 add driver stat to count tx drops due to insufficient frag buffers 2009-02-13 05:30:22 +00:00
thompsa
ee4191ddcf Restore some of the link handling code that was inadvertently removed in
r188412, this broke the GU-1000T adapters.

Submitted by:	yongari
Pointy hat:	me
2009-02-13 03:38:08 +00:00
thompsa
34849d644c Add module dependency on miibus.
Submitted by:	yongari
2009-02-13 02:48:32 +00:00