Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
sata_mv.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/dmapool.h>
#include <linux/dma-mapping.h>
#include <linux/device.h>
#include <linux/clk.h>
#include <linux/platform_device.h>
#include <linux/ata_platform.h>
#include <linux/mbus.h>
#include <linux/bitops.h>
#include <linux/gfp.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <linux/libata.h>

Go to the source code of this file.

Data Structures

struct  mv_crqb
 
struct  mv_crqb_iie
 
struct  mv_crpb
 
struct  mv_sg
 
struct  mv_cached_regs
 
struct  mv_port_priv
 
struct  mv_port_signal
 
struct  mv_host_priv
 
struct  mv_hw_ops
 

Macros

#define DRV_NAME   "sata_mv"
 
#define DRV_VERSION   "1.28"
 
#define IS_GEN_I(hpriv)   ((hpriv)->hp_flags & MV_HP_GEN_I)
 
#define IS_GEN_II(hpriv)   ((hpriv)->hp_flags & MV_HP_GEN_II)
 
#define IS_GEN_IIE(hpriv)   ((hpriv)->hp_flags & MV_HP_GEN_IIE)
 
#define IS_PCIE(hpriv)   ((hpriv)->hp_flags & MV_HP_PCIE)
 
#define IS_SOC(hpriv)   ((hpriv)->hp_flags & MV_HP_FLAG_SOC)
 
#define WINDOW_CTRL(i)   (0x20030 + ((i) << 4))
 
#define WINDOW_BASE(i)   (0x20034 + ((i) << 4))
 
#define MV_PORT_TO_SHIFT_AND_HARDPORT(port, shift, hardport)
 
#define ZERO(reg)   writel(0, port_mmio + (reg))
 
#define ZERO(reg)   writel(0, hc_mmio + (reg))
 
#define ZERO(reg)   writel(0, mmio + (reg))
 
#define ZERO(reg)   writel(0, port_mmio + (reg))
 
#define ZERO(reg)   writel(0, hc_mmio + (reg))
 
#define mv_platform_suspend   NULL
 
#define mv_platform_resume   NULL
 

Enumerations

