* [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 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.