Søren Schmidt
a4c3e742b7
Refine the wait for ATAPI_RESET.
...
Properly wait for not busy and introduce a timeout for devices not
setting busy (as they should).
Leave a printf in there that states how long the wait was, as I'd like
to get an idea of the variations here. The time needed seems also to be
affected by whether a medium is present or not.
2004-07-24 19:03:28 +00:00
Søren Schmidt
426fc84503
Dont expect interrupt from ATAPI_RESET, it doesn't deliver one.
2004-07-23 17:01:47 +00:00
Søren Schmidt
4ad91b11e7
Dont set "address setup timing" on newer VIA chips.
...
closes PR: 69180
2004-07-17 14:48:46 +00:00
Søren Schmidt
cc97de873c
Attempt to handle suspend/resume better.
2004-07-12 10:50:50 +00:00
Søren Schmidt
3e3807252b
Remove leftover debug output.
2004-06-30 09:22:47 +00:00
Søren Schmidt
dfc7e0081f
Add support for LSI type software RAID's.
...
Made possible by: John Cagle @ HP
2004-06-25 21:21:59 +00:00
Søren Schmidt
29dc49f725
Use the right ordering of args on mtx_init(). No functional changes
...
since the args in question was all zero's.
Found by: Jimmy Olgeni <olgeni@FreeBSD.org>
2004-06-22 11:18:25 +00:00
Brian Feldman
5fd2bb173d
Call the detach function with g_waitfor_event() so that it can access
...
the GEOM topology.
There are still issues with not detaching from cam correctly such that
upon a device detach there's an invalid pointer dereference from the
later call to cam_rescan().
2004-06-21 20:42:03 +00:00
Søren Schmidt
b2c082c98b
Up SiI reset wait a bit, some devices got lost.
2004-06-17 21:36:10 +00:00
Brian Feldman
3c632a5847
atapicam(4) is currently off by three orders of magnitude regarding the
...
timeout values in the CAM CCBs. Divide by 1000 to get values in seconds
which are what ata(4) timeouts internally use.
This does lose granularity, though, and small values can now round down
to zero. It's probably worth making all ata(4) timeouts in terms of
hz/ticks/milliseconds/something.
2004-06-17 07:29:56 +00:00
Poul-Henning Kamp
89c9c53da0
Do the dreaded s/dev_t/struct cdev */
...
Bump __FreeBSD_version accordingly.
2004-06-16 09:47:26 +00:00
Søren Schmidt
821b5752b3
Oops, backout debug code..
2004-06-15 11:38:48 +00:00
Søren Schmidt
ebb6fc23c2
Dont set prefetch etc on VIA chips, causes problems on newer chips and
...
ATAPI devices.
2004-06-15 11:16:36 +00:00
Søren Schmidt
ca5d21e917
Increase robustness of SATA handling.
2004-06-15 11:02:09 +00:00
Søren Schmidt
68599b781f
Back out the last change as that broke some SATA devices.
...
Now we are cleaing up remove a few lines of unused code.
2004-06-11 07:39:15 +00:00
Poul-Henning Kamp
186f2b9e04
Add missing <sys/module.h> includes currently relying on nested include
...
in <sys/kernel.h>
2004-06-03 06:10:02 +00:00
Søren Schmidt
86e711a393
When waiting for drive to become ready, reinit the request params as they
...
might get trashed by autosensing.
2004-06-01 12:28:45 +00:00
Søren Schmidt
c83c43b66e
Use the right cmd+errorcode if we are in autosense/not.
2004-06-01 12:26:08 +00:00
Søren Schmidt
92b3fb2908
Only set and report error if not set already.
2004-06-01 11:37:24 +00:00
Søren Schmidt
541cd509d3
Dont retry on devices that left the system.
...
Ignore "fake" devices that has 0x7f status.
2004-06-01 11:34:46 +00:00
Warner Losh
2e31e339d1
Fix disordering of pccarddevs.h noticed by bde. Also remove a few
...
redundant includes and fix some of the include disordering.
Submitted by: bde
2004-05-27 03:49:45 +00:00
Warner Losh
dba6dd177b
Move to generating pccarddevs.h on the fly, both for the kernel and
...
the modules.
Also generate usbdevs.h automatically now, but a non-kernel file is
stopping that at the moment.
2004-05-26 00:53:10 +00:00
Dag-Erling Smørgrav
76b108abfe
Whitespace cleanup.
2004-05-20 14:49:12 +00:00
Søren Schmidt
263b4cdea3
Rip out the too verbose "spurious interrupt" printf's, they dont serve
...
a purpose any longer.
2004-05-17 17:53:12 +00:00
Søren Schmidt
45bf968a10
Fix Sii3114 support.
2004-05-10 20:23:25 +00:00
Søren Schmidt
6230b63c5a
Do at better job at unit numbering.
2004-04-30 18:49:03 +00:00
Søren Schmidt
ad452ba45c
Spring cleanup of macros
2004-04-30 16:21:34 +00:00
Søren Schmidt
1e311c1849
Reduce the time spent looking for devices on channels that return
...
what looks like garbage.
2004-04-27 15:52:08 +00:00
Søren Schmidt
1b7cfe4458
Use pci_get_progif to decide if this is one of the primary/secondary
...
channels. This also work when PCI native mode has been selected
(patch for /sys/dev/pci/pci.c needed for that) since pci_get_progif
uses the saved value for progif, not the one stored after we may have
changed from legacy mode to native PCI mode.
2004-04-27 12:54:59 +00:00
Søren Schmidt
494377df3d
Try the simplify determining what is ata0 and ata1.
...
Remove the PCI native addressing code, it eed to be run before we even
have control in the ATA driver and should be moved to the pci code.
2004-04-24 16:32:06 +00:00
Søren Schmidt
3b53326f69
Change setup for SiS device to allow PCI native mode.
2004-04-24 15:54:20 +00:00
Søren Schmidt
4ee3fbe86b
Make the test for ATA PCI legacy addressing mode more robust.
...
Add code (currently ifdef'd out) to allow ATA PCI native addressing.
Fix the altio offset for ATA PCI devices.
2004-04-21 20:03:26 +00:00
Søren Schmidt
470fcc93b9
Do not pre-allocate resources for BAR's on ATA MASTERDEV's thats on
...
the standard ATA primary and secondary addresses.
Reintroduce the size 1 ALTIO space so that we can have both ATA and
floppies back working.
2004-04-20 20:57:29 +00:00
Søren Schmidt
9036df118c
Move a verbose printf before the first exit so we get a chance
...
to see what was there.
2004-04-19 18:29:43 +00:00
Søren Schmidt
f2972d7eb8
Add support for the Promise command sequencer present on all modern Promise
...
controllers (PDC203** PDC206**).
This also adds preliminary support for the Promise SX4/SX4000 but *only*
as a "normal" Promise ATA controller (ATA RAID's are supported though
but only RAID0, RAID1 and RAID0+1).
This cuts off yet another 5-8% of the command overhead on promise controllers,
making them the fastest we have ever had support for.
Work is now continuing to add support for this in ATA RAID, to accellerate
ATA RAID quite a bit on these controllers, and especially the SX4/SX4000
series as they have quite a few tricks in there..
This commit also adds a few fixes to the SATA code needed for proper support.
2004-04-13 09:44:20 +00:00
Nate Lawson
5f96beb9e0
Convert callers to the new bus_alloc_resource_any(9) API.
...
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
2004-03-17 17:50:55 +00:00
Søren Schmidt
b47183d51a
Update the SiS support to distinguish older southbridges better.
2004-03-16 16:23:28 +00:00
Søren Schmidt
498e55436a
Add support for detaching PCI controllers.
...
This adds support for cardbus ATA/SATA controllers. I get roughly the
same transfer speeds as on true PCI controllers. Nice to be able to add
a couble of "real" disks to a laptop :)
2004-03-15 12:03:48 +00:00
Søren Schmidt
ba18e26520
Add yet another VIA pci id.
2004-03-11 14:08:11 +00:00
Søren Schmidt
c5df0d743e
Only setup sii_reset on sii311[24].
2004-03-04 16:39:59 +00:00
Thomas Quinot
71fe368a83
Use auto-sense data provided by the lowlevel ATA code.
2004-03-04 15:37:39 +00:00
Søren Schmidt
f0aafe7d84
If being verbose in the autosense code, print the original error.
2004-03-02 16:16:54 +00:00
Søren Schmidt
37baea5bd5
Report the original command on failures that causes auto sense.
...
Keep the ATA_R_QUIET flag if set during autosense.
2004-03-02 14:05:12 +00:00
Søren Schmidt
c4c0e4fc3b
Fix getting progress data for some device in yet another way.
...
Take advantage of the new autosense logic.
2004-03-02 14:03:43 +00:00
Søren Schmidt
e7c9858a8f
Remember to mtx_destroy mutexes.
2004-03-01 13:17:07 +00:00
Søren Schmidt
9a19089d86
Rearrange sense_key and sense_data to get alignment right.
...
Submitted by: Marcel
2004-02-29 09:35:29 +00:00
Søren Schmidt
dc7485d940
Issue a request sense command automagically when ATAPI commands fail
...
with a valid sense key.
2004-02-28 17:47:27 +00:00
Søren Schmidt
1c342d89ce
Add support for the sii3512 SATA chip.
2004-02-25 09:55:49 +00:00
Poul-Henning Kamp
dc08ffec87
Device megapatch 4/6:
...
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
2004-02-21 21:10:55 +00:00
Søren Schmidt
056b9907de
Dont alloc size 0 buffers.
2004-02-21 18:30:03 +00:00