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
Søren Schmidt
73f8099662
Check both PORTEN and MEMEN for enabled HW.
2004-02-21 18:21:13 +00:00
Søren Schmidt
0c7ab1146f
Only register interrupt as seen if it was a real HW interrupt.
2004-02-21 16:55:10 +00:00
Poul-Henning Kamp
0b7ed341e1
Change the disk(9) API in order to make device removal more robust.
...
Previously the "struct disk" were owned by the device driver and this
gave us problems when the device disappared and the users of that device
were not immediately disappearing.
Now the struct disk is allocate with a new call, disk_alloc() and owned
by geom_disk and just abandonned by the device driver when disk_create()
is called.
Unfortunately, this results in a ton of "s/\./->/" changes to device
drivers.
Since I'm doing the sweep anyway, a couple of other API improvements
have been carried out at the same time:
The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to
DISKFLAG_NEEDSGIANT
A version number have been added to disk_create() so that we can detect,
report and ignore binary drivers with old ABI in the future.
Manual page update to follow shortly.
2004-02-18 21:36:53 +00:00
Søren Schmidt
3b270fcfe8
Dont use the bio_taskqueue if we are in timeout.
...
Use taskqueue_thread rather than taskqueue_swi (maybe we should have
a taskqueue_ata).
2004-02-17 19:24:11 +00:00
Thomas Quinot
a0e1020523
(atapi_cb): Reenable automatic retrieve of sense data on error, making
...
it asynchronous to avoid incorrect use of ata_atapicmd within an
ATAPI callback.
Tested by: harti
2004-02-11 10:14:08 +00:00
Søren Schmidt
fb94df0e92
Commit simple workarounf for the "LiteOn" hang on boot problem.
...
This allows the system to boot so I can get the world out of
my mailbox and get some work done to figure out what this mess
is all about.
2004-02-06 11:36:50 +00:00
Søren Schmidt
b8f6dec455
Move the enabling of interrupt back to where it was some time ago.
...
This apparently was what broke the boot with some devices (liteon).
2004-02-02 15:49:01 +00:00
Søren Schmidt
6595b49405
Fix support for the Promise TX4 on amd64.
...
Somehow the bridge on there shows up with another PCI id than
it does on x86, no idea why...
2004-02-02 14:05:57 +00:00
Søren Schmidt
367d380b54
Be more robust in the probe. We dont want to get into a loop with
...
reinitting when we try to identify devices. If they dont interrupt
on identify we retry once. If this fails we simply ignore that device.
2004-01-30 19:16:08 +00:00