Hasso Tepper [Fri, 30 Nov 2007 08:01:43 +0000 (08:01 +0000)]
Add support for trimmed down version of ATI SB600 AC97 audio
controller.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:59:56 +0000 (07:59 +0000)]
Remap and virtualize mixer controls for HP nx6110 with AD1981B AC97 codec,
unifying master volume control.
* Remap "phout" --> SOUND_MIXER_VOLUME (internal speakers)
* Virtual "vol" --> { "phout", "ogain" (headphone) }
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:57:20 +0000 (07:57 +0000)]
Enable headphone jack-sense for HP nx6100 with AD1981B AC'97 codec,
automuting internal speakers.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:53:53 +0000 (07:53 +0000)]
- Gigabyte G33-S2H fixup, due to the present of multiple competing
codecs. Codec at address 0 seems purely digital, or perhaps an HDMI
interface. Let the driver skip it and continue scanning the codecs
starting with address 2 (Realtek ALC885).
- Trivial headphone / speaker automute fixup for Fujitsu-Siemens
AMILO Si 1848 laptop.
- Trivial headphone / speaker automute fixup for Fujitsu-Siemens
Lifebook S7020D laptop.
- Some smart vendor trying to create interplanetary wormhole by
screwing pci config space during their BIOS update. The side effects
of their failure attempt includes mutilated hardware id, broken
speaker automuting and loosing the entire analog CD connectivity,
thus causing enough collateral damages to collapse the entire
universe. Move along with it.
Please exercise extra cautious when applying BIOS updates.
- Fix no sound issues (on headphones) for Lenovo ThinkCentre A55 due
to global automute table entry which is not applicable for
non-laptops.
- Speaker mute control for HP DC7700 since the front headphone jack
does not generate any interesting unsolicited signal/response.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:48:57 +0000 (07:48 +0000)]
- malloc M_NOWAIT -> M_WAITOK.
- Protect against divide by zero while calculating bus speed due to
possible broken kernel timecounter.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:47:44 +0000 (07:47 +0000)]
- Add codec id for Realtek ALC268.
- Add controller id for Intel 82801I (ICH9).
- MSI support, though commented out due to lack of support in DragonFly.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:41:28 +0000 (07:41 +0000)]
- Merge input/microphone support for ASUS A8N-VMCSM series.
- Defer flushing unsolicited response into taskqueue thread rather
than handle it directly in interrupt handler, since few of its
operations (like measuring/calibrating jack impedance) are quite
expensive.
- Misc. debugging cleanups.
Obtained-from: FreeBSD
Hasso Tepper [Fri, 30 Nov 2007 07:38:39 +0000 (07:38 +0000)]
Fix no-sound issues with ASUS A9T notebook.
Note: The offending quirk should have been made model/codec specific,
but since there were no records / log which model requires it, the quirk
logic had to be inverted (blacklist instead of whitelist).
Obtained-from: FreeBSD
Matthew Dillon [Fri, 30 Nov 2007 00:16:56 +0000 (00:16 +0000)]
HAMMER 9/many - btree removal cases, mount nohistory
Add a 'nohistory' mount option that will cause HAMMER to not retain any
history. This option is primarily for testing of btree removal and hinted
radix tree bitmap frees and reallocations.
Flesh out the btree node removal code. We don't try to rebalance the tree
yet but we do attempt to remove empty nodes.
Add workarounds for a GCC-4 bug involving overflow tests on integers.
Hasso Tepper [Thu, 29 Nov 2007 09:28:38 +0000 (09:28 +0000)]
Add support for Intel 7221's and 845M GMCH controllers.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 03:57:25 +0000 (03:57 +0000)]
Fixing a memory leak in xpt_release_device().
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 03:40:09 +0000 (03:40 +0000)]
Do not initialize path variable with useless value just before
xpt_create_path overwrites it anyway.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 03:31:15 +0000 (03:31 +0000)]
Make sure we look at the correct sub op codes when
deciding whether it's an operation we can perform
via the control device.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 03:10:24 +0000 (03:10 +0000)]
Protect against dividing by zero.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 02:56:42 +0000 (02:56 +0000)]
avoid use after free
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 02:41:21 +0000 (02:41 +0000)]
avoid use after free
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 02:32:43 +0000 (02:32 +0000)]
Fix a problem with the cd(4) driver -- the CAMGETPASSTHRU ioctl wouldn't
succeed if there was no media in the drive.
For now, check the ioctl group to decide whether to check for media or not.
(We only need to check for media on CD-specific ioctls.)
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 01:57:29 +0000 (01:57 +0000)]
Add "report only" functionality to 'camcontrol format', so users can get a
report on the status of a format already running on a drive.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 01:48:15 +0000 (01:48 +0000)]
Fix a place where we were referencing a pointer after it had been freed.
Obtained-from: FreeBSD
Peter Avalos [Thu, 29 Nov 2007 01:32:16 +0000 (01:32 +0000)]
Restore queue depth settings across tag disable events. The system often
disables tag queuing temporarily in order to allow controllers a window
to safely perform transfer negotiation with non-compliant devices. Before
this change, CAM would restore the queue depth to the controller specified
maximum or device quirk level rather than any depth determined by reactions
to QUEUE FULL/BUSY events or an explicit user setting.
During device probe, initialize the flags field for XPT_SCAN_BUS.
The uninitialized value often confused CAM into not bothering to
issue an AC_FOUND_DEVICE async event for new devices. The reason
this bug wasn't reported earlier is that CAM manually announces
devices after the initial system bus scans.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 22:37:05 +0000 (22:37 +0000)]
Try to automatically scan and attach luns for modern storage
which has luns in the 0..1000 range, not 0..7.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 22:27:57 +0000 (22:27 +0000)]
Again, use offsetof() instead of a constant to enhance readability.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 22:21:48 +0000 (22:21 +0000)]
Use offsetof() instead of a hard-coded constant for readability.
Round odd long inquiry lengths up so as to avoid tickling ignore
wide residue bugs in broken parallel SCSI devices running with a
wide transfer negotiation.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 22:16:09 +0000 (22:16 +0000)]
Add necessary data structures and definitions for the 12-byte SCSI
commands READ_FORMAT_CAPACITIES, WRITE_AND_VERIFY, and VERIFY.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 22:11:02 +0000 (22:11 +0000)]
Remove the camnet swi and CAM_PERIPH_NET. It has never been used, and
given that network-over-scsi never really took off, there is little chance
that it will ever be needed.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:55:59 +0000 (21:55 +0000)]
Fix typo in comment.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:45:02 +0000 (21:45 +0000)]
When printing out an unknown sense code we should print it in hex, not
decimal.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:41:41 +0000 (21:41 +0000)]
Sync error messages w/ FreeBSD.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:29:18 +0000 (21:29 +0000)]
Make the module return EOPNOTSUPP for unknown events.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:20:25 +0000 (21:20 +0000)]
Whitespace to make comments more legible.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:12:11 +0000 (21:12 +0000)]
bzero the CCB header in getdevtree() and set the path properly, to
avoid having random garbage in the CCB header.
if the lun isn't specified in a device specifier, it should default to
0, not whatever random data happens to be in the lun variable.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 21:05:00 +0000 (21:05 +0000)]
Compare the *number* of patterns to zero, not the pointer to the patterns.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 20:56:55 +0000 (20:56 +0000)]
Spelling fix in comment.
Obtained-from: FreeBSD
Peter Avalos [Wed, 28 Nov 2007 20:55:37 +0000 (20:55 +0000)]
SS_FATAL|ENXIO rather than SS_RDEF for illegal track mode.
Obtained-from: FreeBSD
Sepherosa Ziehau [Wed, 28 Nov 2007 11:35:40 +0000 (11:35 +0000)]
- Factor out pcie_slotimpl() to check whether PCI Express slot is implemented.
- Add external function to test whether PCI Express slot is implemented; this
external function is sheer wrapper of pcie_slotimpl().
- Rename port type macros.
- Add some comment.
- Disable all hot-plug related interrupts on PCI Express root/downstream port.
Add XXX comment about it.
Reminded-by: joerg@
Sepherosa Ziehau [Tue, 27 Nov 2007 11:15:30 +0000 (11:15 +0000)]
M_MCAST and M_BCAST are set before bridge_input() is executed, so use these
two flags instead of conducting tests for them again.
Sepherosa Ziehau [Tue, 27 Nov 2007 11:06:31 +0000 (11:06 +0000)]
- Move IFF_UP checking to the beginning of ether_input().
- Move ethernet multicast/broadcast destination testing to ether_input(),
before IFF_MONITOR testing.
- Use ETHER_IS_MULTICAST macro to test ethernet multicast/broadcast address.
Obtained-from: FreeBSD
- Nuke no longer needed 'pre_stats' label.
- In ether_input(), assert that the input mbuf contains pkthdr.
Matthew Dillon [Tue, 27 Nov 2007 07:48:52 +0000 (07:48 +0000)]
HAMMER 8/many - A-list, B-Tree fixes. As-of queries
Fix numerous bugs in the A-list and B-Tree code, and a few other
calculations. The maximum volume size had to be reduced to 8192 TB due
to an overflow in the A-list radix calculation.
Implement as-of name lookups using an @@<delta_seconds_old> name extension.
This is temporary. Implelment as-of mounts.
Matthew Dillon [Tue, 27 Nov 2007 07:44:38 +0000 (07:44 +0000)]
Make fixes to the A-list initialization and properly allocate records
from the end of the cluster backwards.
Matthew Dillon [Mon, 26 Nov 2007 21:39:09 +0000 (21:39 +0000)]
Initialize idx_ldata - a forward iterator for allocating large (16K) data
blocks.
Matthew Dillon [Mon, 26 Nov 2007 21:38:37 +0000 (21:38 +0000)]
HAMMER 7/many - deletions, overwrites, B-Tree work.
Fix numerous tag-ends related to file deletions and overwrites and get the
B-Tree insertion algorithm working properly. Also get the memory cache
squared away, particularly when dealing with temporary files.
Sepherosa Ziehau [Mon, 26 Nov 2007 11:43:09 +0000 (11:43 +0000)]
For ip_lengthcheck():
- Centralize check failure processing.
- Set the passed in mbuf pointer to NULL, if check fails, so that callers won't
need to do that.
Sepherosa Ziehau [Mon, 26 Nov 2007 11:05:58 +0000 (11:05 +0000)]
Use m_freem() instead of m_free()
Sepherosa Ziehau [Mon, 26 Nov 2007 10:55:42 +0000 (10:55 +0000)]
Use m_freem() to free the whole mbuf chain.
Confirmed-by: hsu@
Hasso Tepper [Mon, 26 Nov 2007 10:52:33 +0000 (10:52 +0000)]
Allow for any baud rate within a range rather than having a fixed list of
rates.
Obtained-from: OpenBSD
Matthew Dillon [Mon, 26 Nov 2007 05:03:11 +0000 (05:03 +0000)]
HAMMER 6/many - memory->disk flush, single-cluster sync to disk, more vnops.
Get most operations within a single 64M cluster working. There are still
numerous issues with the B-Tree algorithms so readbacks generate bad data at
the moment.
Matthew Dillon [Mon, 26 Nov 2007 04:14:01 +0000 (04:14 +0000)]
Catch vkernel divide-by-0 traps a bit earlier so they are reported properly.
Matthew Dillon [Mon, 26 Nov 2007 03:57:58 +0000 (03:57 +0000)]
Drop into DDB if the vkernel hits a floting point exception (SIGFPE).
Peter Avalos [Mon, 26 Nov 2007 02:50:04 +0000 (02:50 +0000)]
Don't be so chatty when performing manual sense.
Obtained-from: FreeBSD
Peter Avalos [Mon, 26 Nov 2007 02:24:49 +0000 (02:24 +0000)]
In camperiphdone(), make sure we check for fatal errors and bail out
instead of retrying them blindly.
Obtained-from: FreeBSD
Peter Avalos [Mon, 26 Nov 2007 01:08:42 +0000 (01:08 +0000)]
(camperiphdone): When the cam_periph layer performs sense recovery,
completion of recovery is indicated by positioning the CAM_AUTOSNS_VALID
bit in the status field of the CCB, not in the flags field.
This fixes an endless loop of sense recovery actions.
Obtained-from: FreeBSD
Peter Avalos [Mon, 26 Nov 2007 00:40:08 +0000 (00:40 +0000)]
Only set single initiator buffered mode if we've recorded in our softc
that we should set it.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 18:32:29 +0000 (18:32 +0000)]
Minor debug output changes.
Also, the previous fallthrough was not intentional, so move the code
around to perform correctly.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 18:14:26 +0000 (18:14 +0000)]
Remove unused variables.
Remove break after return.
Add XXX comment where intent is unclear.
Obtained-from: FreeBSD
Sascha Wildner [Sun, 25 Nov 2007 18:10:07 +0000 (18:10 +0000)]
Fix some mis-usages of NULL.
Peter Avalos [Sun, 25 Nov 2007 18:03:43 +0000 (18:03 +0000)]
Remove unused variable.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 17:59:22 +0000 (17:59 +0000)]
Use symbolic constants instead of "4".
Use arrays instead of relying on struct packing.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 17:09:06 +0000 (17:09 +0000)]
Don't use return(foo(...)); in a function returning void.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 16:49:48 +0000 (16:49 +0000)]
Remove unused ioctl routine.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 15:10:30 +0000 (15:10 +0000)]
Merge from vendor branch LESS:
Import less-416:
Fix crash when searching text with invalid UTF-8 sequences.
Peter Avalos [Sun, 25 Nov 2007 15:10:30 +0000 (15:10 +0000)]
Import less-416:
Fix crash when searching text with invalid UTF-8 sequences.
Sascha Wildner [Sun, 25 Nov 2007 14:48:30 +0000 (14:48 +0000)]
Remove (now) bogus prototype.
Sascha Wildner [Sun, 25 Nov 2007 14:33:02 +0000 (14:33 +0000)]
* Add prototype for callrpc()
* Fix function type for callrpc() in rpc(3)
* Raise WARNS to 2 for librpcsvc, fix warnings and ansify
Sepherosa Ziehau [Sun, 25 Nov 2007 10:31:41 +0000 (10:31 +0000)]
- Cache PCI-X capability PTR.
- Add IVARs to read PCI Express and PCI-X capability PTR.
- Add convenient functions to test whether a device is PCI Express based
or is PCI-X based.
Peter Avalos [Sun, 25 Nov 2007 04:42:38 +0000 (04:42 +0000)]
Don't use the devstat->busy_count for state decisions in the device
drivers. Doing so imposes atomicity and locking constraints.
Obtained-from: FreeBSD
Sepherosa Ziehau [Sun, 25 Nov 2007 04:08:42 +0000 (04:08 +0000)]
Cache following information for PCI Express capability:
- Capability PTR
- PCI Express Capabilities register
- Slot Capabilities register
Print them if 'bootverbose'.
Above information should be enough for identifying PCI Express hot-plug
support, e.g. ExpressCard
Peter Avalos [Sun, 25 Nov 2007 02:21:30 +0000 (02:21 +0000)]
Fix typo.
Obtained-from: FreeBSD
Sepherosa Ziehau [Sun, 25 Nov 2007 02:17:56 +0000 (02:17 +0000)]
Factor out a function to read power management capability
Peter Avalos [Sun, 25 Nov 2007 01:30:55 +0000 (01:30 +0000)]
panic() shouldn't have a \n.
Obtained-from: FreeBSD
Peter Avalos [Sun, 25 Nov 2007 01:29:57 +0000 (01:29 +0000)]
panic() shouldn't have a \n.
Obtained-from: FreeBSD
Sascha Wildner [Sun, 25 Nov 2007 01:28:24 +0000 (01:28 +0000)]
Add some #include's to fix 'implicit declaration of...' warnings.
Peter Avalos [Sun, 25 Nov 2007 01:21:42 +0000 (01:21 +0000)]
Use parens for arguments in macro.
Obtained-from: FreeBSD
Sascha Wildner [Sun, 25 Nov 2007 00:13:28 +0000 (00:13 +0000)]
Adjust acpi.c and bios.c to use kfreeenv()/ktestenv() and remove the
freeenv/testenv compatibility defines.
Peter Avalos [Sat, 24 Nov 2007 23:12:51 +0000 (23:12 +0000)]
Be consistent about "static" functions: if the function is marked
static in its prototype, mark it static at the definition too.
Obtained-from: FreeBSD
Sascha Wildner [Sat, 24 Nov 2007 23:12:36 +0000 (23:12 +0000)]
Remove old prototypes of consinit() (which was removed along with pcvt(4))
and usrinfoinit() (which was removed from FreeBSD before we forked).
Peter Avalos [Sat, 24 Nov 2007 19:57:01 +0000 (19:57 +0000)]
A SCSI_DELAY of zero is a legitimate value to have in some cases.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 19:41:39 +0000 (19:41 +0000)]
Don't call dkpart() just to print the result, it is constant.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 19:22:51 +0000 (19:22 +0000)]
Document camcontrol load.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 19:19:43 +0000 (19:19 +0000)]
Make SCSI_DELAY setable at boot time and runtime via the
kern.cam.scsi_delay tunable/sysctl.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 18:55:27 +0000 (18:55 +0000)]
Add some \n's to kprintf()s.
Obtained-from: FreeBSD
Sascha Wildner [Sat, 24 Nov 2007 18:53:15 +0000 (18:53 +0000)]
s/Conatainer/Container/
Taken-from: FreeBSD
Sascha Wildner [Sat, 24 Nov 2007 18:47:07 +0000 (18:47 +0000)]
Use .An
Sepherosa Ziehau [Sat, 24 Nov 2007 13:21:32 +0000 (13:21 +0000)]
Rename pci_read_extcap() to pci_read_capabilities() to avoid possible
confusion between PCI "capability" and PCI Express "extended capability".
Sepherosa Ziehau [Sat, 24 Nov 2007 13:04:16 +0000 (13:04 +0000)]
White space
Sepherosa Ziehau [Sat, 24 Nov 2007 06:47:37 +0000 (06:47 +0000)]
- Factor out pci_fixup_nextptr().
- The checking about whether 'data' register of power management capability
exists or not is incorrect, according to PCI local bus spec:
1) Next capability is not necessarily at a higher location than the
current capability.
2) Two capabilities are not necessarily consecutive.
Set it to 0 for now (it is not used at all) and add comment about a possible
way to test the existence of this register in power management capability.
- Clean up pci_read_extcap() a little bit.
Peter Avalos [Sat, 24 Nov 2007 05:18:35 +0000 (05:18 +0000)]
If we boot verbose, then print out 'interesting' CAM errors that otherwise
would hide problems (like Selection Timeout).
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 03:48:31 +0000 (03:48 +0000)]
Add REPORT LUNS basic infrastructure.
Obtained-from: FreeBSD
Sepherosa Ziehau [Sat, 24 Nov 2007 03:42:24 +0000 (03:42 +0000)]
- Push PCI status "capability list bit" checking down into pci_read_extcap().
- Mask bottom two bits of "next pointer", add comment about it.
- If "next pointer" is not 0 and is less than 0x40 (standard PCI configuration
space size), then it is illegal, bark out loudly and terminate the capability
iteration.
Peter Avalos [Sat, 24 Nov 2007 03:13:03 +0000 (03:13 +0000)]
Do not +1 with MAXPATHLEN.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 03:09:57 +0000 (03:09 +0000)]
Remove unused variable.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 02:36:13 +0000 (02:36 +0000)]
Remove extra semicolon.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 02:29:24 +0000 (02:29 +0000)]
Remove comment that doesn't seem to apply any more.
Peter Avalos [Sat, 24 Nov 2007 02:08:50 +0000 (02:08 +0000)]
Staticise a debugging variable.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 01:53:50 +0000 (01:53 +0000)]
Const'ify the CDB format string passed to the CDB parsing routines
(csio_decode_visit() and family).
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 01:38:46 +0000 (01:38 +0000)]
Fix breakage in 'camcontrol defects' introduced in last commit.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Nov 2007 01:31:39 +0000 (01:31 +0000)]
Be very generous with timeouts for synchronize cache. We may wait a very long
time in the cases where it really sends the drive out to lunch, but it also
allows us to catch very weird edge cases of strange drives that might take
a very long time.
Obtained-from: FreeBSD
Simon Schubert [Sat, 24 Nov 2007 00:55:10 +0000 (00:55 +0000)]
Add llabs(3).
Simon Schubert [Sat, 24 Nov 2007 00:54:25 +0000 (00:54 +0000)]
Add llabs(3).
Obtained-From: FreeBSD
Sascha Wildner [Fri, 23 Nov 2007 23:16:37 +0000 (23:16 +0000)]
Uniformly refer to RFCs as 'RFC xxxx' and not 'RFCxxxx' or 'RFC-xxxx'.
Sascha Wildner [Fri, 23 Nov 2007 23:03:57 +0000 (23:03 +0000)]
Fix a number of typos in defined values (ioctls and others).