enum  {
  MV_PRIMARY_BAR = 0, MV_IO_BAR = 2, MV_MISC_BAR = 3, MV_MAJOR_REG_AREA_SZ = 0x10000,
  MV_MINOR_REG_AREA_SZ = 0x2000, COAL_CLOCKS_PER_USEC = 150, MAX_COAL_TIME_THRESHOLD = ((1 << 24) - 1), MAX_COAL_IO_COUNT = 255,
  MV_PCI_REG_BASE = 0, COAL_REG_BASE = 0x18000, IRQ_COAL_CAUSE = (COAL_REG_BASE + 0x08), ALL_PORTS_COAL_IRQ = (1 << 4),
  IRQ_COAL_IO_THRESHOLD = (COAL_REG_BASE + 0xcc), IRQ_COAL_TIME_THRESHOLD = (COAL_REG_BASE + 0xd0), TRAN_COAL_CAUSE_LO = (COAL_REG_BASE + 0x88), TRAN_COAL_CAUSE_HI = (COAL_REG_BASE + 0x8c),
  SATAHC0_REG_BASE = 0x20000, FLASH_CTL = 0x1046c, GPIO_PORT_CTL = 0x104f0, RESET_CFG = 0x180d8,
  MV_PCI_REG_SZ = MV_MAJOR_REG_AREA_SZ, MV_SATAHC_REG_SZ = MV_MAJOR_REG_AREA_SZ, MV_SATAHC_ARBTR_REG_SZ = MV_MINOR_REG_AREA_SZ, MV_PORT_REG_SZ = MV_MINOR_REG_AREA_SZ,
  MV_MAX_Q_DEPTH = 32, MV_MAX_Q_DEPTH_MASK = MV_MAX_Q_DEPTH - 1, MV_CRQB_Q_SZ = (32 * MV_MAX_Q_DEPTH), MV_CRPB_Q_SZ = (8 * MV_MAX_Q_DEPTH),
  MV_MAX_SG_CT = 256, MV_SG_TBL_SZ = (16 * MV_MAX_SG_CT), MV_PORT_HC_SHIFT = 2, MV_PORTS_PER_HC = (1 << MV_PORT_HC_SHIFT),
  MV_PORT_MASK = (MV_PORTS_PER_HC - 1), MV_FLAG_DUAL_HC = (1 << 30), MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_PIO_POLLING, MV_GEN_I_FLAGS = MV_COMMON_FLAGS | ATA_FLAG_NO_ATAPI,
  MV_GEN_II_FLAGS, MV_GEN_IIE_FLAGS = MV_GEN_II_FLAGS | ATA_FLAG_AN, CRQB_FLAG_READ = (1 << 0), CRQB_TAG_SHIFT = 1,
  CRQB_IOID_SHIFT = 6, CRQB_PMP_SHIFT = 12, CRQB_HOSTQ_SHIFT = 17, CRQB_CMD_ADDR_SHIFT = 8,
  CRQB_CMD_CS = (0x2 << 11), CRQB_CMD_LAST = (1 << 15), CRPB_FLAG_STATUS_SHIFT = 8, CRPB_IOID_SHIFT_6 = 5,
  CRPB_IOID_SHIFT_7 = 7, EPRD_FLAG_END_OF_TBL = (1 << 31), MV_PCI_COMMAND = 0xc00, MV_PCI_COMMAND_MWRCOM = (1 << 4),
  MV_PCI_COMMAND_MRDTRIG = (1 << 7), PCI_MAIN_CMD_STS = 0xd30, STOP_PCI_MASTER = (1 << 2), PCI_MASTER_EMPTY = (1 << 3),
  GLOB_SFT_RST = (1 << 4), MV_PCI_MODE = 0xd00, MV_PCI_MODE_MASK = 0x30, MV_PCI_EXP_ROM_BAR_CTL = 0xd2c,
  MV_PCI_DISC_TIMER = 0xd04, MV_PCI_MSI_TRIGGER = 0xc38, MV_PCI_SERR_MASK = 0xc28, MV_PCI_XBAR_TMOUT = 0x1d04,
  MV_PCI_ERR_LOW_ADDRESS = 0x1d40, MV_PCI_ERR_HIGH_ADDRESS = 0x1d44, MV_PCI_ERR_ATTRIBUTE = 0x1d48, MV_PCI_ERR_COMMAND = 0x1d50,
  PCI_IRQ_CAUSE = 0x1d58, PCI_IRQ_MASK = 0x1d5c, PCI_UNMASK_ALL_IRQS = 0x7fffff, PCIE_IRQ_CAUSE = 0x1900,
  PCIE_IRQ_MASK = 0x1910, PCIE_UNMASK_ALL_IRQS = 0x40a, PCI_HC_MAIN_IRQ_CAUSE = 0x1d60, PCI_HC_MAIN_IRQ_MASK = 0x1d64,
  SOC_HC_MAIN_IRQ_CAUSE = 0x20020, SOC_HC_MAIN_IRQ_MASK = 0x20024, ERR_IRQ = (1 << 0), DONE_IRQ = (1 << 1),
  HC0_IRQ_PEND = 0x1ff, HC_SHIFT = 9, DONE_IRQ_0_3 = 0x000000aa, DONE_IRQ_4_7 = (DONE_IRQ_0_3 << HC_SHIFT),
  PCI_ERR = (1 << 18), TRAN_COAL_LO_DONE = (1 << 19), TRAN_COAL_HI_DONE = (1 << 20), PORTS_0_3_COAL_DONE = (1 << 8),
  PORTS_4_7_COAL_DONE = (1 << 17), ALL_PORTS_COAL_DONE = (1 << 21), GPIO_INT = (1 << 22), SELF_INT = (1 << 23),
  TWSI_INT = (1 << 24), HC_MAIN_RSVD = (0x7f << 25), HC_MAIN_RSVD_5 = (0x1fff << 19), HC_MAIN_RSVD_SOC = (0x3fffffb << 6),
  HC_CFG = 0x00, HC_IRQ_CAUSE = 0x14, DMA_IRQ = (1 << 0), HC_COAL_IRQ = (1 << 4),
  DEV_IRQ = (1 << 8), HC_IRQ_COAL_IO_THRESHOLD = 0x000c, HC_IRQ_COAL_TIME_THRESHOLD = 0x0010, SOC_LED_CTRL = 0x2c,
  SOC_LED_CTRL_BLINK = (1 << 0), SOC_LED_CTRL_ACT_PRESENCE = (1 << 2), SHD_BLK = 0x100, SHD_CTL_AST = 0x20,
  SATA_STATUS = 0x300, SATA_ACTIVE = 0x350, FIS_IRQ_CAUSE = 0x364, FIS_IRQ_CAUSE_AN = (1 << 9),
  LTMODE = 0x30c, LTMODE_BIT8 = (1 << 8), PHY_MODE2 = 0x330, PHY_MODE3 = 0x310,
  PHY_MODE4 = 0x314, PHY_MODE4_CFG_MASK = 0x00000003, PHY_MODE4_CFG_VALUE = 0x00000001, PHY_MODE4_RSVD_ZEROS = 0x5de3fffa,
  PHY_MODE4_RSVD_ONES = 0x00000005, SATA_IFCTL = 0x344, SATA_TESTCTL = 0x348, SATA_IFSTAT = 0x34c,
  VENDOR_UNIQUE_FIS = 0x35c, FISCFG = 0x360, FISCFG_WAIT_DEV_ERR = (1 << 8), FISCFG_SINGLE_SYNC = (1 << 16),
  PHY_MODE9_GEN2 = 0x398, PHY_MODE9_GEN1 = 0x39c, PHYCFG_OFS = 0x3a0, MV5_PHY_MODE = 0x74,
  MV5_LTMODE = 0x30, MV5_PHY_CTL = 0x0C, SATA_IFCFG = 0x050, MV_M2_PREAMP_MASK = 0x7e0,
  EDMA_CFG = 0, EDMA_CFG_Q_DEPTH = 0x1f, EDMA_CFG_NCQ = (1 << 5), EDMA_CFG_NCQ_GO_ON_ERR = (1 << 14),
  EDMA_CFG_RD_BRST_EXT = (1 << 11), EDMA_CFG_WR_BUFF_LEN = (1 << 13), EDMA_CFG_EDMA_FBS = (1 << 16), EDMA_CFG_FBS = (1 << 26),
  EDMA_ERR_IRQ_CAUSE = 0x8, EDMA_ERR_IRQ_MASK = 0xc, EDMA_ERR_D_PAR = (1 << 0), EDMA_ERR_PRD_PAR = (1 << 1),
  EDMA_ERR_DEV = (1 << 2), EDMA_ERR_DEV_DCON = (1 << 3), EDMA_ERR_DEV_CON = (1 << 4), EDMA_ERR_SERR = (1 << 5),
  EDMA_ERR_SELF_DIS = (1 << 7), EDMA_ERR_SELF_DIS_5 = (1 << 8), EDMA_ERR_BIST_ASYNC = (1 << 8), EDMA_ERR_TRANS_IRQ_7 = (1 << 8),
  EDMA_ERR_CRQB_PAR = (1 << 9), EDMA_ERR_CRPB_PAR = (1 << 10), EDMA_ERR_INTRL_PAR = (1 << 11), EDMA_ERR_IORDY = (1 << 12),
  EDMA_ERR_LNK_CTRL_RX = (0xf << 13), EDMA_ERR_LNK_CTRL_RX_0 = (1 << 13), EDMA_ERR_LNK_CTRL_RX_1 = (1 << 14), EDMA_ERR_LNK_CTRL_RX_2 = (1 << 15),
  EDMA_ERR_LNK_CTRL_RX_3 = (1 << 16), EDMA_ERR_LNK_DATA_RX = (0xf << 17), EDMA_ERR_LNK_CTRL_TX = (0x1f << 21), EDMA_ERR_LNK_CTRL_TX_0 = (1 << 21),
  EDMA_ERR_LNK_CTRL_TX_1 = (1 << 22), EDMA_ERR_LNK_CTRL_TX_2 = (1 << 23), EDMA_ERR_LNK_CTRL_TX_3 = (1 << 24), EDMA_ERR_LNK_CTRL_TX_4 = (1 << 25),
  EDMA_ERR_LNK_DATA_TX = (0x1f << 26), EDMA_ERR_TRANS_PROTO = (1 << 31), EDMA_ERR_OVERRUN_5 = (1 << 5), EDMA_ERR_UNDERRUN_5 = (1 << 6),
  EDMA_ERR_IRQ_TRANSIENT, EDMA_EH_FREEZE, EDMA_EH_FREEZE_5, EDMA_REQ_Q_BASE_HI = 0x10,
  EDMA_REQ_Q_IN_PTR = 0x14, EDMA_REQ_Q_OUT_PTR = 0x18, EDMA_REQ_Q_PTR_SHIFT = 5, EDMA_RSP_Q_BASE_HI = 0x1c,
  EDMA_RSP_Q_IN_PTR = 0x20, EDMA_RSP_Q_OUT_PTR = 0x24, EDMA_RSP_Q_PTR_SHIFT = 3, EDMA_CMD = 0x28,
  EDMA_EN = (1 << 0), EDMA_DS = (1 << 1), EDMA_RESET = (1 << 2), EDMA_STATUS = 0x30,
  EDMA_STATUS_CACHE_EMPTY = (1 << 6), EDMA_STATUS_IDLE = (1 << 7), EDMA_IORDY_TMOUT = 0x34, EDMA_ARB_CFG = 0x38,
  EDMA_HALTCOND = 0x60, EDMA_UNKNOWN_RSVD = 0x6C, BMDMA_CMD = 0x224, BMDMA_STATUS = 0x228,
  BMDMA_PRD_LOW = 0x22c, BMDMA_PRD_HIGH = 0x230, MV_HP_FLAG_MSI = (1 << 0), MV_HP_ERRATA_50XXB0 = (1 << 1),
  MV_HP_ERRATA_50XXB2 = (1 << 2), MV_HP_ERRATA_60X1B2 = (1 << 3), MV_HP_ERRATA_60X1C0 = (1 << 4), MV_HP_GEN_I = (1 << 6),
  MV_HP_GEN_II = (1 << 7), MV_HP_GEN_IIE = (1 << 8), MV_HP_PCIE = (1 << 9), MV_HP_CUT_THROUGH = (1 << 10),
  MV_HP_FLAG_SOC = (1 << 11), MV_HP_QUIRK_LED_BLINK_EN = (1 << 12), MV_PP_FLAG_EDMA_EN = (1 << 0), MV_PP_FLAG_NCQ_EN = (1 << 1),
  MV_PP_FLAG_FBS_EN = (1 << 2), MV_PP_FLAG_DELAYED_EH = (1 << 3), MV_PP_FLAG_FAKE_ATA_BUSY = (1 << 4)
}
 
