Commit Graph

16000 Commits

Author SHA1 Message Date
marcel
6a8f75121a Add method enabled() to the SCC interface. This method can be used
by driver backends to mark individual channels as enabled or not.
The default implementation of this method always mark channels as
enabled.
This method is currently not used, but is added with the PowerQUICC
in mind where the 2nd SCC channel can be disabled.
2007-03-28 18:05:17 +00:00
mjacob
625c677e93 Don't derference a pointer before setting it.
Very Pointy Dunce Cap T o: me.
Submitted by:	Marcel
MFC after:	3 days
2007-03-28 16:34:11 +00:00
marcel
e5b7fa1b9f Allow the range of a SCC class to be 0. This gives all child
devices the same (overlapping) I/O range. This is useful for
embedded communications controllers like the CPM of various
models of the PowerQUICC.
2007-03-28 06:45:33 +00:00
n_hibma
2e4f7510d9 Revisit the watchdogs: Resetting the error to EINVAL after failing to set the
watchdog might hide the succesful arming of an earlier one. Accept that on
failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is
returned instead of the more appropriate EINVAL.

MFC after:	3 days
2007-03-27 21:03:37 +00:00
julian
dd34a303ed Don't assume the run bit is still set after a suspend.
Submitted by: Andrea Bittau ( adotbittauatcsdotucldotacdotuk)
MFC After: 1 week
2007-03-27 18:55:06 +00:00
gallatin
a8be3c5db7 Fix a bug which could lead to receive side lockup when WC is disabled.
When submitting rx buffers and not using WC fifo, always replace the
invalid DMA address with the real one, otherwise allocation failures
could lead to the invalid DMA address being given to the NIC, and
that would cause the receive side to lockup.
2007-03-27 15:55:32 +00:00
jkim
4115ef0fbb - Use '*h' instead of 'struct acpi_spinlock' for sizeof[1].
- Add a missing 'else' for 'if'[2].

Requested by:	njl[1]
Submitted by:	njl[2]
2007-03-26 23:04:02 +00:00
jkim
85b6f9c7d1 Correct ACPI semaphore function parameters. 2007-03-26 21:56:35 +00:00
jkim
1362b6bc32 Free the handle, not the lock. Pointy hat to me. 2007-03-26 21:36:31 +00:00
jkim
7765bdc45e Correct ACPI spinlock function parameters and use known ACPI spinlock names. 2007-03-26 21:23:23 +00:00
jhb
0236cc99b7 Change the VPD code to read the VPD data on-demand when a driver asks for
it via pci_get_vpd_*() rather than always reading it for each device during
boot.  I've left the tunable so that it can still be turned off if a device
driver causes a lockup via a query to a broken device, but devices whose
drivers do not use VPD (the vast majority) should no longer result in
lockups during boot, and most folks should not need to tweak the tunable
now.

Tested on:	bge(4)
Silence from:	jmg
2007-03-26 20:18:52 +00:00
njl
764339998b Use a unique name for each mutex now that acpi-ca is creating more than
one (hardware & global lock).  This should address witness complaints that
a duplicate mutex is being acquired.  Be sure to free the mutex to fix a
potential memory leak.

MFC after:	3 days
2007-03-26 19:38:28 +00:00
rik
7c1dc0e01b Remove ancient preprocessor code. Fix module compilation.
Requested by:	n_hibma
2007-03-25 20:21:31 +00:00
le
e39860cf02 Drop the ipw softc lock before calling back into net80211, fixing a
LOR/deadlock.

Tested by:   Denis Shaposhnikov <dsh_AT_vlink.ru>, le@
LOR id:      205
MFC in:      3 days
2007-03-24 18:53:33 +00:00
maxim
267fc9425b o A quirk for Sagem USB-Serial controller.
PR:		usb/109613
Submitted by:	Mayr Gerald
MFC after:	1 month
2007-03-24 09:27:58 +00:00
maxim
7175ae4af1 o Add several CDMA-2000 terminals.
PR:		usb/109838
Submitted by:	R.Mahmatkhanov
MFC after:	1 month
2007-03-24 09:25:56 +00:00
kmacy
758c270b77 bus_size_t is a bad cross-architectural type with respect to printf, use uint32_t instead 2007-03-24 04:28:33 +00:00
imp
8c61b1c8ef New device: icee. Generic i2c eeprom driver. 2007-03-23 23:10:35 +00:00
imp
88cdc2595d MFp4: Make the iicbus fully hinted. We no longer automatically add
some devices (and not others).  To get instances onto the iicbus, one
now needs hints or an identify routine.  We also do not probe the bus
for devices because many iic devices cannot be safely probed (and when
they can, the probe order turns out to be somewhat difficult to get
right).

