From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pat LaVarre Subject: Re: SATA ATAPI work in progress Date: 14 May 2004 18:02:43 -0600 Sender: linux-ide-owner@vger.kernel.org Message-ID: <1084579362.3271.5.camel@patibmrh9> References: <1084393233.3999.2.camel@patibmrh9> <40A28BB6.7090204@pobox.com> <1084403654.3196.31.camel@patibmrh9> <40A3E595.8000003@pobox.com><108455 9 000.4017.52.camel@patibmrh9> <40A51604.8070208@pobox.com><1084578453.5343. 26.camel@patibmrh9> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-dOQL8CzDdMkNezq1RvDR" Return-path: Received: from email-out1.iomega.com ([147.178.1.82]:21122 "EHLO email.iomega.com") by vger.kernel.org with ESMTP id S264668AbUEOADK (ORCPT ); Fri, 14 May 2004 20:03:10 -0400 In-Reply-To: <1084578453.5343.26.camel@patibmrh9> List-Id: linux-ide@vger.kernel.org To: Jeff Garzik Cc: linux-ide@vger.kernel.org --=-dOQL8CzDdMkNezq1RvDR Content-Type: text/plain Content-Transfer-Encoding: 7bit > > Applying patch.[12345] in order to linux-2.6.6-bk1/ here yielded: > > ... > > kernel: ata_tf_load_pio: feat 0x1 nsect 0x0 lba 0x0 0x0 0x0 > > kernel: ata_tf_load_pio: device 0xA0 > > kernel: ata_exec_command_pio: ata2: cmd 0xA0 > > kernel: ata_scsi_translate: EXIT > > kernel: atapi_packet_task: busy wait > > kernel: atapi_packet_task: send cdb > > kernel: ata_scsi_error: ENTER > > kernel: ata_eng_timeout: ENTER > > kernel: ata2: unknown timeout, cmd 0xa0 stat 0xd0 > > ... > > Next I will try > > o x1F1 Features = x05 Dma In and x01 Dma Out because ... Results follow. Much improved now, yes? Pat LaVarre kernel: ata_scsi_dump_cdb: CDB (2:0,0,0) 12 00 00 00 24 00 00 00 46 kernel: ata_scsi_translate: ENTER kernel: ata_sg_setup_one: mapped buffer of 36 bytes for read kernel: ata_fill_sg: PRD[0] = (0x49EE54, 0x24) kernel: ata_dev_select: ENTER, ata2: device 0, wait 1 kernel: ata_tf_load_pio: feat 0x5 nsect 0x0 lba 0x0 0x0 0x0 kernel: ata_tf_load_pio: device 0xA0 kernel: ata_exec_command_pio: ata2: cmd 0xA0 kernel: ata_scsi_translate: EXIT kernel: atapi_packet_task: busy wait kernel: atapi_packet_task: send cdb kernel: irq 18: nobody cared! kernel: Call Trace: kernel: [] __report_bad_irq+0x2a/0x8b kernel: [] note_interrupt+0x6f/0x9f kernel: [] do_IRQ+0x175/0x1a6 kernel: [] default_idle+0x0/0x2d kernel: [] common_interrupt+0x18/0x20 kernel: [] default_idle+0x0/0x2d kernel: [] default_idle+0x2a/0x2d kernel: [] cpu_idle+0x37/0x40 kernel: [] start_kernel+0x1b1/0x202 kernel: [] unknown_bootoption+0x0/0x129 kernel: kernel: handlers: kernel: [] (ata_interrupt+0x0/0x1a5 [libata]) kernel: Disabling IRQ #18 kernel: ata_scsi_error: ENTER kernel: ata_eng_timeout: ENTER kernel: ata2: unknown timeout, cmd 0xa0 stat 0x50 kernel: ata_sg_clean: unmapping 1 sg elements kernel: ata_eng_timeout: EXIT kernel: ata_scsi_error: EXIT kernel: ata_scsi_dump_cdb: CDB (2:0,0,0) 12 00 00 00 c0 00 00 00 46 diff -Nurp o/drivers/scsi linux-2.6.6-bk1/drivers/scsi/libata-scsi.c --- o/drivers/scsi/libata-scsi.c 2004-05-14 18:00:22.472765072 -0600 +++ linux-2.6.6-bk1/drivers/scsi/libata-scsi.c 2004-05-14 17:51:38.000000000 -0600 @@ -920,6 +920,9 @@ static unsigned int atapi_xlat(struct at qc->flags |= ATA_QCFLAG_SG; /* data is present; dma-map it */ qc->tf.protocol = ATA_PROT_ATAPI_DMA; qc->tf.feature |= ATAPI_PKT_DMA; + if (cmd->sc_data_direction != SCSI_DATA_WRITE) { + qc->tf.feature |= 0x04; /* Silicon Image DMADIR */ + } } return 0; --=-dOQL8CzDdMkNezq1RvDR Content-Disposition: attachment; filename=pel.patch.6 Content-Type: text/x-patch; name=pel.patch.6; charset=UTF-8 Content-Transfer-Encoding: 7bit diff -Nurp o/drivers/scsi linux-2.6.6-bk1/drivers/scsi/libata-scsi.c --- o/drivers/scsi/libata-scsi.c 2004-05-14 18:00:22.472765072 -0600 +++ linux-2.6.6-bk1/drivers/scsi/libata-scsi.c 2004-05-14 17:51:38.000000000 -0600 @@ -920,6 +920,9 @@ static unsigned int atapi_xlat(struct at qc->flags |= ATA_QCFLAG_SG; /* data is present; dma-map it */ qc->tf.protocol = ATA_PROT_ATAPI_DMA; qc->tf.feature |= ATAPI_PKT_DMA; + if (cmd->sc_data_direction != SCSI_DATA_WRITE) { + qc->tf.feature |= 0x04; /* Silicon Image DMADIR */ + } } return 0; --=-dOQL8CzDdMkNezq1RvDR--