summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
Commit message (Collapse)AuthorAgeFilesLines
* Dont probe PnP devices.sos2003-01-091-0/+4
| | | | Submitted by: Takahashi Yoshihiro <nyan@FreeBSD.org>
* Fix typosos2003-01-091-1/+1
| | | | PR: 45375
* Dont attach a Promise chip located behind a i960 bridge/chip.sos2003-01-081-2/+14
| | | | | This makes it possible to run a Promise SuperTrak SX6000 with OS type set to "Other" as well as "Linux".
* Add support for the nVidia nForce2 ATA part.sos2003-01-082-10/+25
| | | | | Fix support for the nForce1 as well, registers are offset 0x10 against the AMD/VIA parts.
* Add code that works around the problem that the older Promisesos2003-01-081-11/+31
| | | | controllers (ultra/fasttrak-66/100) fails on 48bit accesses.
* Try to fix the problem with burncd blank not seeing the end ofsos2002-12-171-14/+9
| | | | the blank operation.
* This should be the way PC98 ATA disks are seen geometry wise.sos2002-12-173-4/+10
| | | | Should go into 5_0_RELEASE as well.
* Fix linking problem when atadisk is not use in ata-all.csos2002-12-063-3/+19
| | | | | | Add dummy intr_func and lock_func to ata-card.c Dont call ad_print if the driver decided there is no disk.
* Add support for the PC98 platform to the ATA driver.sos2002-12-038-42/+594
| | | | | | | | | | | | | | | | This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support. The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible.. Approved by: re@
* In ata_reinit, when ata_getparam fails for a new device (indicating thatthomas2002-12-011-4/+5
| | | | | | | | | | | the device is not actually present), clear the corresponding bit in the ch->devices bitmap. This resolves a panic that occurred with ATAPI/CAM after an APM suspend/resume, when the ATA hardware would erroneously report an extra ATAPI device. Approved by: re, sos Reviewed by: roberto MFC after: 7 days
* Allow acd(4) and cd(4) to support old behavior for CDRIOC*SPEED ioctls.njl2002-11-231-2/+15
| | | | | | | | | | If the value from the user is less than 177, assume it is a multiple of a single speed CDROM and convert to KB/sec. No complaints from: sos Reviewed by: ken Approved by: re MFC after: 1 day
* Use [u]intmax_t and %j instead of long long and %ll to better fix warningsjhb2002-11-072-4/+6
| | | | | | I fixed earlier. Requested by: mux, jake
* Use some long long casts to quiet warnings in debug printf's on alpha.jhb2002-11-062-2/+3
|
* Fill in missing parts of the ATAPI/CAM XPT: implement XPT_RESET_BUSthomas2002-10-223-26/+52
| | | | | | | | | | | | | | and XPT_RESET_DEV. In order to properly handle reset requests whether they originate in the ATA layer (atacontrol reinit) or from the CAM layer (camcontrol reset) ata_reinit does not cause the SIM to be deallocated anymore. The SIM is now unconditionnally created for each ATAPI bus. This change may cause existing bus ids to change on some setups. Reviewed by: roberto Approved by: sos
* * Add CDRIOC{READ,WRITE}SPEED ioctls to cd(4). Units are in KB/sec.njl2002-10-181-2/+2
| | | | | | | | | | | | | | | * Change atapi-cd ioctls to use the same units. * Change burncd, cdcontrol to convert CDROM speed to KB/sec before calling the ioctl. Add a "max" speed option for their command lines. This change does not break ABI but does change the units passed through the ioctl so 3rd party software that uses cdrio.h will have to convert (most likely by multiplying CDROM speed by 177 to get KB/s). PR: kern/36845 Submitted by: Philipp Mergenthaler <p@i609a.hadiko.de> (CAM ioctls) Reviewed by: sos, ken MFC after: 1 month
* Fix for the panic when using a Promise TX2.sos2002-10-081-16/+23
| | | | | | | | | The problem is that the code does a check for the granparent of the Promise chip, if this is a bridge of the right type, we have a TX4 on our hands, and need to handle that ones "issues". Now the grandparent check cause subtle bugs in the newbus system, mainly that pci_get_devid doesn't return an error value. This patch works around the issue by using BUS_READ_IVAR() instead.
* Some kernel threads try to do significant work, and the default KSTACK_PAGESscottl2002-10-021-1/+1
| | | | | | | | | | | | | doesn't give them enough stack to do much before blowing away the pcb. This adds MI and MD code to allow the allocation of an alternate kstack who's size can be speficied when calling kthread_create. Passing the value 0 prevents the alternate kstack from being created. Note that the ia64 MD code is missing for now, and PowerPC was only partially written due to the pmap.c being incomplete there. Though this patch does not modify anything to make use of the alternate kstack, acpi and usb are good candidates. Reviewed by: jake, peter, jhb
* Misc cleanups.sos2002-10-013-15/+17
| | | | Pointed out by: phk/flexelint
* Add yet another Promise PCI id.sos2002-10-013-0/+4
|
* Fix an indentation problem.phk2002-09-281-1/+1
|
* Be consistent about "static" functions: if the function is markedphk2002-09-281-1/+1
| | | | | | static in its prototype, mark it static at the definition too. Inspired by: FlexeLint warning #512
* use __packed.alfred2002-09-233-8/+8
|
* (This commit touches about 15 disk device drivers in a very consistentphk2002-09-203-25/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and predictable way, and I apologize if I have gotten it wrong anywhere, getting prior review on a patch like this is not feasible, considering the number of people involved and hardware availability etc.) If struct disklabel is the messenger: kill the messenger. Inside struct disk we had a struct disklabel which disk drivers used to communicate certain metrics to the disklayer above (GEOM or the disk mini-layer). This commit changes this communication to use four explicit fields instead. Amongst the benefits is that the fields do not get overwritten by wrong or bogus on-disk disklabels. Once that is clear, <sys/disk.h> which is included in the drivers no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in, the few places that needs them, have gotten explicit #includes for them. The disklabel inside struct disk is now only for internal use in the disk mini-layer, so instead of embedding it, we malloc it as we need it. This concludes (modulus any mistakes) the series of disklabel related commits. I belive it all amounts to a NOP for all the rest of you :-) Sponsored by: DARPA & NAI Labs.
* Remove unused #includes: <sys/disk.h> <sys/devicestat.h> and <sys/sysctl.h>phk2002-09-204-11/+0
| | | | | Sponsored by: DARPA & NAI Labs. Approved by: sos
* Make FreeBSD "struct disklabel" agnostic, step 311 of 723:phk2002-09-201-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Rename diskerr() to disk_err() for naming consistency. Drop the by now entirely useless struct disklabel argument. Add a flag argument for new-line termination. Fix a couple of printf-format-casts to %j instead of %l. Correctly print the name of all bio commands. Move the function from subr_disklabel.c to subr_disk.c, and from <sys/disklabel.h> to <sys/disk.h>. Use the new disk_err() throughout, #include <sys/disk.h> as needed. Bump __FreeBSD_version for the sake of the aac disk drivers #ifdefs. Remove unused disklabel members of softc for aac, amr and mlx, which seem to originally have been intended for diskerr() use, but which only rotted and got Copy&Pasted at least two times to many. Sponsored by: DARPA & NAI Labs.
* Add support for the VIA 8235.sos2002-09-182-2/+5
| | | | Submitted by: Jason Dambrosio <jason@wiz.cx>
* Fix the clockprobe test on the Sil 680sos2002-09-161-1/+1
|
* remove #includes of <sys/bio.h> where not needed.phk2002-09-144-4/+0
|
* Add preliminary mostly untested support for the Silicon Image Sil680 chip.sos2002-09-122-0/+93
|
* Change a couple of splcam() calls that do not make sense in atapi-camthomas2002-09-121-3/+5
| | | | | | | | | | (what we want to mask is the ATA interrupts, which run at level splbio), and add interrupt masking around the statement that modifies the request queue for a SIM. This resolves problems reported by users under heavy ATAPI load. Reviewed by: roberto
* Rearrange where to get the ATAPI magic sequence.sos2002-09-121-6/+8
| | | | Submitted by: Benjamin Close <cisbjc@cs.unisa.edu.au>
* Wait for drive to become ready if its in progress of loading..sos2002-09-121-0/+14
| | | | | | Based on patch in PR-42659, but done somewhat differently. PR: 42659
* Dont hang in atprq on poll_dsc command.sos2002-09-121-2/+4
| | | | | | This is a temporary fix until I get proper locking done. Submitted by: iedowse@maths.tcd.ie
* printf -> CAM_DEBUG so debugging prints are tunable.njl2002-08-281-60/+47
| | | | MFC after: 1 week
* Use csio pointer instead of dereferencing hcb.njl2002-08-281-5/+5
| | | | MFC after: 1 week
* Fix buffer length.sos2002-08-191-1/+1
| | | | PR: 41063
* Fix typo.sos2002-08-191-1/+1
|
* Shut up warning in debug code.sos2002-08-121-5/+5
|
* Fix the GET_TRAN_SETTINGS and SET_TRAN_SETTINGS ops to be more correct.scottl2002-08-101-8/+7
|
* Minor corrections.sos2002-08-101-13/+3
| | | | Suggested by: scottl <Scott Long>
* Add the ability to use ATAPI devices via CAM.sos2002-08-094-31/+752
| | | | | | | | | | The CAM<>ATAPI layer was submitted by "Thomas Quinot <thomas@cuivre.fr.eu.org>" changes form the version on the net by me (formatting, ability to be used alone without the ATAPI native device driver, proper speed reporting...) See /sys/conf/NOTES for usage. Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org>
* Add DVD+RW support to the ATA driver and burncd. This also closessos2002-08-082-14/+52
| | | | | | | | | PR40430 by "Peter Haight <peterh@sapros.com>" that has semilar patches included and which I merged with my own work. HW sponsored by: FreeBSD Foundation & FreeBSD Mall Inc Enjoy!
* Byteswap the serial #sos2002-07-311-0/+3
|
* OK, dont rely on the upper layers handling iosize_max correctly,sos2002-07-284-12/+10
| | | | | | instead rely on ATAPI devices ability to do the work instead. MFC material.
* Properly change the block_size on different CD media, and use thatsos2002-07-273-6/+15
| | | | | | to calculate the max amount of data in one IO request. Correct the max size on atapi floppies/tapes as well.
* Fix the max transfer size for ATAPI devices. The spec says tosos2002-07-263-4/+4
| | | | | | transfer at most 65534 bytes, thats 126 times DEV_BSIZE not 252 :( Pointed out by: Ian Dowse <iedowse@maths.tcd.ie>
* Fix the transfer size calculation.sos2002-07-221-1/+1
|
* Sync with the spl changes in -stable.sos2002-07-222-2/+6
| | | | Add start of support for DVD+RW.
* Update the tags handling a bit, which makes support for thesos2002-07-223-83/+72
| | | | | older IBM DTTA series of drives possible. Update error handling a bit now we are here.
* Remove dependency on NPCI. Use 'options ATA_NOPCI' to compile withoutpeter2002-07-211-3/+5
| | | | | | | | pci support. This really needs to be fixed properly some day, but judging by the fact that the nopci case hasn't compiled for quite a while, there does not seem to be much urgency. Reviewed by: sos
OpenPOWER on IntegriCloud