Commit Graph

49 Commits

Author SHA1 Message Date
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 a35450fe90 Backout previous. While it fixes half of the problem for me, it is not
the right fix.
2002-03-31 13:27:32 +00:00
martin 6d37025002 Establish/disestablish the interrupt handler when enabling/disabling the
controller - no matter if we are called from attach or not.
This makes my FreeCOM CD drive work at first attach (PR 13480).

Something is wrong with the detach code; it won't work on second attach
and will panic on second detach - but that has to wait until the kids
took care of some easter eggs.
2002-03-31 07:19:03 +00:00
simonb c37d15083b Fix a tyop in a comment. 2002-01-29 00:31:55 +00:00
soren 3faa83dcb4 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-16 17:53:17 +00:00
lukem ab5d9d2b0c add RCSIDs 2001-11-13 07:24:43 +00:00
christos d9b3639de6 quirk for panasonic adapter. 2001-10-14 19:21:45 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
uch c567a80bdc CF memory mapped addressing mode. http://www.compactflash.org/cfspc1_4.pdf 2001-03-08 15:20:57 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
takemura 1c518d67a0 Add WDC_CAPABILITY_SINGLE_DRIVE to ignore secound drive. Wdc on pcmcia will
be attached with this flag.
Some CF Card (for ex. IBM MicroDrive and SanDisk) doesn't seem to implement
drive select command. In this case, you can't eliminate ghost drive properly.
So you should use this flag to ignore the ghost by force.
2001-01-06 14:55:49 +00:00
sato 4e15bd1d3a add Novac PCMCIA-IDE Card(Card for HD530P PCMCIA-IDE Box).
No vendor ID, no product ID, and the wpp_cis_info is 'PCMCIA', 'PnPIDE'.
2000-12-27 10:41:00 +00:00
haya 22be9ab855 Add IO Data CBIDE2 ata interface card. 2000-12-20 09:56:34 +00:00
abs cf699a23e5 Add a 'value engineered' generic pcmcia CD-ROM drive, badged 'AMACOM'.
No vendor ID, no product ID, and the wpp_cis_info is 'PCMCIA', 'CD-ROM'.
I'd be encouraged at some progress towards 'generic devices', except
someone else is bound to produce something that identifies the same, but
requires a quirk. Can I go back to my sparc now?
Make two other comments consistent while here.
2000-12-18 17:21:11 +00:00
haya a4df364077 METHOD CHANGE: Use CIS_FUNCE data which is decoded by pcmcia_cis.c,
instead of decode cis tuple by itself.  This change leads to suppress
one power-cycling.
2000-10-25 09:32:11 +00:00
abs c9355a957c Add the pccard controller for a Toshiba Portege drive. No vendor ID, no
product ID, and in this temporary loan, no bleeding power supply so it
can only probe the controller and not the drive. Still, its something.
2000-07-20 23:20:01 +00:00
mrg 261538ecac remove include of <vm/vm.h> 2000-06-28 16:39:25 +00:00
bouyer 3b69a8011b make it compile again after ATAPI changes. 2000-04-01 17:52:14 +00:00
enami 158df7b6f1 Don't establish an interrupt if attach is in progress. Anyway, current wdc
and its children doesn't require interrupt on attach.
2000-02-21 03:55:22 +00:00
enami 9267b8f018 Remove unnecessary includes. 2000-02-05 04:41:49 +00:00
enami 730f15bb19 Free resources on attach failure. 2000-02-04 09:31:07 +00:00
enami 19aa9f2cbb The workaround for Hagiwara SYS-COM Compact Flash card is no longer necessary. 2000-02-01 06:48:15 +00:00
enami 7acb650645 - fix comment style/indentaion.
- add comment to refer aic_pcmcia_enable.
2000-01-24 23:14:23 +00:00
augustss 903e37734d Add EXP Computer Inc. PCMCIA controller.
From Brad Spencer <brad@anduin.eldar.org> in PR 9140.
2000-01-08 07:34:49 +00:00
sommerfeld d4cc45ba08 Fix hot-swapping for controllers which grab two ranges of port space.
(if the mapping of the second range succeeded, it would forget about
the window of the second address range, causing a subsequent insertion
event to fail..).

My Sony PCGA-CD51 now hot-swaps a lot better now.
1999-12-09 03:22:41 +00:00
soren 6f6045c97d Regen. 1999-11-27 01:03:33 +00:00
takemura cad52c9e08 Add a entry for Mobile Dock 2, which is 2.5" HDD adapter. 1999-11-21 10:13:08 +00:00
enami a2369d8e97 Cancel active transfers on aic/wdc detach.
Also makes LS-120 drive works for me again.
1999-10-20 15:22:24 +00:00
enami 67e874d814 Allow to detach wdc, atapibus, wd and cd. 1999-09-23 11:04:29 +00:00
enami 99024b0423 print newline. 1999-09-22 10:03:37 +00:00
abs ab9ab83d05 Add ID for IBM 'PCMCIA Portable CD-ROM Drive'. We only have one of these and it
may be broken (it choked under Windows), but it at least now probes.
1999-02-19 21:49:43 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
pk 0f7176ff24 Remove unwanted inclusion of an isa header file. 1998-11-22 21:58:50 +00:00
drochner 3e38051bc5 in wdc_softc: access the per-channel data via a pointer array instead of
an array of fixed-sized channel_softc elements. This way IDE controllers
which more than 1 channel (pciide) can extend the channel data easily
for private needs.
To avoid the double dereference at runtime, change the argument of
wdcstart() to the channel data pointer instead of the array index.
1998-11-21 15:41:41 +00:00
thorpej 792462c236 Add support for power management and lazy interrupt establishment
to PCMCIA IDE controllers (include PCMCIA flash cards).
1998-11-20 01:52:22 +00:00
enami 9ddbeaedbb - match if the function just probing is disk and its interface is ATA.
- use product table only for the card which requires quirks or doesn't
  have disk device interface tuple.
1998-10-29 09:49:51 +00:00
enami 634f1b5bf7 fix typo and some indentation. 1998-10-29 09:42:45 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej e0fa7545bf Use pcmcia_io_free() where appropriate. 1998-10-10 22:01:24 +00:00
enami b85655c706 Use an appropriate value for wpp_quirk_flag. 1998-09-18 14:43:58 +00:00
kenh 537261f6c5 Reorganize the probe routine and add a quirk table. Much of this code
comes from Enami Tsugutomo (enami@but-b.or.jp).  Also add a couple more
devices to the pcmcia devices table.
1998-09-10 19:55:30 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
enami 486c074973 An oversight in previous commit. 1998-06-05 03:40:07 +00:00
enami 03409c9b52 - Don't print newline until pcmcia_io_map is called; it expects to write
from middle of line.
- Use SIMPLEQ_FIRST/NEXT macros.
1998-06-05 03:26:52 +00:00
enami 98d557d09e No need to define WDDEBUG or undefine ATAPI_DEBUG_WDC here. 1998-06-04 02:46:24 +00:00
matt 4bca66087f Now works with the Digital Hinote Ultra Mobile Media CD-ROM 1998-04-25 17:43:27 +00:00
mycroft e89c38b4c2 Slight cleanup. 1998-01-23 01:14:13 +00:00
matt aa7bb65b1c Initial support for Digital Mobile Media Adapter. 1998-01-19 19:49:03 +00:00