11136 Commits

Author SHA1 Message Date
njl
36be62a85e Add support for video output switching. It appears no systems use HCI to
change the video output but use a separate device with a DSSX method
and a HID of "TOS6201" instead.  We use a pseudo-driver to get the handle
for this object and pass it to the acpi_toshiba driver.

This is untested but seems to match the Linux Toshiba driver.
2004-04-14 00:23:58 +00:00
imp
b471e53762 Some devices have what appear to be invalid BARs. They are invalid in
the sense that any write to them reads back as a 0.  This presents a
problem to our resource allocation scheme.  If we encounter such vars,
the code now treats them as special, allowing any allocation against
them to succeed.  I've not seen anything in the standard to clearify
what host software should do when it encounters these sorts of BARs.

Also cleaned up some output while I'm here and add commmented out
bootverbose lines until I'm ready to reduce the verbosity of boot
messages.

This gets a number of south bridges and ata controllers made mostly by
VIA, AMD and nVidia working again.  Thanks to Soren Schmidt for his
help in coming up with this patch.
2004-04-13 19:31:57 +00:00
fjoe
14d6c54105 Use ifconfig(8) for setting common 802.11 parameters.
Submitted by:	Stanislav A. Svirid <count@riss-telecom.ru>
2004-04-13 19:25:26 +00:00
imp
d14cbe0db8 Remove extra copy of code.
Noticed by: Carlos Velasco
2004-04-13 14:39:26 +00:00
sos
cc41608d4e Add support for the Promise command sequencer present on all modern Promise
controllers (PDC203** PDC206**).

This also adds preliminary support for the Promise SX4/SX4000 but *only*
as a "normal" Promise ATA controller (ATA RAID's are supported though
but only RAID0, RAID1 and RAID0+1).

This cuts off yet another 5-8% of the command overhead on promise controllers,
making them the fastest we have ever had support for.

Work is now continuing to add support for this in ATA RAID, to accellerate
ATA RAID quite a bit on these controllers, and especially the SX4/SX4000
series as they have quite a few tricks in there..

This commit also adds a few fixes to the SATA code needed for proper support.
2004-04-13 09:44:20 +00:00
imp
09643af85a MFp4:
Alignment for pccards should also be treated in a similar way that
	we tread it for cardbus cards.

	Remove bogus debugs while I'm here.

# This is also necessary to make the CIS reading work.

Submitted by: Carlos Velasco
2004-04-12 21:04:54 +00:00
imp
67c5859522 Improve reading of CIS cards:
(1) Align to 64k for the CIS.  Some cards don't like it when we aren't
    aligned to a 64k boundary.  I can't find anything in the standard
    that requires this, but I have 1/2 dozen cards that won't work at
    all unless I enable this.
(2) Sleep 1s before scanning the CIS.  This may be a nop, but has little
    harm.
(3) The CIS can be up to 4k in some weird, odd-ball edge cases.  Since we
    have limiters for when that's not the case, it does no harm to increase
    it to 4k.

#1 was submitted, in a different form, by Carlos Velasco.
2004-04-12 20:56:34 +00:00
markm
7743e85352 Fix "sleeping without a mutex" panic. 2004-04-12 09:13:24 +00:00
njl
a9c2757cc6 Remove a check for the return value added in rev 1.41. It's not an error
to fail to turn off a fan, since the case is that it's usually already off.
2004-04-12 05:04:47 +00:00
ru
157640c616 Implemented per-interface polling(4) control. 2004-04-11 21:01:12 +00:00
ru
bade226899 Implemented per-interface polling(4) control. 2004-04-11 20:34:08 +00:00
imp
8a7f14cc73 Update to recent driver api changes. 2004-04-11 20:15:15 +00:00
imp
a0e860ef19 Frank Mayhar's <frank@exit.com> sx driver for older Specialix
I/O8+ and I/O4+ intelligent serial controllers.  si is for
completely different hardware, also made by Specialix.
2004-04-11 19:32:20 +00:00
ru
3f9b8e99a0 Implemented per-interface polling(4) control. 2004-04-11 19:25:56 +00:00
imp
7764e9e2f9 Add note about why we're ignoring the below 1MB bit. 2004-04-11 19:22:25 +00:00
ru
a93512febd Fixed resetting of the watchdog timer and queue full flag. 2004-04-11 18:28:14 +00:00
rsm
8c727ff7fc Stop xe claiming ownership of every card passed to xe_pccard_match.
Found by:	Pete Carss <itinerant at mac dot com>
Reviewed by:	imp (mentor)
Pointy hat to:	rsm
2004-04-11 16:34:29 +00:00
rwatson
64b26340c2 Compare IFF_POLLING flag with ifp->if_flags rather than ifp->if_ipending,
which was almost certainly a bug since polling support was introduced
in this driver.

