Commit Graph

5128 Commits

Author SHA1 Message Date
phk
3daded5af8 Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
archie
c6980f23f7 Fixes to the Aironet driver to clear up some WEP issues.
PR:		23097
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
2000-12-08 19:00:10 +00:00
non
beb96829c0 Remove conflicts between unsinged char *s and int s.
It was possible cause of kernel panic.

Pointed Out by: phk@FreeBSD.ORG
2000-12-08 13:50:20 +00:00
n_hibma
349f6741fd Remove a warning.
Reported by:	phk
2000-12-08 10:44:15 +00:00
msmith
49d56dc77b - Convert a lot of homebrew debugging output to use the ACPI CA debugging
infrastructure.  It's not perfect, but it's a lot better than what
   we've been using so far.  The following rules apply to this:
    o BSD component names should be capitalised
    o Layer names should be taken from the non-CA set for now.  We
      may elect to add some new BSD-specific layers later.

 - Make it possible to turn off selective debugging flags or layers
   by listing them in debug.acpi.layer or debug.acpi.level prefixed
   with !.

 - Fully implement support for avoiding nodes in the ACPI namespace.
   Nodes may be listed in the debug.acpi.avoid environment variable;
   these nodes and all their children will be ignored (although still
   scanned over) by ACPI functions which scan the namespace.  Multiple
   nodes can be specified, separated by whitespace.

 - Implement support for selectively disabling ACPI subsystem components
   via the debug.acpi.disable environment variable.  The following
   components can be disabled:
    o bus	creation/scanning of the ACPI 'bus'
    o children	attachment of children to the ACPI 'bus'
    o button	the acpi_button control-method button driver
    o ec	the acpi_ec embedded-controller driver
    o isa	acpi replacement of PnP BIOS for ISA device discovery
    o lid	the control-method lid switch driver
    o pci	pci root-bus discovery
    o processor CPU power/speed management
    o thermal	system temperature detection and control
    o timer	ACPI timecounter
   Multiple components may be disabled by specifying their name(s)
   separated by whitespace.

 - Add support for ioctl registration.  ACPI subsystem components may
   register ioctl handlers with the /dev/acpi generic ioctl handler,
   allowing us to avoid the need for a multitude of /dev/acpi* control
   devices, etc.
2000-12-08 09:16:20 +00:00
archie
891a0cbb2b Add missing #include. 2000-12-08 00:49:37 +00:00
wpaul
a028ff4331 When I converted this driver, I neglected to deal with packet alignment.
We must force payload alignment to a longword boundary to make the
alpha happy. This should stop the driver from trapping on the alpha
when the interface is ifconfig'ed (actually, when the first frame is
received).
2000-12-07 23:30:51 +00:00
phk
df3d4500e2 Don't use a private malloc(9) type for something this M_DEVBUFish.
Noticed long time ago by:	bde
2000-12-07 22:33:12 +00:00
phk
1d9fe3085a Add back some now needed #include <sys/systm.h>
Fix various warnings while here anyway.
2000-12-07 22:19:06 +00:00
alex
4fbbf32dd6 Remove unneeded include of <pci.h>
Approved by:	groudier
2000-12-07 20:58:16 +00:00
roger
adc0034302 Add Isochronus transfer mode support required by
USB WebCams, using a patch from Peter Housel.

With this change ugen, and with Peter's 'vid' program
in ports/graphics/vid, we can capture single images from USB Cameras
using the OmniVision OV511 chipset (including some models of the
Creative WebCam 3)

NetBSD merged in Peter's patch to their ugen.c file
several months ago, so this brings us back in line.

Submitted by:	Peter Housel <housel@acm.org>
		http://members.home.com/housel/
Approved by:	Nick Hibma
2000-12-07 10:28:25 +00:00
roger
bf9d4b3605 Non functional change.
Change a few indentations to tabs.
Change the functions to use ANSI sytle parameters.

This lowers the diffs between our copy of ugen.c and NetBSD's copy

Approved by:	Nick Hibma
2000-12-07 10:13:18 +00:00
archie
90ad996e38 Convert from spl -> mutex. 2000-12-07 02:09:39 +00:00
mjacob
5553463e95 Only call ISP_UNLOCK/ISP_LOCK if isp->isp_osinfo.intsok in USEC_SLEEP.
Add a test against isp->isp_osinfo.islocked prior to trying to see
whether --isp->isp_osinfo.islocked is zero to cause us to unlock
(non-SMPLOCK case).
2000-12-05 07:41:53 +00:00
mjacob
d772515637 Replace some more printfs with isp_prt's. Use isp_prt/ISP_LOGDEBUG0
for rate setting/getting printouts.
2000-12-05 07:39:54 +00:00
mjacob
41920951d9 Remove more printfs and use either isp_prt or device_printf. Remember
to set ISP_LOGINFO if bootverbose is set.
2000-12-05 07:38:41 +00:00
imp
49b05b5636 Start to make code more generic so it can be used by the pccbb driver
in the future:
o Remove pcic_softc from pcic_handle and replace it with a void *
o Reduce dependence on accessing softc via a pcic_handle
Minor cleanups:
o Define a macro to count the size of an array and use it.
o Minor whitespace alignment
o make no slots found a printf not a panic.
2000-12-05 04:49:26 +00:00
msmith
5a56ca855d ACPI HID's aren't limited to 7 characters. Don't check the length of the
HID passed in as an argument at all; callers are typically going to be
sending us static strings anyway.