enum  { MV_DMA_BOUNDARY = 0xffffU, EDMA_REQ_Q_BASE_LO_MASK = 0xfffffc00U, EDMA_RSP_Q_BASE_LO_MASK = 0xffffff00U }
 
enum  chip_type {
  chip_504x, chip_508x, chip_5080, chip_604x,
  chip_608x, chip_6042, chip_7042, chip_soc,
  RTL8002, RTL8012, CHIP_TYPE_VT6110 = 1, unknown = 0x00,
  tmc1800 = 0x01, tmc18c50 = 0x02, tmc18c30 = 0x03
}
 

Functions

 module_param (irq_coalescing_io_count, int, S_IRUGO)
 
 MODULE_PARM_DESC (irq_coalescing_io_count,"IRQ coalescing I/O count threshold (0..255)")
 
 module_param (irq_coalescing_usecs, int, S_IRUGO)
 
 MODULE_PARM_DESC (irq_coalescing_usecs,"IRQ coalescing time threshold in usecs")
 
 MODULE_AUTHOR ("Brett Russ")
 
 MODULE_DESCRIPTION ("SCSI low-level driver for Marvell SATA controllers")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DEVICE_TABLE (pci, mv_pci_tbl)
 
 MODULE_VERSION (DRV_VERSION)
 
 MODULE_ALIAS ("platform:"DRV_NAME)
 
 module_init (mv_init)
 
 module_exit (mv_exit)
 

