/* cm206.c. A linux-driver for the cm206 cdrom player with cm260 adapter card.
Copyright (c) 1995--1997 David A. van Leeuwen.
$Id: cm206.c,v 1.5 1997/12/26 11:02:51 david Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
History:
Started 25 jan 1994. Waiting for documentation...
22 feb 1995: 0.1a first reasonably safe polling driver.
Two major bugs, one in read_sector and one in
do_cm206_request, happened to cancel!
25 feb 1995: 0.2a first reasonable interrupt driven version of above.
uart writes are still done in polling mode.
25 feb 1995: 0.21a writes also in interrupt mode, still some
small bugs to be found... Larger buffer.
2 mrt 1995: 0.22 Bug found (cd-> nowhere, interrupt was called in
initialization), read_ahead of 16. Timeouts implemented.
unclear if they do something...
7 mrt 1995: 0.23 Start of background read-ahead.
18 mrt 1995: 0.24 Working background read-ahead. (still problems)
26 mrt 1995: 0.25 Multi-session ioctl added (kernel v1.2).
Statistics implemented, though separate stats206.h.
Accessible through ioctl 0x1000 (just a number).
Hard to choose between v1.2 development and 1.1.75.
Bottom-half doesn't work with 1.2...
0.25a: fixed... typo. Still problems...
1 apr 1995: 0.26 Module support added. Most bugs found. Use kernel 1.2.n.
5 apr 1995: 0.27 Auto-probe for the adapter card base address.
Auto-probe for the adaptor card irq line.
7 apr 1995: 0.28 Added lilo setup support for base address and irq.
Use major number 32 (not in this source), officially
assigned to this driver.
9 apr 1995: 0.29 Added very limited audio support. Toc_header, stop, pause,
resume, eject. Play_track ignores track info, because we can't
read a table-of-contents entry. Toc_entry is implemented
as a `placebo' function: always returns start of disc.
3 may 1995: 0.30 Audio support completed. The get_toc_entry function
is implemented as a binary search.
15 may 1995: 0.31 More work on audio stuff. Workman is not easy to
satisfy; changed binary search into linear search.
Auto-probe for base address somewhat relaxed.
1 jun 1995: 0.32 Removed probe_irq_on/off for module version.
10 jun 1995: 0.33 Workman still behaves funny, but you should be
able to eject and substitute another disc.
An adaptation of 0.33 is included in linux-1.3.7 by Eberhard Moenkeberg
18 jul 1995: 0.34 Patch by Heiko Eissfeldt included, mainly considering
verify_area's in the ioctls. Some bugs introduced by
EM considering the base port and irq fixed.
18 dec 1995: 0.35 Add some code for error checking... no luck...
We jump to reach our goal: version 1.0 in the next stable linux kernel.
19 mar 1996: 0.95 Different implementation of CDROM_GET_UPC, on
re
|