Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
sata_sx4.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/device.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_cmnd.h>
#include <linux/libata.h>
#include "sata_promise.h"

Go to the source code of this file.

Data Structures

struct  pdc_port_priv
 
struct  pdc_host_priv
 

Macros

#define DRV_NAME   "sata_sx4"
 
#define DRV_VERSION   "0.12"
 
#define ECC_ERASE_BUF_SZ   (128 * 1024)
 

Enumerations

enum  {
  PDC_MMIO_BAR = 3, PDC_DIMM_BAR = 4, PDC_PRD_TBL = 0x44, PDC_PKT_SUBMIT = 0x40,
  PDC_HDMA_PKT_SUBMIT = 0x100, PDC_INT_SEQMASK = 0x40, PDC_HDMA_CTLSTAT = 0x12C, PDC_CTLSTAT = 0x60,
  PDC_20621_SEQCTL = 0x400, PDC_20621_SEQMASK = 0x480, PDC_20621_GENERAL_CTL = 0x484, PDC_20621_PAGE_SIZE = (32 * 1024),
  PDC_20621_DIMM_WINDOW = 0x0C, PDC_20621_DIMM_BASE = 0x00200000, PDC_20621_DIMM_DATA = (64 * 1024), PDC_DIMM_DATA_STEP = (256 * 1024),
  PDC_DIMM_WINDOW_STEP = (8 * 1024), PDC_DIMM_HOST_PRD = (6 * 1024), PDC_DIMM_HOST_PKT = (128 * 0), PDC_DIMM_HPKT_PRD = (128 * 1),
  PDC_DIMM_ATA_PKT = (128 * 2), PDC_DIMM_APKT_PRD = (128 * 3), PDC_DIMM_HEADER_SZ = PDC_DIMM_APKT_PRD + 128, PDC_PAGE_WINDOW = 0x40,
  PDC_PAGE_DATA, PDC_PAGE_SET = PDC_DIMM_DATA_STEP / PDC_20621_PAGE_SIZE, PDC_CHIP0_OFS = 0xC0000, PDC_20621_ERR_MASK,
  board_20621 = 0, PDC_MASK_INT = (1 << 10), PDC_RESET = (1 << 11), PDC_DMA_ENABLE = (1 << 7),
  PDC_MAX_HDMA = 32, PDC_HDMA_Q_MASK = (PDC_MAX_HDMA - 1), PDC_DIMM0_SPD_DEV_ADDRESS = 0x50, PDC_DIMM1_SPD_DEV_ADDRESS = 0x51,
  PDC_I2C_CONTROL = 0x48, PDC_I2C_ADDR_DATA = 0x4C, PDC_DIMM0_CONTROL = 0x80, PDC_DIMM1_CONTROL = 0x84,
  PDC_SDRAM_CONTROL = 0x88, PDC_I2C_WRITE = 0, PDC_I2C_READ = (1 << 6), PDC_I2C_START = (1 << 7),
  PDC_I2C_MASK_INT = (1 << 5), PDC_I2C_COMPLETE = (1 << 16), PDC_I2C_NO_ACK = (1 << 20), PDC_DIMM_SPD_SUBADDRESS_START = 0x00,
  PDC_DIMM_SPD_SUBADDRESS_END = 0x7F, PDC_DIMM_SPD_ROW_NUM = 3, PDC_DIMM_SPD_COLUMN_NUM = 4, PDC_DIMM_SPD_MODULE_ROW = 5,
  PDC_DIMM_SPD_TYPE = 11, PDC_DIMM_SPD_FRESH_RATE = 12, PDC_DIMM_SPD_BANK_NUM = 17, PDC_DIMM_SPD_CAS_LATENCY = 18,
  PDC_DIMM_SPD_ATTRIBUTE = 21, PDC_DIMM_SPD_ROW_PRE_CHARGE = 27, PDC_DIMM_SPD_ROW_ACTIVE_DELAY = 28, PDC_DIMM_SPD_RAS_CAS_DELAY = 29,
  PDC_DIMM_SPD_ACTIVE_PRECHARGE = 30, PDC_DIMM_SPD_SYSTEM_FREQ = 126, PDC_CTL_STATUS = 0x08, PDC_DIMM_WINDOW_CTLR = 0x0C,
  PDC_TIME_CONTROL = 0x3C, PDC_TIME_PERIOD = 0x40, PDC_TIME_COUNTER = 0x44, PDC_GENERAL_CTLR = 0x484,
  PCI_PLL_INIT = 0x8A531824, PCI_X_TCOUNT = 0xEE1E5CFF, PDC_TIMER_BUZZER = (1 << 10), PDC_TIMER_MODE_PERIODIC = 0,
  PDC_TIMER_MODE_ONCE = (1 << 8), PDC_TIMER_ENABLE = (1 << 7), PDC_TIMER_MASK_INT = (1 << 5), PDC_TIMER_SEQ_MASK = 0x1f,
  PDC_TIMER_DEFAULT
}
 