Found during discussion with:	mlaier
2004-04-11 16:26:39 +00:00
ru
57c7179066 Implemented per-interface polling(4) control. 2004-04-11 15:35:49 +00:00
ru
2ffc7fc147 Implemented per-interface polling(4) control. 2004-04-11 15:18:09 +00:00
ru
ba67628e61 First driver with user-configurable polling(4). 2004-04-11 13:47:15 +00:00
nyan
3341cc4adb Fix pc98 build. 2004-04-11 09:13:42 +00:00
imp
a85109257a Add system tunable to turn off power state changes. Default to off until
we get the resource allocation stuff hammered out.

Fix and off by one error that caused unnecessary filtering of valid
BARs for only 4 bytes than ICH3 and other PCI IDE controllers have.
Andrew Gallatin submitted this, although it doesn't solve the problems
ICH3 controllers have with the new code, it does restore the former
resource list on the probe line.
2004-04-11 07:02:49 +00:00
cognet
59e9d5b09d Call trm_Interrupt() in trm_poll(). This fixes the lock at reboot time some
people reported.

PR:		kern/62864
Tested by:	Putinas Piliponis <putinas.piliponis at icnspot.net>
2004-04-10 15:38:49 +00:00
imp
fd167b36d8 Only print state change message for real state changes. When we set a
device in D0 to D0, that's a no-op, however the messages seem to be
confusing some people.  Eventually, these messages will be parked
behind a if (bootverbose).

# I don't think this will fix any real bugs...
2004-04-09 20:41:18 +00:00
njl
9acc8ad69e Add MODULE_DEPEND entries so some of these drivers can eventually be
loaded separately from ACPI (i.e., embedded use).
2004-04-09 18:14:32 +00:00
rsm
2117917453 Band-aid fix to extract MAC address from some CEM2/CEM28 cards with broken
CIS.  Really needs a better interface to the CIS in pccard driver.

Reviewed by:	imp (mentor)
2004-04-09 17:34:54 +00:00
rsm
35c796651f Fix probe routine to use card IDs from pccarddevs for NEWCARD and OLDCARD.
Should now correctly probe and attach all supported cards in either mode.

Reviewed by:	imp (mentor)
2004-04-09 17:27:36 +00:00
rsm
f4bb5b9196 Sync to pccarddevs 1.83
Reviewed by:	imp (mentor)
2004-04-09 17:10:12 +00:00
rsm
85b93e274d Add Xircom XEM5600 and known versions of CE2, CEM33 and CEM56.
Xircom had an unfortunate habit of re-using PCMCIA IDs for quite different
cards - the xe driver knows about this and uses the first byte of 'extra'
PCMCIA ID info to identify cards with ambiguous IDs.

Reviewed by:	imp (mentor)
2004-04-09 17:08:12 +00:00
markm
55fe453be7 Reorganise the entropy device so that high-yield entropy sources
can more easily be used INSTEAD OF the hard-working Yarrow.
The only hardware source used at this point is the one inside
the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will
be added in due course. Contributions welcome!
2004-04-09 15:47:10 +00:00
imp
ca56ea20fc Omnibus PCI commit:
o Save and restore bars for suspend/resume as well as for D3->D0
	  transitions.
	o preallocate resources that the PCI devices use to avoid resource
	  conflicts
	o lazy allocation of resources not allocated by the BIOS.
	o set unattached drivers to state D3.  Set power state to D0
	  before probe/attach.  Right now there's two special cases
	  for this (display and memory devices) that need work in other
	  areas of the tree.

