Commit Graph

56 Commits

Author SHA1 Message Date
christos
9a5d3f2817 replace bitmask_snprintf(9) with snprintb(3) 2008-12-16 22:35:21 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cegger
4c5fa20d1f use aprint_*_dev and device_xname 2008-04-05 18:35:31 +00:00
martin
258a4b78cf With the new IPL world, things are easier for us: if we can get the
nell hardware interrupt handler run at IPL_VM, we can call the socket
drivers interrupt handler directly.
This is always possible on sparc64, but on sparc we might have to fall
back to the old softint bounce. Since this uses arbitrary IPLs, we
can not use the new softint_* for this - we'll have to use the old
sparc_softintr_* functions.
2008-01-06 02:29:58 +00:00
ad
a2a3828545 machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h 2007-10-19 11:59:34 +00:00
ad
46ed8f7d77 Use the softint API. 2007-10-08 16:18:02 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
jdc
7bf256869d Add an explicit NULL for the card_detect function (that we don't have/need)
in struct pcmcia_chip_functions {}.
This now compiles again (adding -Wextra exposed this).

OK martin@.
2006-12-11 11:42:48 +00:00
thorpej
2be6494fc9 Use device_cfdata(). 2006-03-29 04:16:44 +00:00
perry
3d4ed1fbc7 __inline__ -> inline 2005-12-24 23:41:33 +00:00
martin
a332f6615a Use mstohz() for timeout calculations.
Avoid local stack addresses as tsleep identifiers.
2005-11-10 21:25:35 +00:00
martin
4daa98c618 Rename the wait channels (one was a copy&pasto, the other much too long) 2005-11-05 13:59:02 +00:00
jdc
4612fcc60c Rename "delay" variable to avoid shadowing the "delay" from param.h. 2005-06-01 21:17:28 +00:00
perry
f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
perry
18db93c7f6 de-__P 2005-02-04 02:10:35 +00:00
mycroft
38ce741470 Clear IOIE in settype(), too. Not that we currently change modes without
powering down the socket, but...
2004-08-11 00:59:40 +00:00
mycroft
d978001d30 Clear some more ICR0 bits on socket enable/disable. 2004-08-11 00:58:08 +00:00
mycroft
b9798ff4a2 Add a settype() function.
XXX Note that I haven't even compiled this, but any problems are likely to be
more straightforward than crashing with a null pointer dereference.
2004-08-11 00:55:38 +00:00
pk
bab17de2f5 Use bus_space_tag_alloc(). Remove unused `sc_bustag' from softc. 2004-07-05 10:48:29 +00:00
martin
2aef6e6521 Adapt to new (non optional) bus space on sparc. 2004-07-05 07:26:04 +00:00
martin
804267781d Handle STP4020_ISR0_SCINT (status change interrupt posted) - by ignoring
it.
2004-05-18 06:20:28 +00:00
martin
d11a3aeebb Only ACK pending interrupts (instead of all possible). Log interrupts we
probably should have handled but didn't. Minor cleanup.
2003-12-23 13:46:18 +00:00
martin
9da7636a93 Add SUN4U magic to make nell work without things like WI_AT_BIGENDIAN_HACK.
XXX - need to move this (as well as the equivalent sparc stuff added
recently) outa here into sbus_machdep or something. We should not need
to know details of the actual bus_space implementation here.
2003-01-07 20:39:19 +00:00
martin
6833c24639 Separate the sbus bus_space_tag_t used for access to nell hardware from
the self constructed little endian pcmcia bus_space_tag_t used for the
client drivers.
2003-01-03 13:28:54 +00:00
mrg
7bd617d237 part one of bus_space(9) fixes to enable bus spaces to override the
bus_space_{read,write}_[1248]() functions, which will allow 16-bit
PCMCIA support to work without additional hacks in MI drivers.
this option is not enabled yet.
2003-01-03 11:57:45 +00:00
martin
12da8a0066 Call interrupt handlers from a soft interrupt to decouple them from the
(sometimes excessive) SPL assigned by the firmware to the sbus interrupt.
Protect access to hardware by splhigh().
2003-01-02 20:01:57 +00:00
thorpej
72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
pk
725a6aebf7 Remove the `flags' argument from bus_intr_establish(). 2002-12-10 13:44:47 +00:00
martin
de956cbcda Only use one interrupt handler for both status changes and pcmcia IO
intterupts. No more races between the two interrupt handlers, without any
locking, and the driver becomes a bit simpler too.

Use the last bit of the config flags to select between the first and the
second sbus interrupt level the firmware has assigned to us.
2002-10-10 22:23:16 +00:00
thorpej
b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej
239b192ca3 Use CFATTACH_DECL(). 2002-09-30 23:07:07 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
martin
a9cd647f4d Adapt to recent sbusvar.h changes.
Use a slightly less conservative timing configuration.
2002-09-04 16:17:52 +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
martin
642b1a7163 Remove dummy_splraise() - it is not needed according to Paul Kranenburg.
We may revisit this once a general interrupt queuing mechanism is
available and we can avoid calling the pcmcia cards interrupt handler at
an exsessive IPL.
2002-03-25 09:02:54 +00:00
eeh
686c857e16 Get rid of unnecessary BUS_SPACE_MAP_LINEAR. 2002-03-20 20:39:15 +00:00
pk
f61bdee8e7 Get rid of `bus_type_t' and use BUS_ADDR() (in sbus_bus_map()) to construct
a `bus_addr_t' to pass on to bus_space_map().

Drop `va' argument from sbus_bus_map(); it should not be used by MI Sbus
drivers.
2002-03-11 16:00:55 +00:00
martin
e41836739f Remove another old debug message.
Return the real mapping size in *_mem_map and *_io_map.
Minor cleanup.
2002-03-10 16:18:44 +00:00
martin
dfbd0bc7b8 Shuffle around some initialization code a bit.
Configure power supply on VPP1 at 5V when powering up a socket.
Get rid of stray interrupts.
Make the driver quiet for normal operation when not in debugging mode.

This makes ray0 at nell0 actually work when compiled with RAY_USE_AMEM=1.
2002-03-08 21:33:43 +00:00
simonb
64c7743a05 Don't "extern int cold;" - this is in <sys/kernel.h>. 2002-03-04 02:19:07 +00:00
martin
42172d9f1c Try to configure timing correctly.
Get rid of some ad hoc debuging printfs.
2002-03-03 22:47:28 +00:00
martin
ba6fe47ae9 Simplify the way the hardware windows are mapped and adapt the pcmcia
chipset functions acordingly. Initialize timing registers (for now to
the slowest possible setting).

Add some debug output. XXX - clean this up.

This is not ready for prime time, but I can attach ray0 and wi0 now in my
LX.
2002-03-01 10:02:38 +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
7ba10b3532 add RCSIDs 2001-11-13 06:54:32 +00:00
pk
406e0f779f Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.
2000-07-09 20:57:41 +00:00
pk
9e16037265 Simplify the attach routine a bit. 2000-02-22 12:24:53 +00:00
pk
b4e291e818 Fix some off-by-one errors; patch from Jonathan O'Brien. 2000-02-22 12:12:21 +00:00
joda
78d457dc77 (stp4020_chip_mem_map): explicitly don't handle 8-bit memory 2000-01-13 10:03:25 +00:00
pk
d5a471ccc9 Check presence of Sbus interrupt properties before using them.
Only one case is known to trigger this omission: a Sparc Classic
configured as X terminal.
1999-11-21 15:01:50 +00:00