Re: nvida sata controller CK804 and NCQ not working on linux-2.6.28||29.1

From: Robert Hancock
Date: Mon Apr 06 2009 - 22:12:45 EST


l.genoni@xxxxxxxxxxxxxx wrote:

Hi,
to make NCQ work with nvidia sata CK804 I had to introduce this simple change into sata-nv.c. Is there some reason I am missing why adma_enable is not by default one, so later in the dome NCQ is not enabled?

It's had some problems with certain hotplug scenarios and seemingly others (like command timeouts) with different systems/drives. I use it on my system and it seems to work fine, but others have had some issues.

NVIDIA won't release any public register specs for this controller (the support there now was based on a partially finished version they released), and haven't been very helpful with debugging. I suspect some of the issues with it are related to hardware errata/bugs, which may partially explain their silence. There definitely are hardware bugs in this controller - just connect a SATA optical drive to it and try to read a scratched DVD with read errors. Even under Windows, with either NVIDIA's driver or the default Microsoft IDE driver, it'll usually either hardlock or machine-check blue screen the system. (It's known that the ATAPI part of ADMA is busted and unusable, but this happens with or without it enabled.)




--- linux/drivers/ata/sata_nv.c.old 2009-04-06 14:56:19.000000000 +0200
+++ linux/drivers/ata/sata_nv.c 2009-04-06 14:56:24.000000000 +0200
@@ -577,7 +577,7 @@
MODULE_DEVICE_TABLE(pci, nv_pci_tbl);
MODULE_VERSION(DRV_VERSION);

-static int adma_enabled;
+static int adma_enabled = 1;
static int swncq_enabled = 1;

static void nv_adma_register_mode(struct ata_port *ap)

regards

Luigi Genoni

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/