Macro Definition Documentation

#define DRV_NAME   "sata_mv"

Definition at line 75 of file sata_mv.c.

#define DRV_VERSION   "1.28"

Definition at line 76 of file sata_mv.c.

#define IS_GEN_I (   hpriv)    ((hpriv)->hp_flags & MV_HP_GEN_I)

Definition at line 443 of file sata_mv.c.

#define IS_GEN_II (   hpriv)    ((hpriv)->hp_flags & MV_HP_GEN_II)

Definition at line 444 of file sata_mv.c.

#define IS_GEN_IIE (   hpriv)    ((hpriv)->hp_flags & MV_HP_GEN_IIE)

Definition at line 445 of file sata_mv.c.

#define IS_PCIE (   hpriv)    ((hpriv)->hp_flags & MV_HP_PCIE)

Definition at line 446 of file sata_mv.c.

#define IS_SOC (   hpriv)    ((hpriv)->hp_flags & MV_HP_FLAG_SOC)

Definition at line 447 of file sata_mv.c.

#define mv_platform_resume   NULL

Definition at line 4214 of file sata_mv.c.

#define mv_platform_suspend   NULL

Definition at line 4213 of file sata_mv.c.

#define MV_PORT_TO_SHIFT_AND_HARDPORT (   port,
  shift,
  hardport 
)
Value:
{ \
shift = mv_hc_from_port(port) * HC_SHIFT; \
hardport = mv_hardport_from_port(port); \
shift += hardport * 2; \
}

