sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL
sata_inic162x is now ready for production use. Bump the version, explain what's working and what's not and drop EXPERIMENTAL. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
+2
-2
@@ -205,8 +205,8 @@ config SATA_VITESSE
|
|||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
config SATA_INIC162X
|
config SATA_INIC162X
|
||||||
tristate "Initio 162x SATA support (HIGHLY EXPERIMENTAL)"
|
tristate "Initio 162x SATA support"
|
||||||
depends on PCI && EXPERIMENTAL
|
depends on PCI
|
||||||
help
|
help
|
||||||
This option enables support for Initio 162x Serial ATA.
|
This option enables support for Initio 162x Serial ATA.
|
||||||
|
|
||||||
|
|||||||
@@ -10,13 +10,33 @@
|
|||||||
* right. Documentation is available at initio's website but it only
|
* right. Documentation is available at initio's website but it only
|
||||||
* documents registers (not programming model).
|
* documents registers (not programming model).
|
||||||
*
|
*
|
||||||
* - ATA disks work.
|
* This driver has interesting history. The first version was written
|
||||||
* - Hotplug works.
|
* from the documentation and a 2.4 IDE driver posted on a Taiwan
|
||||||
* - ATAPI read works but burning doesn't. This thing is really
|
* company, which didn't use any IDMA features and couldn't handle
|
||||||
* peculiar about ATAPI and I couldn't figure out how ATAPI PIO and
|
* LBA48. The resulting driver couldn't handle LBA48 devices either
|
||||||
* ATAPI DMA WRITE should be programmed. If you've got a clue, be
|
* making it pretty useless.
|
||||||
* my guest.
|
*
|
||||||
* - Both STR and STD work.
|
* After a while, initio picked the driver up, renamed it to
|
||||||
|
* sata_initio162x, updated it to use IDMA for ATA DMA commands and
|
||||||
|
* posted it on their website. It only used ATA_PROT_DMA for IDMA and
|
||||||
|
* attaching both devices and issuing IDMA and !IDMA commands
|
||||||
|
* simultaneously broke it due to PIRQ masking interaction but it did
|
||||||
|
* show how to use the IDMA (ADMA + some initio specific twists)
|
||||||
|
* engine.
|
||||||
|
*
|
||||||
|
* Then, I picked up their changes again and here's the usable driver
|
||||||
|
* which uses IDMA for everything. Everything works now including
|
||||||
|
* LBA48, CD/DVD burning, suspend/resume and hotplug. There are some
|
||||||
|
* issues tho. Result Tf is not resported properly, NCQ isn't
|
||||||
|
* supported yet and CD/DVD writing works with DMA assisted PIO
|
||||||
|
* protocol (which, for native SATA devices, shouldn't cause any
|
||||||
|
* noticeable difference).
|
||||||
|
*
|
||||||
|
* Anyways, so, here's finally a working driver for inic162x. Enjoy!
|
||||||
|
*
|
||||||
|
* initio: If you guys wanna improve the driver regarding result TF
|
||||||
|
* access and other stuff, please feel free to contact me. I'll be
|
||||||
|
* happy to assist.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
@@ -28,7 +48,7 @@
|
|||||||
#include <scsi/scsi_device.h>
|
#include <scsi/scsi_device.h>
|
||||||
|
|
||||||
#define DRV_NAME "sata_inic162x"
|
#define DRV_NAME "sata_inic162x"
|
||||||
#define DRV_VERSION "0.3"
|
#define DRV_VERSION "0.4"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MMIO_BAR_PCI = 5,
|
MMIO_BAR_PCI = 5,
|
||||||
|
|||||||
Reference in New Issue
Block a user