Please report any bugs to me.
2004-04-09 15:44:34 +00:00
njl
6c09d371b9 Replace more ad-hoc versions of acpi_GetReference(). Since the type of
Reference objects changed from ACPI_TYPE_ANY to ACPI_TYPE_LOCAL_REFERENCE
in Oct. 2002, this may help systems where switching the cooler on failed.
We support both types for now until this sorts out.
2004-04-09 06:55:50 +00:00
njl
2c8ba3e867 Include the prototype for acpi_GetReference. 2004-04-09 06:53:50 +00:00
njl
fdef51d350 Add support for packages as the first element of _PRW. This may allow
some machines to enable wake events for more devices although I haven't
seen a system yet that uses this form.  Also, introduce acpi_GetReference()
which retrieves an object reference from various types.
2004-04-09 06:40:03 +00:00
imp
34d7e07971 Ooops, removed this acknowledgement bogusly.
Eagle Eyes: bde
2004-04-09 05:12:47 +00:00
njl
9898fa8613 Unify on version 1 to be similar to the rest of the tree. After 5-stable
branches, increment version on any API change visible to other modules.
2004-04-08 16:45:12 +00:00
imp
7f957a47b4 Back out last bad commit (again!) 2004-04-07 21:56:20 +00:00
imp
b49b7fe799 Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson
2004-04-07 20:46:16 +00:00
jhb
baec2dbefc Implement an ACPI-aware pci_set_powerstate() method for PCI busses that
are enumerated in the ACPI device tree.  In addition to the normal PCI
powerstate functionality, the ACPI _PSx methods are executed and ACPI
PowerResources are switched on and off via the acpi_pwr_switch_consumer()
function.

Glanced at by:	imp, njl
2004-04-07 19:42:21 +00:00
imp
66ed31db8a Add new ID for Intel 82562ET (ICH5/ICH5R) Pro/100 VE Ethernet.
Submitted by: Stefan Bethke
PR: 61320
2004-04-07 15:47:14 +00:00
imp
a51660ff9f Last change was a bogus 2004-04-07 05:30:54 +00:00
imp
ebf059d1df Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson
2004-04-07 05:00:01 +00:00
imp
361a4ffcb7 Better checks to make sure that we get good alignment. This code is a
bit of a bandaide until I get better pci bus code committed to head
from my p4 tree.
2004-04-06 22:50:50 +00:00
imp
ad7ac7636e Fix mis-merge from p4 by adding line getting sc.
Attempt to deal with larger memory allocation better.
2004-04-06 22:41:14 +00:00
imp
d531fd6fd2 MFP4: Power up with OE disabled. Similar patches went into NetBSD a
while ago, and it does seem to help at least one card I have and has
been in my p4 tree for many months.
2004-04-06 20:13:29 +00:00
iedowse
d39c4df474 Use the correct flag for mbuf allocations (M_DONTWAIT, not M_NOWAIT). 2004-04-06 19:32:00 +00:00
ps
a048052df8 Enable the memory arbiter before turning off the PXE restart. This
prevents NMI's from happening when resetting the chip on some
hardware I have seen.

Mis-behaving box made available by:	John Cagle <john.cagle@hp.com>
2004-04-06 18:28:15 +00:00
ru
52fdcf73b0 - Rewritten TX to use only two pointers to track producer/consumer.
- Added polling(4) support!
- Bugfix: don't forget to set IFF_OACTIVE when TX list is full.
- Minor: tidy up vr_encap().
2004-04-05 17:39:57 +00:00
wpaul
e8bf917ce6 - The MiniportReset() function can return NDIS_STATUS_PENDING, in which
case we should wait for the resetdone handler to be called before
  returning.

- When providing resources via ndis_query_resources(), uses the
  computed rsclen when using bcopy() to copy out the resource data
  rather than the caller-supplied buffer length.

- Avoid using ndis_reset_nic() in if_ndis.c unless we really need
  to reset the NIC because of a problem.

- Allow interrupts to be fielded during ndis_attach(), at least
  as far as allowing ndis_isr() and ndis_intrhand() to run.

- Use ndis_80211_rates_ex when probing for supported rates. Technically,
  this isn't supposed to work since, although Microsoft added the extended
  rate structure with the NDIS 5.1 update, the spec still says that
  the OID_802_11_SUPPORTED_RATES OID uses ndis_80211_rates. In spite of
  this, it appears some drivers use it anyway.

- When adding in our guessed rates, check to see if they already exist
  so that we avoid any duplicates.

- Add a printf() to ndis_open_file() that alerts the user when a
  driver attempts to open a file under /compat/ndis.

With these changes, I can get the driver for the SMC 2802W 54g PCI
card to load and run. This board uses a Prism54G chip. Note that in
order for this driver to work, you must place the supplied smc2802w.arm
firmware image under /compat/ndis. (The firmware is not resident on
the device.)

Note that this should also allow the 3Com 3CRWE154G72 card to work
as well; as far as I can tell, these cards also use a Prism54G chip.
2004-04-05 08:26:52 +00:00