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