Commit graph

19846 commits

Author SHA1 Message Date
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
Alexander Motin
210a19d014 MFC r203528:
Add pci_get|set_max_read_req() helper functions to control maximum PCIe
read request size.
2010-02-19 18:07:51 +00:00
Alexander Motin
c48c2a2389 MFC r203873:
With FBS enabled, we have no idea what command caused timeout.
Implement same logic as in siis(4) - wait for other commands
complete or timeout and then give some more time.
2010-02-19 17:54:03 +00:00
Rebecca Cran
dfbcd90790 MFC r203685:
Document the usfs driver and the NO_SYSCTL_DESCR option, and update the comment
for umass.
Don't include the sysctl description variables in aic7xxx when NO_SYSCTL_DESCR
is used.

Approved by:	rrs (mentor)
2010-02-18 11:07:36 +00:00
Rebecca Cran
82521c1509 MFC r203678:
Rename usb2_ structures and variables to usb_.

Approved by:	rrs (mentor)
2010-02-18 10:59:32 +00:00
Alexander Motin
877380223f MFC r203426:
Disable PHY of unconnected ports when interface power management enabled.
It allows to save a bit more power (about 0.5W on 2 unused ports of ICH8M).
2010-02-14 20:00:21 +00:00
Alexander Motin
3e2fbfe5e6 MFC r203165:
Reset port on disconnect event, to abort any running requests.
2010-02-14 19:59:06 +00:00
Alexander Motin
0129e5cf7a MFC r203123:
Add FIS-based switching support. If controller supports FBS, it allows
several devices beyond Port Multiplier to work simultaneously, substantially
increasing performance.
2010-02-14 19:57:54 +00:00
Alexander Motin
ee22e37df5 MFC r203449:
Implement poll method for atapicam.
It is not perfect, but better then nothing.
2010-02-14 19:56:42 +00:00
Alexander Motin
34cbb135e7 MFC r203347:
NetCell is a PCI hardware RAID without cable and mode setting.
2010-02-14 19:55:41 +00:00
Alexander Motin
dd96528dec MFC r203525:
Report SATA300 chips also as SATA.
2010-02-14 19:54:16 +00:00
Alexander Motin
d2846ca800 MFC r203445:
Report to CAM unit number of underlying ataX bus device, instead of this
atapicamX. It is more apropriate and useful together with "ata" name.
2010-02-14 19:53:09 +00:00
Alexander Motin
929100472e MFC r203376, r203384:
- Give ATA/SATA SIMs info about ATAPI packet size, supported by device.
- Make ATA XPT to reject longer SCSI CDBs then supported by device, or
any SCSI CDBs, if device doesn't support ATAPI.
2010-02-14 19:44:48 +00:00
Alexander Motin
50ae5fde8d MFC r203108:
Large set of CAM improvements:
- Unify bus reset/probe sequence. Whenever bus attached at boot or later,
CAM will automatically reset and scan it. It allows to remove duplicate
code from many drivers.
- Any bus, attached before CAM completed it's boot-time initialization,
will equally join to the process, delaying boot if needed.
- New kern.cam.boot_delay loader tunable should help controllers that
are still unable to register their buses in time (such as slow USB/
PCCard/ CardBus devices), by adding one more event to wait on boot.
- To allow synchronization between different CAM levels, concept of
requests priorities was extended. Priorities now split between several
"run levels". Device can be freezed at specified level, allowing higher
priority requests to pass. For example, no payload requests allowed,
until PMP driver enable port. ATA XPT negotiate transfer parameters,
periph driver configure caching and so on.
- Frozen requests are no more counted by request allocation scheduler.
It fixes deadlocks, when frozen low priority payload requests occupying
slots, required by higher levels to manage theit execution.
- Two last changes were holding proper ATA reinitialization and error
recovery implementation. Now it is done: SATA controllers and Port
Multipliers now implement automatic hot-plug and should correctly
recover from timeouts and bus resets.
- Improve SCSI error recovery for devices on buses without automatic sense
reporting, such as ATAPI or USB. For example, it allows CAM to wait, while
CD drive loads disk, instead of immediately return error status.
- Decapitalize diagnostic messages and make them more readable and sensible.
- Teach PMP driver to limit maximum speed on fan-out ports.
- Make boot wait for PMP scan completes, and make rescan more reliable.
- Fix pass driver, to return CCB to user level in case of error.
- Increase number of retries in cd driver, as device may return several UAs.
2010-02-14 19:38:27 +00:00
Alexander Motin
9290c85988 MFC r203030:
Add support for SATA part of Marvell 88SE912x controllers to ahci(4).
Limit early revisions from 6Gb/s to 3Gb/s by default, or they negotiate
only 1.5Gb/s, when 3Gb/s devices connected.

Add dummy driver for PATA part of these controllers, preventing generic
driver attach them. It causes system freeze when SATA controller used after
PATA was touched.
2010-02-14 19:28:45 +00:00
Alexander Motin
82368eed51 MFC r202699:
Make ata_getrev() an optional method by implementing ata_null_getrev().
This fixes a bogus '???' boot message on Cambria boards with a CompactFlash
card.
2010-02-14 19:23:05 +00:00
Alexander Motin
20bbf2de82 MFp4:
After last running command completed, give commands in timeout state
second time.
2010-02-14 12:24:12 +00:00
Alexander Motin
6228bcd1ee MFC r203524:
When hacking INQUIRY result, make sure that it is right INQUIRY and there
is enough of result to hack.
2010-02-14 12:04:25 +00:00
Alexander Motin
9a1be4e8d1 MFC r203489:
Return CAM_RELEASE_SIMQ flag only when it is needed, when SIM really
was frozen before and should be released.
2010-02-14 12:03:04 +00:00
Alexander Motin
66a894f383 MFC r203484:
Do not release device, when changing number of openings.
2010-02-14 12:00:23 +00:00
Alexander Motin
1ea9446171 MFC r202150, r202170:
Make OSS_GETVERSION ioctl really work. It has 'M' group, not 'P',
as different nearby ones, and was grabbed by MIXER_xxx() handler.

While there, replace '(cmd & MIXER_xxx(0)) == MIXER_xxx(0)' expressions
with more correct '(cmd & ~0xff) == MIXER_xxx(0)'. Use of bit operations
to compare numeric fields doesn't looks sane.
2010-02-14 11:53:51 +00:00
Gavin Atkinson
3390bcf4cf Merge r200530 from head:
Don't panic on failure to attach if we fail before or during the
  if_alloc() of ifp.

  This fixes the panic reported in the PRs, but not the attach failure.

PR:		kern/139079, kern/143874
Tested by:	Steven Noonan <steven uplinklabs.net>
Reviewed by:	thompsa
2010-02-14 09:34:27 +00:00
Matt Jacob
9090fd5bfa Pick up some changes the the MFC missed. 2010-02-12 00:47:23 +00:00
Matt Jacob
7733cf8fff MFC a number of changes from head for ISP (203478,203463,203444,202418,201758,
201408,201325,200089,198822,197373,197372,197214,196162). Since one of those
changes was a semicolon cleanup from somebody else, this touches a lot more.
2010-02-11 18:34:06 +00:00
Andriy Gapon
d5f8ba9274 MFC r203062: acpi_hpet: correctly get number of timers in a timer block 2010-02-10 09:46:31 +00:00