sata_vsc initialization fix
PATCH 1/1 sata_vsc initialization fix
I neglected to initialize a couple of registers that are usually zero, but not always. :-)
Please apply.
jeremy
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.1783 -> 1.1784
# drivers/scsi/sata_vsc.c 1.6 -> 1.7
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 04/04/22 [email protected] 1.1784
# Fix sata_vsc to initialize upper address pointer registers.
# --------------------------------------------
#
drivers/scsi/sata_vsc.c +4 -0
@@ -44,6 +44,8 @@#define VSC_SATA_TF_CTL_OFFSET 0x29/* DMA base */ +#define VSC_SATA_UP_DESCIPTOR_OFFSET 0x64 +#define VSC_SATA_UP_DATA_BUFFER_OFFSET 0x6C#define VSC_SATA_DMA_CMD_OFFSET 0x70/* SCRs base */
@@ -234,6 +236,8 @@ port->ctl_addr = base +VSC_SATA_TF_CTL_OFFSET ; port->bmdma_addr = base +VSC_SATA_DMA_CMD_OFFSET ; port->scr_addr = base +VSC_SATA_SCR_STATUS_OFFSET ; +writel (0 , base +VSC_SATA_UP_DESCIPTOR_OFFSET ); +writel (0 , base +VSC_SATA_UP_DATA_BUFFER_OFFSET ); }
A typo was spotted (DESCIPTOR ==> DESCRIPTOR).
drivers/scsi/sata_vsc.c +4 -0
@@ -44,6 +44,8 @@#define VSC_SATA_TF_CTL_OFFSET 0x29/* DMA base */ +#define VSC_SATA_UP_DESCRIPTOR_OFFSET 0x64 +#define VSC_SATA_UP_DATA_BUFFER_OFFSET 0x6C#define VSC_SATA_DMA_CMD_OFFSET 0x70/* SCRs base */
@@ -234,6 +236,8 @@ port->ctl_addr = base +VSC_SATA_TF_CTL_OFFSET ; port->bmdma_addr = base +VSC_SATA_DMA_CMD_OFFSET ; port->scr_addr = base +VSC_SATA_SCR_STATUS_OFFSET ; +writel (0 , base +VSC_SATA_UP_DESCRIPTOR_OFFSET ); +writel (0 , base +VSC_SATA_UP_DATA_BUFFER_OFFSET ); }
Jeff Garzik
Appliedapplied to 2.4 and 2.6