Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
dca.c File Reference
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/smp.h>
#include <linux/interrupt.h>
#include <linux/dca.h>
#include <asm/smp.h>
#include "dma.h"
#include "registers.h"

Go to the source code of this file.

Data Structures

struct  ioat_dca_slot
 
struct  ioat_dca_priv
 

Macros

#define cpu_physical_id(cpu)   (cpuid_ebx(1) >> 24)
 
#define DCA_TAG_MAP_VALID   0x80
 
#define DCA3_TAG_MAP_BIT_TO_INV   0x80
 
#define DCA3_TAG_MAP_BIT_TO_SEL   0x40
 
#define DCA3_TAG_MAP_LITERAL_VAL   0x1
 
#define DCA_TAG_MAP_MASK   0xDF
 
#define DCA2_TAG_MAP_BYTE0   0x80
 
#define DCA2_TAG_MAP_BYTE1   0x0
 
#define DCA2_TAG_MAP_BYTE2   0x81
 
#define DCA2_TAG_MAP_BYTE3   0x82
 
#define DCA2_TAG_MAP_BYTE4   0x82
 
#define APICID_BIT(x)   (DCA_TAG_MAP_VALID | (x))
 
#define IOAT_TAG_MAP_LEN   8
 
#define IOAT_DCA_MAX_REQ   6
 
#define IOAT3_DCA_MAX_REQ   2
 

Functions

int system_has_dca_enabled (struct pci_dev *pdev)
 
struct dca_provider *__devinit ioat_dca_init (struct pci_dev *pdev, void __iomem *iobase)
 
struct dca_provider *__devinit ioat2_dca_init (struct pci_dev *pdev, void __iomem *iobase)
 
struct dca_provider *__devinit ioat3_dca_init (struct pci_dev *pdev, void __iomem *iobase)
 

Macro Definition Documentation

#define APICID_BIT (   x)    (DCA_TAG_MAP_VALID | (x))

Definition at line 74 of file dca.c.

#define cpu_physical_id (   cpu)    (cpuid_ebx(1) >> 24)

Definition at line 33 of file dca.c.

#define DCA2_TAG_MAP_BYTE0   0x80

Definition at line 53 of file dca.c.

#define DCA2_TAG_MAP_BYTE1   0x0

Definition at line 54 of file dca.c.

#define DCA2_TAG_MAP_BYTE2   0x81

Definition at line 55 of file dca.c.

#define DCA2_TAG_MAP_BYTE3   0x82

Definition at line 56 of file dca.c.

#define DCA2_TAG_MAP_BYTE4   0x82

Definition at line 57 of file dca.c.

#define DCA3_TAG_MAP_BIT_TO_INV   0x80

Definition at line 46 of file dca.c.

#define DCA3_TAG_MAP_BIT_TO_SEL   0x40

Definition at line 47 of file dca.c.

#define DCA3_TAG_MAP_LITERAL_VAL   0x1

Definition at line 48 of file dca.c.

#define DCA_TAG_MAP_MASK   0xDF

Definition at line 50 of file dca.c.

#define DCA_TAG_MAP_VALID   0x80

Definition at line 44 of file dca.c.

#define IOAT3_DCA_MAX_REQ   2

Definition at line 121 of file dca.c.

#define IOAT_DCA_MAX_REQ   6

Definition at line 120 of file dca.c.

#define IOAT_TAG_MAP_LEN   8

Definition at line 75 of file dca.c.

Function Documentation

struct dca_provider* __devinit ioat2_dca_init ( struct pci_dev pdev,
void __iomem iobase 
)
read

Definition at line 412 of file dca.c.

struct dca_provider* __devinit ioat3_dca_init ( struct pci_dev pdev,
void __iomem iobase 
)
read

Definition at line 608 of file dca.c.

struct dca_provider* __devinit ioat_dca_init ( struct pci_dev pdev,
void __iomem iobase 
)
read

Definition at line 246 of file dca.c.

int system_has_dca_enabled ( struct pci_dev pdev)

Definition at line 106 of file dca.c.