Definition at line 877 of file sata_mv.c.

#define WINDOW_BASE (   i)    (0x20034 + ((i) << 4))

Definition at line 450 of file sata_mv.c.

#define WINDOW_CTRL (   i)    (0x20030 + ((i) << 4))

Definition at line 449 of file sata_mv.c.

#define ZERO (   reg)    writel(0, port_mmio + (reg))

Definition at line 3440 of file sata_mv.c.

#define ZERO (   reg)    writel(0, hc_mmio + (reg))

Definition at line 3440 of file sata_mv.c.

#define ZERO (   reg)    writel(0, mmio + (reg))

Definition at line 3440 of file sata_mv.c.

#define ZERO (   reg)    writel(0, port_mmio + (reg))

Definition at line 3440 of file sata_mv.c.

#define ZERO (   reg)    writel(0, hc_mmio + (reg))

Definition at line 3440 of file sata_mv.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
MV_PRIMARY_BAR 
MV_IO_BAR 
MV_MISC_BAR 
MV_MAJOR_REG_AREA_SZ 
MV_MINOR_REG_AREA_SZ 
COAL_CLOCKS_PER_USEC 
MAX_COAL_TIME_THRESHOLD 
MAX_COAL_IO_COUNT 
MV_PCI_REG_BASE 
COAL_REG_BASE 
IRQ_COAL_CAUSE 
ALL_PORTS_COAL_IRQ 
IRQ_COAL_IO_THRESHOLD 
IRQ_COAL_TIME_THRESHOLD 
TRAN_COAL_CAUSE_LO 
TRAN_COAL_CAUSE_HI 
SATAHC0_REG_BASE 
FLASH_CTL 
GPIO_PORT_CTL 
RESET_CFG 
MV_PCI_REG_SZ 
MV_SATAHC_REG_SZ 
MV_SATAHC_ARBTR_REG_SZ 
MV_PORT_REG_SZ 
MV_MAX_Q_DEPTH 
MV_MAX_Q_DEPTH_MASK 
MV_CRQB_Q_SZ 
MV_CRPB_Q_SZ 
MV_MAX_SG_CT 
MV_SG_TBL_SZ 
MV_PORT_HC_SHIFT 
MV_PORTS_PER_HC 
MV_PORT_MASK 
MV_FLAG_DUAL_HC 
MV_COMMON_FLAGS 
MV_GEN_I_FLAGS 
MV_GEN_II_FLAGS 
MV_GEN_IIE_FLAGS 
CRQB_FLAG_READ 
CRQB_TAG_SHIFT 
CRQB_IOID_SHIFT 
CRQB_PMP_SHIFT 
CRQB_HOSTQ_SHIFT 
CRQB_CMD_ADDR_SHIFT 
CRQB_CMD_CS 
CRQB_CMD_LAST 
CRPB_FLAG_STATUS_SHIFT 
CRPB_IOID_SHIFT_6 
CRPB_IOID_SHIFT_7 
EPRD_FLAG_END_OF_TBL 
MV_PCI_COMMAND 
MV_PCI_COMMAND_MWRCOM 
MV_PCI_COMMAND_MRDTRIG 
PCI_MAIN_CMD_STS 
STOP_PCI_MASTER 
PCI_MASTER_EMPTY 
GLOB_SFT_RST 
MV_PCI_MODE 
MV_PCI_MODE_MASK 
MV_PCI_EXP_ROM_BAR_CTL 
MV_PCI_DISC_TIMER 
MV_PCI_MSI_TRIGGER 
MV_PCI_SERR_MASK 
MV_PCI_XBAR_TMOUT 
MV_PCI_ERR_LOW_ADDRESS 
MV_PCI_ERR_HIGH_ADDRESS 
MV_PCI_ERR_ATTRIBUTE 
MV_PCI_ERR_COMMAND 
PCI_IRQ_CAUSE 
PCI_IRQ_MASK 
PCI_UNMASK_ALL_IRQS 
PCIE_IRQ_CAUSE 
PCIE_IRQ_MASK 
PCIE_UNMASK_ALL_IRQS 
PCI_HC_MAIN_IRQ_CAUSE 
PCI_HC_MAIN_IRQ_MASK 
SOC_HC_MAIN_IRQ_CAUSE 
SOC_HC_MAIN_IRQ_MASK 
ERR_IRQ 
DONE_IRQ 
HC0_IRQ_PEND 
HC_SHIFT 
DONE_IRQ_0_3 
DONE_IRQ_4_7 
PCI_ERR 
TRAN_COAL_LO_DONE 
TRAN_COAL_HI_DONE 
PORTS_0_3_COAL_DONE 
PORTS_4_7_COAL_DONE 
ALL_PORTS_COAL_DONE 
GPIO_INT 
SELF_INT 
TWSI_INT 
HC_MAIN_RSVD 
HC_MAIN_RSVD_5 
HC_MAIN_RSVD_SOC 
HC_CFG 
HC_IRQ_CAUSE 
DMA_IRQ 
HC_COAL_IRQ 
DEV_IRQ 
HC_IRQ_COAL_IO_THRESHOLD 
HC_IRQ_COAL_TIME_THRESHOLD 
SOC_LED_CTRL 
SOC_LED_CTRL_BLINK 
SOC_LED_CTRL_ACT_PRESENCE 
SHD_BLK 
SHD_CTL_AST 
SATA_STATUS 
SATA_ACTIVE 
FIS_IRQ_CAUSE 
FIS_IRQ_CAUSE_AN 
LTMODE 
LTMODE_BIT8 
PHY_MODE2 
PHY_MODE3 
PHY_MODE4 
PHY_MODE4_CFG_MASK 
PHY_MODE4_CFG_VALUE 
PHY_MODE4_RSVD_ZEROS 
PHY_MODE4_RSVD_ONES 
SATA_IFCTL 
SATA_TESTCTL 
SATA_IFSTAT 
VENDOR_UNIQUE_FIS 
FISCFG 
FISCFG_WAIT_DEV_ERR 
FISCFG_SINGLE_SYNC 
PHY_MODE9_GEN2 
PHY_MODE9_GEN1 
PHYCFG_OFS 
MV5_PHY_MODE 
MV5_LTMODE 
MV5_PHY_CTL 
SATA_IFCFG 
MV_M2_PREAMP_MASK 
EDMA_CFG 
EDMA_CFG_Q_DEPTH 
EDMA_CFG_NCQ 
EDMA_CFG_NCQ_GO_ON_ERR 
EDMA_CFG_RD_BRST_EXT 
EDMA_CFG_WR_BUFF_LEN 
EDMA_CFG_EDMA_FBS 
EDMA_CFG_FBS 
EDMA_ERR_IRQ_CAUSE 
EDMA_ERR_IRQ_MASK 
EDMA_ERR_D_PAR 
EDMA_ERR_PRD_PAR 
EDMA_ERR_DEV 
EDMA_ERR_DEV_DCON 
EDMA_ERR_DEV_CON 
EDMA_ERR_SERR 
EDMA_ERR_SELF_DIS 
EDMA_ERR_SELF_DIS_5 
EDMA_ERR_BIST_ASYNC 
EDMA_ERR_TRANS_IRQ_7 
EDMA_ERR_CRQB_PAR 
EDMA_ERR_CRPB_PAR 
EDMA_ERR_INTRL_PAR 
EDMA_ERR_IORDY 
EDMA_ERR_LNK_CTRL_RX 
EDMA_ERR_LNK_CTRL_RX_0 
EDMA_ERR_LNK_CTRL_RX_1 
EDMA_ERR_LNK_CTRL_RX_2 
EDMA_ERR_LNK_CTRL_RX_3 
EDMA_ERR_LNK_DATA_RX 
EDMA_ERR_LNK_CTRL_TX 
EDMA_ERR_LNK_CTRL_TX_0 
EDMA_ERR_LNK_CTRL_TX_1 
EDMA_ERR_LNK_CTRL_TX_2 
EDMA_ERR_LNK_CTRL_TX_3 
EDMA_ERR_LNK_CTRL_TX_4 
EDMA_ERR_LNK_DATA_TX 
EDMA_ERR_TRANS_PROTO 
EDMA_ERR_OVERRUN_5 
EDMA_ERR_UNDERRUN_5 
EDMA_ERR_IRQ_TRANSIENT 
EDMA_EH_FREEZE 
EDMA_EH_FREEZE_5 
EDMA_REQ_Q_BASE_HI 
EDMA_REQ_Q_IN_PTR 
EDMA_REQ_Q_OUT_PTR 
EDMA_REQ_Q_PTR_SHIFT 
EDMA_RSP_Q_BASE_HI 
EDMA_RSP_Q_IN_PTR 
EDMA_RSP_Q_OUT_PTR 
EDMA_RSP_Q_PTR_SHIFT 
EDMA_CMD 
EDMA_EN 
EDMA_DS 
EDMA_RESET 
EDMA_STATUS 
EDMA_STATUS_CACHE_EMPTY 
EDMA_STATUS_IDLE 
EDMA_IORDY_TMOUT 
EDMA_ARB_CFG 
EDMA_HALTCOND 
EDMA_UNKNOWN_RSVD 
BMDMA_CMD 
BMDMA_STATUS 
BMDMA_PRD_LOW 
BMDMA_PRD_HIGH 
MV_HP_FLAG_MSI 
MV_HP_ERRATA_50XXB0 
MV_HP_ERRATA_50XXB2 
MV_HP_ERRATA_60X1B2 
MV_HP_ERRATA_60X1C0 
MV_HP_GEN_I 
MV_HP_GEN_II 
MV_HP_GEN_IIE 
MV_HP_PCIE 
MV_HP_CUT_THROUGH 
MV_HP_FLAG_SOC 
MV_HP_QUIRK_LED_BLINK_EN 
MV_PP_FLAG_EDMA_EN 
MV_PP_FLAG_NCQ_EN 
MV_PP_FLAG_FBS_EN 
MV_PP_FLAG_DELAYED_EH 
MV_PP_FLAG_FAKE_ATA_BUSY 

