* [SATA] libata-dev queue updated
@ 2005-03-02 2:40 Jeff Garzik
2005-03-02 14:24 ` [PATCH 2.6.11-rc5+ sata_qstor] sata_qstor: eh_timeout fix (RESEND) Mark Lord
0 siblings, 1 reply; 2+ messages in thread
From: Jeff Garzik @ 2005-03-02 2:40 UTC (permalink / raw)
To: linux-ide@vger.kernel.org; +Cc: Linux Kernel
[-- Attachment #1: Type: text/plain, Size: 55 bytes --]
A minor update, mostly to update to the latest kernel.
[-- Attachment #2: changelog.txt --]
[-- Type: text/plain, Size: 3630 bytes --]
BK users:
bk pull bk://gkernel.bkbits.net/libata-dev-2.6
Patch:
http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/2.6.11-rc5-bk4-libata-dev1.patch.bz2
This will update the following files:
drivers/scsi/Kconfig | 18
drivers/scsi/Makefile | 2
drivers/scsi/ahci.c | 107 ++++-
drivers/scsi/ata_adma.c | 778 +++++++++++++++++++++++++++++++++++++++++++
drivers/scsi/libata-core.c | 312 +++++++++--------
drivers/scsi/libata-scsi.c | 701 ++++++++++++++++++++++++++++++++------
drivers/scsi/libata.h | 6
drivers/scsi/pata_pdc2027x.c | 771 ++++++++++++++++++++++++++++++++++++++++++
drivers/scsi/sata_promise.c | 84 ++++
drivers/scsi/sata_qstor.c | 20 -
drivers/scsi/sata_vsc.c | 4
include/linux/ata.h | 15
include/linux/libata.h | 10
include/scsi/scsi.h | 3
14 files changed, 2531 insertions(+), 300 deletions(-)
through these ChangeSets:
<andyw:pobox.com>:
o [libata scsi] support 12-byte passthru CDB
o [libata scsi] passthru CDB check condition processing
o T10/04-262 ATA pass thru - patch
<erikbenada:yahoo.ca>:
o [libata sata_promise] support PATA ports on SATA controllers
<tklauser:nuerscht.ch>:
o drivers/scsi/ahci: Use the DMA_{64,32}BIT_MASK constants
o drivers/scsi/sata_vsc: Use the DMA_{64,32}BIT_MASK constants
Adam J. Richter:
o ata_pci_remove_one used freed memory
Albert Lee:
o [libata] use init-device-params ATA command where needed
o [libata] ata_scsi_verify_xlat() fix
o pdc2027x timing register fix for 100MHz
o [libata] CHS support: add CHS support to ata_scsi_verify_xlat(), ata_scsi_rw_xlat() and ata_scsiop_read_cap().
o [libata] CHS support: reorganize read/write translation in ata_scsi_rw_xlat()
o [libata] CHS support: rename vars (s/sector/block/) in ata_scsi_verify_xlat()
o [libata] CHS support: detect C/H/S at IDENTIFY DEVICE time
o [libata] CHS support: add definitions to headers
o pdc2027x timing register bug fix
o [libata pdc2027x] fix incorrect pio and mwdma masks
o [libata pdc2027x] remove quirks and ROM enable
o [libata] add driver for Promise PATA 2027x
Brad Campbell:
o libata basic detection and errata for PATA->SATA bridges
Jeff Garzik:
o [libata ahci] Print out port id on error messages
o [libata ahci] support PCI MSI interrupt vector
o [libata adma] Add init code, fix CPB submission code
o [libata ahci] finish ATAPI support
o [libata adma] trivial whitespace cleanup
o [libata dma] fix DMA mode config; add some more initialization code
o [libata adma] add support for configuring PIO/DMA modes
o [libata] turn on ATAPI support
o [libata sata_promise] merge Tobias Lorenz' pdc20619 patch, part 2
o [libata] small cleanups
o [libata] remove unused execute-device-diagnostic reset method
o [libata] add new driver ata_adma
o [libata pdc2027x] update for upstream struct device conversion
o [libata sata_promise] fix merge bugs
o [libata] fix build breakage
o [libata] fix SATA->PATA bridge detect compile breakage
o [libata] fix printk warning
John W. Linville:
o libata: update ATA pass thru opcodes
o libata: minor style changes in ata_scsi_pass_thru
o libata: filter SET_FEATURES - XFER MODE from ATA pass thru
o libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)
o libata: fix command queue leak when xlat_func fails
o libata: SMART support via ATA pass-thru
Mark Lord:
o [libata qstor] minor update per LKML comments
Tobias Lorenz:
o [libata sata_promise] pdc20619 (PATA) support
o libata-scsi: get-identity ioctl support
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 2.6.11-rc5+ sata_qstor] sata_qstor: eh_timeout fix (RESEND)
2005-03-02 2:40 [SATA] libata-dev queue updated Jeff Garzik
@ 2005-03-02 14:24 ` Mark Lord
0 siblings, 0 replies; 2+ messages in thread
From: Mark Lord @ 2005-03-02 14:24 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-ide@vger.kernel.org, Linux Kernel
[-- Attachment #1: Type: text/plain, Size: 331 bytes --]
(I think this got missed first time around, so resubmitting here)
Here is an update to sata_qstor.c to enable full/proper
register access during eh_timeout handling.
Patch is against 2.6.11-rc5 + earlier sata_qstor cosmetic patch.
Signed-off-by: Mark Lord <mlord@pobox.com>
--
Mark Lord
Real-Time Remedies Inc.
mlord@pobox.com
[-- Attachment #2: sata_qstor-2.patch --]
[-- Type: text/x-patch, Size: 2076 bytes --]
--- linux-2.6.11-rc5+/drivers/scsi/sata_qstor.c 2005-02-24 11:28:33.000000000 -0500
+++ linux/drivers/scsi/sata_qstor.c 2005-02-28 11:19:31.000000000 -0500
@@ -38,7 +38,7 @@
#include <linux/libata.h>
#define DRV_NAME "sata_qstor"
-#define DRV_VERSION "0.03"
+#define DRV_VERSION "0.04"
enum {
QS_PORTS = 4,
@@ -120,6 +120,7 @@
static void qs_bmdma_stop(struct ata_port *ap);
static u8 qs_bmdma_status(struct ata_port *ap);
static void qs_irq_clear(struct ata_port *ap);
+static void qs_eng_timeout(struct ata_port *ap);
static Scsi_Host_Template qs_ata_sht = {
.module = THIS_MODULE,
@@ -152,7 +153,7 @@
.phy_reset = qs_phy_reset,
.qc_prep = qs_qc_prep,
.qc_issue = qs_qc_issue,
- .eng_timeout = ata_eng_timeout,
+ .eng_timeout = qs_eng_timeout,
.irq_handler = qs_intr,
.irq_clear = qs_irq_clear,
.scr_read = qs_scr_read,
@@ -212,7 +213,7 @@
/* nothing */
}
-static void qs_enter_reg_mode(struct ata_port *ap)
+static inline void qs_enter_reg_mode(struct ata_port *ap)
{
u8 __iomem *chan = ap->host_set->mmio_base + (ap->port_no * 0x4000);
@@ -220,17 +221,34 @@
readb(chan + QS_CCT_CTR0); /* flush */
}
-static void qs_phy_reset(struct ata_port *ap)
+static inline void qs_reset_channel_logic(struct ata_port *ap)
{
u8 __iomem *chan = ap->host_set->mmio_base + (ap->port_no * 0x4000);
- struct qs_port_priv *pp = ap->private_data;
- pp->state = qs_state_idle;
writeb(QS_CTR1_RCHN, chan + QS_CCT_CTR1);
+ readb(chan + QS_CCT_CTR0); /* flush */
qs_enter_reg_mode(ap);
+}
+
+static void qs_phy_reset(struct ata_port *ap)
+{
+ struct qs_port_priv *pp = ap->private_data;
+
+ pp->state = qs_state_idle;
+ qs_reset_channel_logic(ap);
sata_phy_reset(ap);
}
+static void qs_eng_timeout(struct ata_port *ap)
+{
+ struct qs_port_priv *pp = ap->private_data;
+
+ if (pp->state != qs_state_idle) /* healthy paranoia */
+ pp->state = qs_state_mmio;
+ qs_reset_channel_logic(ap);
+ ata_eng_timeout(ap);
+}
+
static u32 qs_scr_read (struct ata_port *ap, unsigned int sc_reg)
{
if (sc_reg > SCR_CONTROL)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-03-02 14:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-02 2:40 [SATA] libata-dev queue updated Jeff Garzik
2005-03-02 14:24 ` [PATCH 2.6.11-rc5+ sata_qstor] sata_qstor: eh_timeout fix (RESEND) Mark Lord
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).