Commit Graph

67 Commits

Author SHA1 Message Date
simonb 10a55ec82a In pcic_chip_socket_enable() we need to set "reg" ifdef PCICDEBUG as
well so we can print it out a little further on.
While here, remove an unreachable "return" statement.
2002-10-22 02:12:42 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
lukem 06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
soren 875bff0962 To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
2001-12-15 13:23:20 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem a4bae8b066 add/cleanup RCSID 2001-11-13 13:14:31 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
mycroft d621cc4cb0 Add missing newlines in some messages.
Set Vpp the same as Vcc by default.  We need to do more with voltage sense.
2000-07-09 01:55:18 +00:00
mrg 314f1e97c5 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:12:48 +00:00
cgd 1f0de7e7d2 actually put a _comment_ before the second read of the ident register
that Charles added in rev 1.58.  Not only is it good programming practice
to explain magic, but code that looks like:

                reg = pcic_read(h, PCIC_IDENT);
                reg = pcic_read(h, PCIC_IDENT);

is _gonna_ be interpreted as a cut-n-paste error by someone eventually.
2000-04-03 01:55:25 +00:00
mycroft e70fd4b33c During the socket probe, read the ident register twice.
I don't understand why, but sometimes the clone chips in hpcmips boxes read
all-0s the first time.
2000-04-02 18:29:14 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
enami 71df610aeb Remove no longer necessary workaround for hpcmips. 2000-02-27 22:57:20 +00:00
augustss 7b4eccb432 Use DPRINTF for debug messages. 2000-02-27 21:06:55 +00:00
mycroft 61cc77895b Some minor cleanup to the probe code. 2000-02-27 20:01:05 +00:00
thorpej 6f1701b01c Put a lock on the pcic, to serialize access to the chip during event
handling.  This is important when multiple cards are present when
the system boots, as we use tsleep now instead of delay in various
places (delay used to provide serialization by virtue of not causing
a context switch).
2000-02-26 17:24:44 +00:00
mycroft 49f1a84ad6 Be even more careful about cleaning up the socket at boot time.
Also, nuke the windows when the socket is disabled.  (They might be deallocated
and reallocated, and would thus cause a conflict.)
2000-02-25 20:45:43 +00:00
mycroft 7dbe5be481 Disable all windows at boot time, to avoid conflicts when reading the CIS.
Also, GC a small bit of code that's inaccesible after the previous change.
2000-02-25 05:26:17 +00:00
mycroft ac4c520f05 If we fail to attach the socket driver, clear PCIC_FLAG_SOCKETP so that we
don't try to use the socket any further.  (This will only happen if the user
explicitly unconfigured some of the sockets.)
2000-02-25 04:24:37 +00:00
enami 32f100250f Cosmetic changes. 2000-02-22 02:38:26 +00:00
dbj 8f2d14fbd1 added wmesg argument to pcic_delay debug printout 2000-02-21 20:16:22 +00:00
chopps 44b423d73b always map attr memory 8 bit, since its defined that way. 2000-02-10 09:00:19 +00:00
nathanw 958e687d69 LP64 printf fixes. 2000-02-05 20:02:42 +00:00
enami abac10f360 Yet anothor workaround for hpcmips. I guess real problem is somewhere else...
With rev.1.37, my MobileGearII for DoCoMo finds both ne0 and wd0
even if pcic_delay_sleep is 1.
With rev 1.40, it fails to find wd0.
2000-02-05 04:34:36 +00:00
enami 9c688fd57c s/SYSTEM/SYSMEM/; so that this file compiles again. 2000-02-04 11:04:46 +00:00
joda 8006211b18 fix previous broken commit of the 8-bit memory handling (spotted
by Christian Hopps); this will enable 16-bit memory accesses for devices
that can handle it
2000-02-04 10:18:28 +00:00
itojun 0f09f8dd2b cope with card insertion/removal during suspend-resume session.
(removal/ insertion after suspend and before resume)