Definition at line 98 of file sata_mv.c.

anonymous enum
Enumerator:
MV_DMA_BOUNDARY 
EDMA_REQ_Q_BASE_LO_MASK 
EDMA_RSP_Q_BASE_LO_MASK 

Definition at line 452 of file sata_mv.c.

enum chip_type
Enumerator:
chip_504x 
chip_508x 
chip_5080 
chip_604x 
chip_608x 
chip_6042 
chip_7042 
chip_soc 
RTL8002 
RTL8012 
CHIP_TYPE_VT6110 
unknown 
tmc1800 
tmc18c50 
tmc18c30 

Definition at line 467 of file sata_mv.c.

Function Documentation

MODULE_ALIAS ( "platform:"  DRV_NAME)
MODULE_AUTHOR ( "Brett Russ"  )
MODULE_DESCRIPTION ( "SCSI low-level driver for Marvell SATA controllers"  )
MODULE_DEVICE_TABLE ( pci  ,
mv_pci_tbl   
)
module_exit ( mv_exit  )
module_init ( mv_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( irq_coalescing_io_count  ,
int  ,
S_IRUGO   
)
module_param ( irq_coalescing_usecs  ,
int  ,
S_IRUGO   
)
MODULE_PARM_DESC ( irq_coalescing_io_count  ,
"IRQ coalescing I/O count threshold (0..255)"   
)
MODULE_PARM_DESC ( irq_coalescing_usecs  ,
"IRQ coalescing time threshold in usecs  
)
MODULE_VERSION ( DRV_VERSION  )