summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-cd.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Misc cleanups.sos2002-10-011-13/+15
| | | | Pointed out by: phk/flexelint
* 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
* Add DVD+RW support to the ATA driver and burncd. This also closessos2002-08-081-12/+50
| | | | | | | | | 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!
* OK, dont rely on the upper layers handling iosize_max correctly,sos2002-07-281-1/+1
| | | | | | 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-271-3/+12
| | | | | | 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-261-1/+1
| | | | | | transfer at most 65534 bytes, thats 126 times DEV_BSIZE not 252 :( Pointed out by: Ian Dowse <iedowse@maths.tcd.ie>
* Use %02d in track numbers, so that 1 is 01, much easier for scriptssos2002-05-281-1/+1
|
* Cleanups.sos2002-04-051-6/+1
|
* Make the ATA driver compile & work on the sparc64 platform.sos2002-04-051-0/+25
| | | | | | | Initial work & code by tmm. Lots of changes and rearrangements by yours truely to make busdma be a little less a PITA (but I still dont like it).
* Retire the bogus ioctl DIOCGPART in toto.phk2002-04-021-5/+0
| | | | | | | Once again we can notice that badly thought out hacks ferment and infect far more code than initially expected. Sponsored by: DARPA and NAI Labs.
* Change the suser() API to take advantage of td_ucred as well as do ajhb2002-04-011-1/+1
| | | | | | | | | | | | general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@
* Fix support for multi CD changers, it was as broken as my old NEC :)sos2002-03-271-16/+13
| | | | | | MFC: ASAP :
* Misc little cleanups.sos2002-03-261-4/+4
|
* Add more functionality to the CDIOCREADSUBCHANNEL ioctl.sos2002-03-161-25/+29
| | | | PR: 26644
* Add new support for locking an ATA channel and use that throughoutsos2002-03-111-1/+1
| | | | | | the ATA/ATAPI driver. This solves the concurrency problem with the new GEOM code, and also cuts a good deal of the patch size in the upcoming MFC.
* Minor cosmetic changes to minimise diffs for MFC.sos2002-03-071-1/+0
|
* Added undocumented options AAC_DEBUG, ACD_DEBUG, ACPI_MAX_THREADS,bde2002-02-151-0/+2
| | | | | | | | | | | | | | | | | | | | ACPI_NO_SEMAPHORES, ASR_MEASURE_PERFORMANCE, AST_DEBUG, ATAPI_DEBUG, ATA_DEBUG, BKTR_ALLOC_PAGES, BROOKTREE_ALLOC_PAGES, CAPABILITIES, COMPAT_SUNOS, CV_DEBUG, MAXFILES, METEOR_TEST_VIDEO, NDEVFSINO, NDEVFSOVERFLOW, NETGRAPH_BRIDGE, NETSMB, NETSMBCRYPTO, PFIL_HOOKS, SIMOS, SMBFS, VESA_DEBUG, VGA_DEBUG. Start using #! to comment out negative options and ## to comment out broken options. atapi-all.c: Fixed rotted bits that were hiding under ATAPI_DEBUG. atapi-cd.c: #include "opt_ata.h" so that ACD_DEBUG is actually visible. ata/atapi-tape.c #include "opt_ata.h" so that AST_DEBUG is actually visible.
* Fix buglets in the ATAPI resume code.sos2002-02-121-0/+1
| | | | | This also fixes an old bug where some ATAPI devices went into funny mode on an 'atacontrol reinit' command.
* Major update of the ATA RAID code, part 1:sos2002-02-041-141/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overhaul of the attach/detach code and structures, there were some nasty bugs in the old implementation. This made it possible to collapse the ATA/ATAPI device control structures into one generic structure. A note here, the kernel is NOT ready for detach of active devices, it fails all over in random places, but for inactive devices it works. However for ATA RAID this works, since the RAID abstration layer insulates the buggy^H^H^H^H^H^Hfragile device subsystem from the physical disks. Proberly detect the RAID's from the BIOS, and mark critical RAID1 arrays as such, but continue if there is enough of the mirror left to do so. Properly fail arrays on a live system. For RAID0 that means return EIO, and for RAID1 it means continue on the still working part of the mirror if possible, else return EIO. If the state changes, log this to the console. Allow for Promise & Highpoint controllers/arrays to coexist on the same machine. It is not possible to distribute arrays over different makes of controllers though. If Promise SuperSwap enclosures are used, signal disk state on the status LED on the front. Misc fixes that I had lying around for various minor bugs. Sponsored by: Advanis Inc.
* Allow setting the CD type on cue sheetssos2001-12-041-2/+4
|
* Don't call cdevsw_add().phk2001-11-041-6/+0
|
* Make an ATAPI CD device appear as /dev/acdN and the individualsos2001-10-191-13/+7
| | | | | | | | | tracks as /dev/acdNtY. This solves the problems with having to deal with howmany and which devices are open. For hysterical reasons ONLY, make a link to both the acdNa & acdNc devices.
* Change the way DAO/TAO mode is init'ed.sos2001-10-011-20/+21
| | | | Fix a bogon introduced in the previous commit, that broke CDIOREADSUBCHANNEL.
* Overhaul to minimize stack usage, in some places >2K was usedsos2001-09-201-128/+130
| | | | on the stack *blush*...
* KSE Milestone 2julian2001-09-121-4/+5
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Add kernel side support for DAO burning.sos2001-09-101-26/+83
|
* Fix the size of medium code, the old one failed for DVD's.sos2001-09-061-1/+14
| | | | This might introduce problems on normal CD's (again) sigh...
* Fix verbose probe message.sos2001-09-061-6/+8
| | | | PR: 29360
* Add support for set/getting the region code on DVD drives.sos2001-09-061-0/+3
| | | | PR: 28604
* Finally commit some of the minor things I've collected over the last month(s):sos2001-08-211-3/+8
| | | | | | | | | | | | | | | | | | | | Add tagged queueing support for new IBM drives. Add support for Yet Another Promise ATA 100 chip. Flush disk cache on close. Dont flush the disk cache on BIO_ORDERED anymore. Cleanup the tests for DMA on ATAPI devices. Allow to share ALL irq's even the std irg 14 & 15. Fix calculation bug in end of media code on CD's. Add REZERO on opening a CDR/CDRW. Cleanup ataioctl a bit.
* Disallow ATAPI CD transfers that are not a multiple of the device blocktmm2001-07-291-1/+5
| | | | | | | | | size (previously, the transfer size would be rounded up to a multiple of the block size, which would overflow the buffer). This fixes panics when doing things like trying to mount audio CD's. PR: kern/21946 Review Timeout: sos
* Quiet the READ_TOC errors that can appear on empty CDR's.sos2001-06-071-2/+2
| | | | Assure cur_write_speed can be no less than 177 to avoid divide by 0 error.
* Dont try to play tracks outside whats on the media.sos2001-05-301-1/+2
| | | | PR 26647
* Update to support the NEC NR-7500A burners.sos2001-05-301-2/+16
|
* Fix for the fixate problem on the Yamaha burners.sos2001-05-291-2/+2
|
* Remove the error var, it hides the real one.sos2001-05-091-1/+1
| | | | | | | PR 27213. BTW the CDIOCREADAUDIO ioctl is deprecated, its not longer needed and was an ugly hack from start on.
* Actually biofinish(struct bio *, struct devstat *, int error) is more generalphk2001-05-061-14/+5
| | | | | | than the bioerror(). Most of this patch is generated by scripts.
* On burners that return faulty ready on fixate, wait for thesos2001-04-051-33/+45
| | | | | | | expected fixate time before returning. Dont print error messages to the console on READ_TOC on a blank media.
* Use PLAY_MSF instead of PLAY_BIG when doing audio play.sos2001-03-271-29/+32
| | | | | | | | | | | The fixes the problem of PLAY_BIG not being implemented on some modern drives. The problem now is that some old drives use BSD encoding in the MSF case, which they dont tell, and which is also not according to spec *sigh*. Hopefully there are not too many of those still alive, or I hereby grant license to kill the firmware writers that wrote the mess.
* Send the remains (such as I have located) of "block major numbers" tophk2001-03-261-1/+0
| | | | the bit-bucket.
* Fix the problem with some drives not reporting back when thesos2001-03-231-14/+15
| | | | | | are busy blanking and erasing CD-RW media. This fixes burncd's premature returns from blanking/erasing that caused trouble.
* The size of the disk can't be gotten reliably with the read capacitysos2001-03-211-20/+11
| | | | command, so use the info from the TOC instead.
* Set the device names as early as possible.sos2001-03-211-3/+6
|
* On open create all the CD physical track devices according to thesos2001-03-191-40/+39
| | | | TOC read from the CD, instead of cloning them when asked to.
* Cosmetic changes.sos2001-03-191-16/+16
|
* Provide the interface to atacontrol and associated logic.sos2001-03-151-67/+63
| | | | | | | | | see atacontrol(8) for more. Also the ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC and ATA_ENABLE_TAGS options are gone, use the tuneables listed in ata.4 instead from the loader (this makes it possible to switch off DMA before the driver has to touch the devices on broken hardware).
* Refine the detach/attach code.sos2001-03-141-10/+41
| | | | | | | | | | Proberly fail outstanding bio requests on devices that are detached. This makes it possible to change between disk/cdrom/dvd/whathaveyou in a notebook, just by suspending it, changing the device in the bay (or what you model calls it), unsuspend and the ATA driver will figure out what disappeared and properly fail those, and attach any new devices found.
* Cosmetic change to the probe printf'ssos2001-03-061-1/+1
|
* Introduce busspace instead of the good old in/out instructions.sos2001-02-061-1/+3
| | | | Not pretty but it works (I hope)...
* Fix the clone functionality in atapi-cd, it didn't work forsos2001-02-061-6/+10
| | | | | devs other than the first, and allowed to clone a nonexistent device..
OpenPOWER on IntegriCloud