Commit 22bfc6d5 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

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: default avatarTejun Heo <htejun@gmail.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent ba66b242
...@@ -205,8 +205,8 @@ config SATA_VITESSE ...@@ -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 @@ ...@@ -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 @@ ...@@ -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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment