Re: Playing with SATA NCQ

Jeff Garzik
2005-05-27T04:42:10Z

Jens Axboe wrote:
> @@ -189,7 +194,7 @@
> .ioctl = ata_scsi_ioctl,
> .queuecommand = ata_scsi_queuecmd,
> .eh_strategy_handler = ata_scsi_error,
> - .can_queue = ATA_DEF_QUEUE,
> + .can_queue = ATA_MAX_QUEUE,
> .this_id = ATA_SHT_THIS_ID,
> .sg_tablesize = AHCI_MAX_SG,
> .max_sectors = ATA_MAX_SECTORS,
> @@ -200,7 +205,7 @@
> .dma_boundary = AHCI_DMA_BOUNDARY,
> .slave_configure = ata_scsi_slave_config,
> .bios_param = ata_std_bios_param,
> - .ordered_flush = 1,
> + .ordered_flush = 0, /* conflicts with NCQ for now */
> };
>
> static struct ata_port_operations ahci_ops = {

Also, you'll probably want to implement ata_scsi_change_queue_depth, and
reference it in ahci.c (and other NCQ-capable drivers).

Jeff