# I'm not 100% sure that the iicsmb removal is right.  Please contact me if
# this causes difficulty.
2007-03-23 23:08:28 +00:00
imp
f4e909ceca MFp4: Make iicbus_trasnfer_gen suitable for bridge drivers. Use it in the
bitbang bridge.
2007-03-23 23:03:54 +00:00
imp
75d8168eb3 MFp4: Create an ivar for each iic device on the iicbus. This ivar
holds the device's address.
2007-03-23 23:02:33 +00:00
rodrigc
12863b36f7 Switch to ANSI function declarations. 2007-03-23 22:48:44 +00:00
kmacy
eeef57ea74 - Increase coalesce_nsecs
- commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
2007-03-23 22:03:55 +00:00
kmacy
109b79fc3c commit missed change 2007-03-23 22:02:11 +00:00
kmacy
4bfdd681e7 Check PCI-e link width to avoid foot shooting with 4x links
MFC after: 3 days
2007-03-23 20:18:07 +00:00
jhb
55f67dd8da - Fix exca_(io|mem)_map() to return proper errno values.
- Change exca_activate_resource() to call BUS_ACTIVATE_RESOURCE() before
  calling exca_(io|mem)_map() since the latter use rman_get_bus(tag|handle)
  and the recent changes to nexus(4) mean that you need to activate a
  resource before reading the bus tag and handle.  This was true before,
  but now the nexus(4) drivers on x86 and ia64 are more forceful about it.

Reviewed by:	imp
2007-03-23 17:15:07 +00:00
marcel
9c3e35760f Pass the RID from the bus frontends to the core probe function.
Currently all RIDs are 0, but for PCI devices this typically
isn't the case. This change is made with future PCI support in
mind.
2007-03-22 23:45:25 +00:00
mjacob
6f755d6db1 MFP4: a) Some constification from NetBSD (gcc 4.1.2)
b) Split default param fetching/setting into scsi and fibre functions
and retry the fibre fetch more than once.

MFC after:	1 week
2007-03-22 23:38:32 +00:00
jkim
c06098a406 Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
jhb
f372b09e82 Fix an off-by-one error in iwi_init_fw_dma(). It didn't reuse the existing
DMA memory for a firmware load if it was the exact size needed, thus in the
common case the driver was constantly free'ing and reallocating the DMA
buffer and it would eventually begin to fail.  With this fix, iwi0 reuses
the same buffer the entire time and no longer fails to load the firmware
after the machine has been up for a while.

MFC after:	1 week
2007-03-21 18:40:31 +00:00
ariff
279a028838 Memory leak killing spree, mostly bus_dma(9) related. 2007-03-21 18:17:03 +00:00
kmacy
0fdeee32de move call to t3_prep_adapter earlier in attach before msi-x setup occurs
this works around the fact that pci_config_{save,restore} doesn't adequately
restore state for msi-x

MFC after: 3 days
2007-03-21 16:40:37 +00:00
jhb
6a79d7c311 Change acpi's handling of suballocating system resources to be a little
simpler.  It now can just use rman_is_region_manager() during
acpi_release_resource() to see if the the resource is suballocated from
a system resource.  Also, the driver no longer needs MD knowledge about
how to setup bus space tags and handles when doing a suballocation, but
can simply rely on bus_activate_resource() in the parent setting all that
up.
2007-03-21 15:39:11 +00:00
kmacy
8c807af8fa allocate 9 messages in all cases 2007-03-21 09:16:10 +00:00
kmacy
88ef185ca9 make MSI-X the default and allocate up to mp_ncpus queues per port
MFC after: 3 days
2007-03-21 07:25:40 +00:00
sam
f96ba7ffda Overhaul driver/subsystem api's:
o make all crypto drivers have a device_t; pseudo drivers like the s/w
  crypto driver synthesize one
o change the api between the crypto subsystem and drivers to use kobj;
  cryptodev_if.m defines this api
o use the fact that all crypto drivers now have a device_t to add support
  for specifying which of several potential devices to use when doing
  crypto operations
