From: Albert Lee <albertcc@tw.ibm.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: "Fortier,Vincent [Montreal]" <Vincent.Fortier1@EC.GC.CA>,
"Tejun Heo" <htejun@gmail.com>,
linux-ide@vger.kernel.org,
"Reinhard Brandstädter" <r.brandstaedter@gmx.at>,
"Doug Maxey" <dwm@maxeymade.com>,
"Dario Oliva" <DOliva@ARCOIDE.COM>
Subject: [PATCH 1/1] libata: add pio flush for via atapi (was: Re: TR: ASUS A8V Deluxe, x86_64)
Date: Mon, 22 May 2006 11:43:46 +0800 [thread overview]
Message-ID: <44713372.5070804@tw.ibm.com> (raw)
In-Reply-To: <8E8F647D7835334B985D069AE964A4F7028FDC29@ECQCMTLMAIL1.quebec.int.ec.gc.ca>
Backport the "pio flush" from the libata major update to 2.6.17 for via atapi.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
---
According to Vincent's test result, adding the "pio flush"
fixes the via atapi problem. Maybe the VIA adapter caches the written
PIO data/ATAPI CDB packet?
Patch backported for mainline 2.6.17-rcX (f1adad78dd2fc8edaa513e0bde92b4c64340245c).
For your review, thanks.
--- mainline/drivers/scsi/libata-core.c 2006-05-22 10:53:36.000000000 +0800
+++ svia_atapi/drivers/scsi/libata-core.c 2006-05-22 11:25:28.000000000 +0800
@@ -3643,6 +3643,8 @@ static void ata_pio_block(struct ata_por
ata_pio_sector(qc);
}
+
+ ata_altstatus(ap); /* flush */
}
static void ata_pio_error(struct ata_port *ap)
@@ -3759,11 +3761,14 @@ static void atapi_packet_task(void *_dat
spin_lock_irqsave(&ap->host_set->lock, flags);
ap->flags &= ~ATA_FLAG_NOINTR;
ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ ata_altstatus(ap); /* flush */
+
if (qc->tf.protocol == ATA_PROT_ATAPI_DMA)
ap->ops->bmdma_start(qc); /* initiate bmdma */
spin_unlock_irqrestore(&ap->host_set->lock, flags);
} else {
ata_data_xfer(ap, qc->cdb, qc->dev->cdb_len, 1);
+ ata_altstatus(ap); /* flush */
/* PIO commands are handled by polling */
ap->hsm_task_state = HSM_ST;
prev parent reply other threads:[~2006-05-22 3:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-19 10:51 TR: ASUS A8V Deluxe, x86_64 Fortier,Vincent [Montreal]
2006-05-19 10:51 ` Fortier,Vincent [Montreal]
2006-05-22 3:32 ` Albert Lee
2006-05-22 3:43 ` Albert Lee [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44713372.5070804@tw.ibm.com \
--to=albertcc@tw.ibm.com \
--cc=DOliva@ARCOIDE.COM \
--cc=Vincent.Fortier1@EC.GC.CA \
--cc=albertl@mail.com \
--cc=dwm@maxeymade.com \
--cc=htejun@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=r.brandstaedter@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.