Submitted by:	Munehiro Matsuda <haro@tk.kubota.co.jp>
2000-12-05 00:19:10 +00:00
wpaul
0ef28ffae2 Initialize/grab the mutex earlier in the attach phase, so that
bailing out to the fail: label where we release/destroy the mutex
will work without exploding.
2000-12-04 22:46:50 +00:00
dwmalone
dd47a9bb4c More M_ZERO patches.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
Approved by:	mjacob
2000-12-03 20:46:54 +00:00
nsayer
cc8bbe1d9b We now have the ability to assign the correct IRQ when PNP-OS is turned
on. So stop failing the attach if the IRQ is unassigned. With this
patch, I can now boot with PNP-OS YES in my BIOS no differently than
PNP-OS NO (which is a good thing since Windows hangs with PNP-OS NO).

Obtained from:	msmith
2000-12-03 17:07:19 +00:00
dwmalone
db487aab38 Use M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
Approved by:	mark_salyzyn@adaptec.com
2000-12-03 13:21:55 +00:00
msmith
04c940e0e7 - add support for crashdumps (courtesy of ps and Y!)
- standardise error reporting for commands
 - simplify the driver-to-controller bio transfer
 - add bio in/out accounting
 - correctly preserve the command ID in twe_ioctl (thanks to joel@3ware)
2000-12-03 02:11:35 +00:00
markm
9718c3779b Major speedup to /dev/random and the kernel thread that reseeds it.
There is no more TAILQ fifo to harvest the entropy; instead, there
is a circular buffer of constant size (changeable by macro) that
pretty dramatically improves the speed and fixes potential slowdowns-
by-locking.

Also gone are a slew of malloc(9) and free(9) calls; all harvesting
buffers are static.

All-in-all, this is a good performance improvement.

