Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
sgiioc4.c File Reference
#include <linux/module.h>
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/ioport.h>
#include <linux/blkdev.h>
#include <linux/scatterlist.h>
#include <linux/ioc4.h>
#include <linux/io.h>
#include <linux/ide.h>

Go to the source code of this file.

Data Structures

struct  ioc4_dma_regs
 

Macros

#define DRV_NAME   "SGIIOC4"
 
#define IOC4_CMD_OFFSET   0x100
 
#define IOC4_CTRL_OFFSET   0x120
 
#define IOC4_DMA_OFFSET   0x140
 
#define IOC4_INTR_OFFSET   0x0
 
#define IOC4_TIMING   0x00
 
#define IOC4_DMA_PTR_L   0x01
 
#define IOC4_DMA_PTR_H   0x02
 
#define IOC4_DMA_ADDR_L   0x03
 
#define IOC4_DMA_ADDR_H   0x04
 
#define IOC4_BC_DEV   0x05
 
#define IOC4_BC_MEM   0x06
 
#define IOC4_DMA_CTRL   0x07
 
#define IOC4_DMA_END_ADDR   0x08
 
#define IOC4_S_DMA_START   0x01
 
#define IOC4_S_DMA_STOP   0x02
 
#define IOC4_S_DMA_DIR   0x04
 
#define IOC4_S_DMA_ACTIVE   0x08
 
#define IOC4_S_DMA_ERROR   0x10
 
#define IOC4_ATA_MEMERR   0x02
 
#define IOC4_DMA_WRITE   0x04
 
#define IOC4_DMA_READ   0x00
 
#define IOC4_INTR_REG   0x03
 
#define IOC4_INTR_SET   0x05
 
#define IOC4_INTR_CLEAR   0x07
 
#define IOC4_IDE_CACHELINE_SIZE   128
 
#define IOC4_CMD_CTL_BLK_SIZE   0x20
 
#define IOC4_SUPPORTED_FIRMWARE_REV   46
 
#define IOC4_PRD_BYTES   16
 
#define IOC4_PRD_ENTRIES   (PAGE_SIZE / (4 * IOC4_PRD_BYTES))
 

Functions

int __devinit ioc4_ide_attach_one (struct ioc4_driver_data *idd)
 
 late_initcall (ioc4_ide_init)
 
 MODULE_AUTHOR ("Aniket Malatpure/Jeremy Higdon")
 
 MODULE_DESCRIPTION ("IDE PCI driver module for SGI IOC4 Base-IO Card")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define DRV_NAME   "SGIIOC4"

Definition at line 35 of file sgiioc4.c.

#define IOC4_ATA_MEMERR   0x02

Definition at line 59 of file sgiioc4.c.

#define IOC4_BC_DEV   0x05

Definition at line 48 of file sgiioc4.c.

#define IOC4_BC_MEM   0x06

Definition at line 49 of file sgiioc4.c.

#define IOC4_CMD_CTL_BLK_SIZE   0x20

Definition at line 71 of file sgiioc4.c.

#define IOC4_CMD_OFFSET   0x100

Definition at line 38 of file sgiioc4.c.

#define IOC4_CTRL_OFFSET   0x120

Definition at line 39 of file sgiioc4.c.

#define IOC4_DMA_ADDR_H   0x04

Definition at line 47 of file sgiioc4.c.

#define IOC4_DMA_ADDR_L   0x03

Definition at line 46 of file sgiioc4.c.

#define IOC4_DMA_CTRL   0x07

Definition at line 50 of file sgiioc4.c.

#define IOC4_DMA_END_ADDR   0x08

Definition at line 51 of file sgiioc4.c.

#define IOC4_DMA_OFFSET   0x140

Definition at line 40 of file sgiioc4.c.

#define IOC4_DMA_PTR_H   0x02

Definition at line 45 of file sgiioc4.c.

#define IOC4_DMA_PTR_L   0x01

Definition at line 44 of file sgiioc4.c.

#define IOC4_DMA_READ   0x00

Definition at line 63 of file sgiioc4.c.

#define IOC4_DMA_WRITE   0x04

Definition at line 62 of file sgiioc4.c.

#define IOC4_IDE_CACHELINE_SIZE   128

Definition at line 70 of file sgiioc4.c.

#define IOC4_INTR_CLEAR   0x07

Definition at line 68 of file sgiioc4.c.

#define IOC4_INTR_OFFSET   0x0

Definition at line 41 of file sgiioc4.c.

#define IOC4_INTR_REG   0x03

Definition at line 66 of file sgiioc4.c.

#define IOC4_INTR_SET   0x05

Definition at line 67 of file sgiioc4.c.

#define IOC4_PRD_BYTES   16

Definition at line 88 of file sgiioc4.c.

#define IOC4_PRD_ENTRIES   (PAGE_SIZE / (4 * IOC4_PRD_BYTES))

Definition at line 89 of file sgiioc4.c.

#define IOC4_S_DMA_ACTIVE   0x08

Definition at line 57 of file sgiioc4.c.

#define IOC4_S_DMA_DIR   0x04

Definition at line 56 of file sgiioc4.c.

#define IOC4_S_DMA_ERROR   0x10

Definition at line 58 of file sgiioc4.c.

#define IOC4_S_DMA_START   0x01

Definition at line 54 of file sgiioc4.c.

#define IOC4_S_DMA_STOP   0x02

Definition at line 55 of file sgiioc4.c.

#define IOC4_SUPPORTED_FIRMWARE_REV   46

Definition at line 72 of file sgiioc4.c.

#define IOC4_TIMING   0x00

Definition at line 43 of file sgiioc4.c.

Function Documentation

int __devinit ioc4_ide_attach_one ( struct ioc4_driver_data idd)

Definition at line 604 of file sgiioc4.c.

late_initcall ( ioc4_ide_init  )
MODULE_AUTHOR ( "Aniket Malatpure/Jeremy Higdon"  )
MODULE_DESCRIPTION ( "IDE PCI driver module for SGI IOC4 Base-IO Card"  )
MODULE_LICENSE ( "GPL"  )