o add new ioctls that allow user apps to select a specific crypto device
  to use (previous ioctls maintained for compatibility)
o overhaul crypto subsystem code to eliminate lots of cruft and hide
  implementation details from drivers
o bring in numerous fixes from Michale Richardson/hifn; mostly for
  795x parts
o add an optional mechanism for mmap'ing the hifn 795x public key h/w
  to user space for use by openssl (not enabled by default)
o update crypto test tools to use new ioctl's and add cmd line options
  to specify a device to use for tests

These changes will also enable much future work on improving the core
crypto subsystem; including proper load balancing and interposing code
between the core and drivers to dispatch small operations to the s/w
driver as appropriate.

These changes were instigated by the work of Michael Richardson.

Reviewed by:	pjd
Approved by:	re
2007-03-21 03:42:51 +00:00
nyan
3f9dd9edcb Don't call bus_deactivate_resource() explicitly before calling
bus_release_resource().  This is needed for pc98 by upcoming nexus related
change.
2007-03-21 03:38:37 +00:00
kmacy
febce07b18 Synchronize with version 1.0.071 of Chelsio's common code
(with the notable exception of improvements for using multiple TX queues)

This adds support for the T3B2 ASIC rev

Obtained from: Chelsio
MFC after: 3 days
2007-03-20 21:43:32 +00:00
jhb
d6f063aecf Tweak the probe/attach order of devices on the x86 nexus devices.
Various BIOS-related psuedo-devices are added at an order of 5.  acpi0 is
added at an order of 10, and legacy0 is added at an order of 11.
2007-03-20 20:21:44 +00:00
ariff
626ae2ae34 Put a temporary bandaid to set/reset uncacheable DMA region (affected
on amd64 and i386) until we gain proper BUS_DMA_NOCACHE support.
(in progress).

Tested by:	rafan, infofarmer, Nguyen Tam Chinh <unixvn@gmail.com>
Tested on:	amd64, i386
2007-03-20 11:24:29 +00:00
kmacy
b3f52e360c cxgb_stop is only called from cxgb_ioctl so:
- don't acquire port lock, already held in ioctl
- rename to cxgb_stop_locked
- switch callout_drain to callout_stop to avoid a hang from having the port lock held
2007-03-20 06:21:47 +00:00
njl
e12c81ac96 If we got an OBE/IBF event, we failed to re-enable the GPE. This would
cause the EC to stop handling future events because the GPE stayed masked.
Set a flag when queueing a GPE handler since it will ultimately re-enable
the GPE.  In all other cases, re-enable it ourselves.  I reworked the
patch from the submitter.

Submitted by:	Rong-en Fan <grafan@gmail.com>
2007-03-20 00:58:19 +00:00
jkim
a8db64a5b3 Revert couple of changes from 1.51 and 1.52. Reading link status with BMSR
is okay for most of the chipsets but BCM5701 PHY does not seem to like it.
Set media to IFM_NONE if link is not up instead of the previous value.

Reported by:	Goran Lowkrantz (goran dot lowkrantz at ismobile dot com)
2007-03-19 23:17:39 +00:00
ariff
11b8264f96 Destroy channel DMA tag during resource cleanup. 2007-03-19 16:06:26 +00:00
simokawa
3de30923f8 Poll only while interrupt is disabled.
MFC: 3 days after
2007-03-19 03:41:27 +00:00
simokawa
60fa0cb729 Wait SCLK to be stable after LPS enabled.
This should fix NMI problem in fwphy_rddata().

PR: kern/94146 kern/100356
MFC: after 3 days
2007-03-19 03:35:45 +00:00
ariff
a4a010cdbf Enforce sample size alignment on first direct-copy channel. 2007-03-18 18:26:40 +00:00
njl
a8ba35fb00 Disable burst mode by default. Testing has shown that while it works on
most systems, it causes the EC not to respond for some Acer and Compaq/HP
laptops.  This is the default value for Linux also.  For systems that need
it, burst mode can be enabled via the tunable/sysctl:
	debug.acpi.ec.burst="1"
2007-03-18 01:03:03 +00:00
ariff
65e47f6075 Fix (another, more to come) ivar memory leak during driver detach. 2007-03-17 19:37:09 +00:00
ariff
1008dd40e3 Fix long delay closing/syncing issues on mmaped buffer. 2007-03-17 17:07:21 +00:00