Thanks-to:	msmith for the circular buffer concept-code.
2000-12-02 18:40:16 +00:00
mjacob
0078ccb0e3 Add USEC_SLEEP macro support. Change the location at which we define
ISP_LOCK/ISP_UNLOCK macros.
2000-12-02 18:33:29 +00:00
mjacob
0b26c2301d Make the Not RESPONSE in RESPONSE QUEUE message have a bit more info
(specifically, how many entries we've looked at so far). Maintain
interrupt instrumentation. Use USEC_SLEEP instead of USEC_DELAY in
a number of places (this allows us to drop locks and sleep instead
of spin). Track changes to configuration options for topology preference.
Fix botched order of printout for Channel, Target, Lun.
2000-12-02 18:08:35 +00:00
mjacob
6496ae2124 Add interrupt instrumentation. Change ISP_CFG_NPORT config option to
a set of options that allows specific loop, loop-only, nport, nport-only
topology settings. Define a required macro for all platforms (USEC_SLEEP).
2000-12-02 18:06:03 +00:00
scottl
6cf26d0888 Revert attach() back to the old behaviour of calling bus_generic_attach().
The new way doesn't seem to work reliably and was causing devices to not
be seen.

Approved by:	msmith
2000-12-02 01:14:14 +00:00
phk
0591c4bb95 Make labels mandatory for vn(4). 2000-12-01 22:27:40 +00:00
gallatin
707df4c2be Convert the pcib_{read,write}_config args from signed to unsigned,
like the args to the config space accessors these functions replaced.

This reduces the likelyhood of overflow when the args are used in
macros on the alpha.  This prevents memory management faults when
probing the pci bus on sables, multias and nonames.

Approved by: dfr
Tested by: Bernd Walter <ticso@cicely8.cicely.de>
2000-12-01 15:27:48 +00:00
jlemon
f58d5079d3 Add PCI id for the RAID LC2 controller.
Pick up correct location for the DEC version of the chip, this
got broken in a previous commit.
2000-12-01 15:26:11 +00:00
msmith
e907049628 AcpiOsMem primitives as required by the new ACPI CA snapshot 2000-12-01 10:19:28 +00:00
msmith
67dc01748b Update to work with the new ACPI CA snapshot.
- Use ACPI_PHYSICAL_ADDRESS
 - RSDT -> XSDT
 - FACP -> FADT
 - No APIC table support
 - Don't install a global EC handler; this has bad side-effects
   (it invokes _REG in *all* EC spaces in the namespace!)
 - Check for PCI bus instances already existing before adding them
2000-12-01 10:18:57 +00:00
yokota
f026e943b6 - Add a hack for "psmintr: out of sync.." This is NOT a fix,
but a hack! Add `flags 0x8000' to the psm driver to enable it.
  The psm driver will try to get out of out-of-sync situation
  by disabling the mouse and immediately enable it again.

If you are seeing this out-of-sync problem because of an
incompetent(?!) KVM switch, this hack will NOT be good
for you.  However, if you are occasionally seeing the
problem because of lost mouse interrupt, this might help.
2000-12-01 05:26:24 +00:00
yokota
907fbfd6f9 - Slightly rearrnage IntelliMouse Explorer and Logitech
MouseMan+ identification routines for efficiency.
  No functional change.
2000-12-01 05:24:30 +00:00
imp
51f2f44686 Kill #define of DETACH_FORCE since it is now in card_if.m 2000-11-30 23:30:47 +00:00
gibbs
e7a18d1fa9 Remove an unused variable.
Properly advance to the next image while searching for the ROM image
that contains CIS data.

KNF an if statement.
2000-11-30 19:14:26 +00:00
alfred
a2152c3c28 remove unneded sys/ucred.h includes 2000-11-30 18:52:32 +00:00
jon
b8d4cd34d2 This fixes several problems with CIS as suggested by Justin Gibbs:
4) The cardbus CIS code treats the CIS_PTR as a mapping register if
   it is mentioned in the CIS.  I don't have a spec handy to understand
   why the CIS_PTR is mentioned in the CIS, but allocating a memory range
   for it is certainly bogus.  My patch ignores bar #6 to prevent the
   mapping.
   [The pccard spec says that BAR 0 and 7 (-1 and 6 in thic case since we
    did a minus one) is "reserved".  The off by 1 error has been fixed.
    also bar=5 is invalid for IO maps, so we check it.]

5) The CIS code allocated duplicate resources to those already found
   by cardbus_add_resources().  The fix is to pass in the bar computed
   from the CIS instead of the particular resource ID for that bar,
   so bus_generic_alloc_resource succeeds in finding the old resource.
   [fixed, also removed superfluous (and incorrect) writing back to the
    PCI config space.]

7) The CIS code seems to use the wrong bit to determine rather a particular
   register mapping is for I/O or memory space.  From looking at the
   two cards I have, it seems TPL_BAR_REG_AS should be 0x10 instead
   of 0x08.  Otherwise, all registers that should be I/O mapped gain
   a second mapping in memory space.
   [Oops, the spec does say 0x10..., fixed]

Submitted by: Justin Gibbs
2000-11-29 19:38:25 +00:00
jon
d0008768df Oops, broke CIS reading from ROM on my last commit.
This should fix it.
2000-11-29 16:08:01 +00:00
msmith
e2b687b66d Remove some over- 2000-11-28 20:51:04 +00:00
msmith
685fa24d44 MFS:
Fix amr_map_command so that 40LD-specific commands get the scatter-gather
   list count in the right place.  I don't understand why AMI did it like
   this, but now the AMI MegaManager can talk to the newer (1600 and later)
   controllers.

   Remove an unused variable.

   Include <machine/clock.h> when necessary.

   Tweak some debugging levels to make things more intelligible.
2000-11-28 19:28:22 +00:00
jon
2513663eab Oops, broke newcard because I forgot to commit this in my last round of changes to pccbb.c 2000-11-28 15:50:13 +00:00
mdodd
f6481d9ecb Reduce code duplication by using the GET_RESOURCE_LIST bus method and related
generic resource_list management functions.

I'll deal with the EISA bits later.

Not objected to by:	 new-bus
2000-11-28 07:12:12 +00:00
grog
bece923386 Don't include system-specific header files for userland program.
Discovered by default by: alfred
2000-11-28 06:38:53 +00:00
mdodd
e05cb3881c Avoid hardcoding the 'rid' and 'type' of the MEM/IOPORT resource.
Store the 'rid' and 'type' in the softc and use them in mlx.c:mlx_free().

EISA and MCA front ends will require this.

Approved by:	 msmith
2000-11-28 06:17:32 +00:00
jon
3d6cd1ea65 1) When mucking with mapping registers, it is best to *not* have
io or memory space access enabled.  This patch defers the setting
   of these bits until after all of the mapping registers are probed.
   It might be even better to defer this until a particular mapping
   is activated and to disable that type of access when a new
   register is activated.

2) The PCI spec is very explicit about how mapping registers and
   the expansion ROM mapping register should be probed.  This patch
   makes cardbus_add_map() follow the spec.

3) The PCI spec allows a device to use the same address decoder for
   expansion ROM access as is used for memory mapped register access.
   This patch carefully enables and disables ROM access along with
   resource (de)activiation.

This doesn't include the prefetching detection stuff (maybe later when code is written to actually turn on prefetching).  It also does not use the PCI definitions (yet, I'll try to put this in all at once later)

Submitted by: Justin T. Gibbs
2000-11-28 00:52:40 +00:00
jon
a452aac502 overhaul cis functions to read cis tuple by tuple (instead of all at once).
Also fix incorrect parsing of BAR.
2000-11-28 00:08:18 +00:00
jon
a21f970a30 A bunch of newcard/cardbus changes that's been sitting in my tree for a while:
- Make pccbb/cardbus kld loadable and unloadable.
- Make pccbb/cardbus use the power interface from pccard instead of inventing its own.
- some other minor fixes
2000-11-28 00:05:20 +00:00
jon
053a5cf07c Patch to use M_ZERO
Submitted by: David Malone
2000-11-27 23:55:19 +00:00