Functions

 module_pci_driver (pdc_sata_pci_driver)
 
 MODULE_AUTHOR ("Jeff Garzik")
 
 MODULE_DESCRIPTION ("Promise SATA low-level driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DEVICE_TABLE (pci, pdc_sata_pci_tbl)
 
 MODULE_VERSION (DRV_VERSION)
 

Macro Definition Documentation

#define DRV_NAME   "sata_sx4"

Definition at line 95 of file sata_sx4.c.

#define DRV_VERSION   "0.12"

Definition at line 96 of file sata_sx4.c.

#define ECC_ERASE_BUF_SZ   (128 * 1024)

Definition at line 197 of file sata_sx4.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
PDC_MMIO_BAR 
PDC_DIMM_BAR 
PDC_PRD_TBL 
PDC_PKT_SUBMIT 
PDC_HDMA_PKT_SUBMIT 
PDC_INT_SEQMASK 
PDC_HDMA_CTLSTAT 
PDC_CTLSTAT 
PDC_20621_SEQCTL 
PDC_20621_SEQMASK 
PDC_20621_GENERAL_CTL 
PDC_20621_PAGE_SIZE 
PDC_20621_DIMM_WINDOW 
PDC_20621_DIMM_BASE 
PDC_20621_DIMM_DATA 
PDC_DIMM_DATA_STEP 
PDC_DIMM_WINDOW_STEP 
PDC_DIMM_HOST_PRD 
PDC_DIMM_HOST_PKT 
PDC_DIMM_HPKT_PRD 
PDC_DIMM_ATA_PKT 
PDC_DIMM_APKT_PRD 
PDC_DIMM_HEADER_SZ 
PDC_PAGE_WINDOW 
PDC_PAGE_DATA 
PDC_PAGE_SET 
PDC_CHIP0_OFS 
PDC_20621_ERR_MASK 
board_20621 
PDC_MASK_INT 
PDC_RESET 
PDC_DMA_ENABLE 
PDC_MAX_HDMA 
PDC_HDMA_Q_MASK 
PDC_DIMM0_SPD_DEV_ADDRESS 
PDC_DIMM1_SPD_DEV_ADDRESS 
PDC_I2C_CONTROL 
PDC_I2C_ADDR_DATA 
PDC_DIMM0_CONTROL 
PDC_DIMM1_CONTROL 
PDC_SDRAM_CONTROL 
PDC_I2C_WRITE 
PDC_I2C_READ 
PDC_I2C_START 
PDC_I2C_MASK_INT 
PDC_I2C_COMPLETE 
PDC_I2C_NO_ACK 
PDC_DIMM_SPD_SUBADDRESS_START 
PDC_DIMM_SPD_SUBADDRESS_END 
PDC_DIMM_SPD_ROW_NUM 
PDC_DIMM_SPD_COLUMN_NUM 
PDC_DIMM_SPD_MODULE_ROW 
PDC_DIMM_SPD_TYPE 
PDC_DIMM_SPD_FRESH_RATE 
PDC_DIMM_SPD_BANK_NUM 
PDC_DIMM_SPD_CAS_LATENCY 
PDC_DIMM_SPD_ATTRIBUTE 
PDC_DIMM_SPD_ROW_PRE_CHARGE 
PDC_DIMM_SPD_ROW_ACTIVE_DELAY 
PDC_DIMM_SPD_RAS_CAS_DELAY 
PDC_DIMM_SPD_ACTIVE_PRECHARGE 
PDC_DIMM_SPD_SYSTEM_FREQ 
PDC_CTL_STATUS 
PDC_DIMM_WINDOW_CTLR 
PDC_TIME_CONTROL 
PDC_TIME_PERIOD 
PDC_TIME_COUNTER 
PDC_GENERAL_CTLR 
PCI_PLL_INIT 
PCI_X_TCOUNT 
PDC_TIMER_BUZZER 
PDC_TIMER_MODE_PERIODIC 
PDC_TIMER_MODE_ONCE 
PDC_TIMER_ENABLE 
PDC_TIMER_MASK_INT 
PDC_TIMER_SEQ_MASK 
PDC_TIMER_DEFAULT 

Definition at line 99 of file sata_sx4.c.

Function Documentation

MODULE_AUTHOR ( "Jeff Garzik"  )
MODULE_DESCRIPTION ( "Promise SATA low-level driver )
MODULE_DEVICE_TABLE ( pci  ,
pdc_sata_pci_tbl   
)
MODULE_LICENSE ( "GPL"  )
module_pci_driver ( pdc_sata_pci_driver  )
MODULE_VERSION ( DRV_VERSION  )