How should we deal with card swaps?
2000-02-04 09:45:34 +00:00
chopps d344dd94ab keep track of the enabled state of a socket 2000-02-04 08:42:07 +00:00
enami 1102c5ed1d Remove temporary workaround for hpcmips. Now it works without it. 2000-02-03 09:00:39 +00:00
enami d6554f3e25 Cosmetic changes; remove unnecessary semi-colon. 2000-02-03 08:59:20 +00:00
chopps 68a7084f0c attempt to make this more like the std indicates 2000-02-03 06:07:06 +00:00
enami f7096eef97 Fix typo; not PCIC_DEBUG but PCICDEBUG. 2000-02-02 14:23:48 +00:00
enami 500a12d2e5 - No need to wait in pcic_chip_socket_disable. It was intended to keep
some period between disable and enable in spec, but is done in
pcic_chip_socket_disable.  And we also disable socket in pcic_deactivate_card,
we should do it in another way if it is really necessary.
- Shorten the wait message so that ps(1) and ps in ddb be happy.
- Replace newly added long delay with sleep.
2000-02-02 10:31:45 +00:00
enami e16a469c8f Cosmetic changes. 2000-02-02 10:19:51 +00:00
chopps ea37d51548 do something more like pccbbs chip_enable. don't enable interrupts
until we have everything else setup..
2000-02-02 04:45:21 +00:00
chopps d8e72e215d implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
2000-02-01 22:39:51 +00:00
enami cf83f4ae57 Use delay by default on hpcmips for now. 2000-01-27 01:05:17 +00:00
chopps da499b1e3a make the wait_ready loop use pcic_delay() (thus tsleep) too for cards
that take a while to become ready
2000-01-25 19:38:18 +00:00
enami 5cb9984dd0 Replace long delay with sleep. 2000-01-25 09:17:35 +00:00
enami 012a23a770 Use config_pending and let the kernel thread to attach a card even on boot. 2000-01-25 09:14:27 +00:00
joda 4bc55bd307 (pcic_chip_do_mem_map): handle 8-bit memory 2000-01-13 09:00:30 +00:00
sommerfeld 9aeb6a25d2 minor KNF tweaks 2000-01-02 02:08:07 +00:00
sommerfeld b38548c58d On a cold suspend to disk, the Sony VAIO Z505 BIOS appears to not
preserve enough of the state of the PCIC to keep it interrupting on
card insertion/removal..

Add a power hook to notice if the CSC_INTR device register is zeroed
on resume, and if so, reset it to a sane value.
2000-01-01 21:57:45 +00:00
haya 4eee111127 This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
  o Conform to the KNF more strictly.
  o Be unified with pcmcia code as much as possible.
  o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

	sys/arch/i386/conf/files.i386
	sys/arch/macppc/conf/files.macppc
	sys/conf/files
	sys/dev/ic/elinkxl.c
	sys/dev/ic/elinkxlvar.h
	sys/dev/ic/i82365.c
	sys/dev/ic/i82365var.h
	sys/dev/isa/i82365_isasubr.c
	sys/dev/pci/files.pci
	sys/dev/pcmcia/pcmcia.c
	sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

	sys/arch/i386/conf/CARDBUS
	sys/arch/i386/include/rbus_machdep.h
	sys/arch/i386/i386/rbus_machdep.c
	sys/arch/macppc/include/rbus_machdep.h
	sys/arch/macppc/macppc/rbus_machdep.c
	sys/dev/cardbus/if_ex_cardbus.c
	sys/dev/cardbus/Makefile.cardbusdevs
	sys/dev/cardbus/cardbus.c
	sys/dev/cardbus/cardbus_map.c
	sys/dev/cardbus/cardbusdevs
	sys/dev/cardbus/cardbusdevs.h
	sys/dev/cardbus/cardbusdevs_data.h
	sys/dev/cardbus/cardbusvar.h
	sys/dev/cardbus/cardslot.c
	sys/dev/cardbus/cardslotvar.h
	sys/dev/cardbus/devlist2h.awk
	sys/dev/cardbus/files.cardbus
	sys/dev/cardbus/if_fxp_cardbus.c
	sys/dev/cardbus/pccardcis.h
	sys/dev/cardbus/rbus.c
	sys/dev/cardbus/rbus.h
	sys/dev/pci/pccbb.c
	sys/dev/pci/pccbbreg.h
	sys/dev/pci/pccbbvar.h
1999-10-15 06:07:17 +00:00
thorpej 7b3258b6a7 Make the kthread API a bit more friendly to loadable kernel modules. 1999-07-06 21:44:09 +00:00
mycroft 28bc4dfeca Oops; PCIC_INTR_ENABLE does something *very* different. 1999-02-19 03:14:00 +00:00
mycroft 70d4ac07b6 Yet another path where we need to set PCIC_INTR_ENABLE. 1999-02-19 00:27:45 +00:00
marc 9231ba8603 - make sure that sc->handle[i].flags is initialized in all cases
- check PCIC_FLAG_SOCKETP before disabling the CSC_INTR.
1999-02-01 22:17:05 +00:00
msaitoh 88176e7d20 Fix about insertion/removal event problem. 1999-01-21 07:43:32 +00:00
christos dfd0f0f949 PR/6669: Michael Eriksson: pcic_chip_mem_alloc() can't handle large requests 1999-01-01 14:05:18 +00:00