Commit Graph

25 Commits

Author SHA1 Message Date
he
3e86f3b06f Rename macro-local variables so that __read_1() and __write_1() does
not use the same variable name.  Fixes -Wshadow warning.
2005-06-26 19:54:42 +00:00
he
b8908d5fed Make this compile again after the introduction of usb_dma_reserve;
need to include <dev/usb/usb_mem.h> now to pick up it's definition.
2004-12-31 11:06:53 +00:00
thorpej
e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
he
b23dd66ac3 It's atac_pio_cap, not atac_PIO_cap. I wonder how I could get this
to compile earlier...
2004-08-25 10:40:15 +00:00
he
1e7492c638 Make this compile again by removing a now-unused local variable
and picking up cmd_iot from the new register struct instead of the
channel struct.
2004-08-21 10:09:21 +00:00
thorpej
9cc521a148 Move most of wdc_softc into a new atac_softc structure that contains
info common to all types of ATA controllers.
2004-08-20 06:39:37 +00:00
thorpej
4b51cecfc2 - Split the register handles out of struct wdc_channel into a separate
wdc_regs structure, and array of which (indexed per channel) is pointed
  to by struct wdc_softc.
- Move the resulting wdc_channel structure to atavar.h and rename it to
  ata_channel.  Rename the corresponding flags.
- Add a "ch_ndrive" member to struct ata_channel, which indicates the
  maximum number of drives that can be present on the channel.  For now,
  this is always 2.  Add an ATA_MAXDRIVES constant that places an upper
  limit on this value, also currently 2.
2004-08-14 15:08:04 +00:00
thorpej
2ecdd552dc Add the notion of "shadow registers" to the wdc driver. These shadow
registers are registers that overlap with others on many controllers, but
which may actually be distinct on some controllers.  Right now, the two
shadows are:

- wd_status (usually overlaps wd_command)
- wd_features (usually overlaps wd_error)

Add a new helper function, wdc_init_shadow_regs(), used to initialize
the shadow register handles on controllers where they do actually overlap.

Partially from Jordan Rhody @ Wasabi Systems, Inc.
2004-05-25 20:42:40 +00:00
he
38d0807d97 Make these compile again after the latest adjustments. 2004-01-06 18:46:07 +00:00
thorpej
a963286f8d More wdc_channel structure member namespace cleanup:
- channel -> ch_channel
- wdc -> ch_wdc
2004-01-03 22:56:52 +00:00
thorpej
5bd80d8373 Rename "struct channel_softc" to "struct wdc_channel". 2004-01-03 01:50:52 +00:00
thorpej
527c829fa0 Rename:
- wdc_xfer to ata_xfer
- channel_queue to ata_queue
and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA
controllers.  Clean up the member names of these structures while at it.
2004-01-01 17:18:53 +00:00
thorpej
0beb075071 Simplify allocation of the channel queue. 2003-12-31 02:50:34 +00:00
uch
f948356718 Update for new world of indirect wdc registers. 2003-12-11 09:53:15 +00:00
bouyer
ab176e7665 Add adabus. 2003-10-08 11:14:12 +00:00
mycroft
eefae40298 Hide the use of config_interrupts() in one place. 2003-09-25 19:29:48 +00:00
mycroft
d40837608f 1) Use config_interrupts() to attach IDE and ATAPI drives. This eliminates
most polling.
2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path
   (it's gratuitous) and simplify the code by calling pciide_map_compat_intr(),
   *_set_modes() and wdc_print_modes() from central locations.
3) Add a register writability and register ghost test to eliminate phantom
   drives more quickly.
2003-09-19 21:35:56 +00:00
lukem
ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
wiz
4824190751 transmission, not transmition. 2003-01-06 13:17:01 +00:00
thorpej
95fa2e148a Use aprint_normal() for cfprint routines. 2003-01-01 01:57:51 +00:00
thorpej
adb90ad2ae Use CFATTACH_DECL(). 2002-10-02 04:17:21 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +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
uch
2fa5ea9720 playstation2 port 2001-10-16 15:38:29 +00:00