linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).