DDEKit_pci


Functions

int ddekit_pci_readb (int bus, int slot, int func, int pos, ddekit_uint8_t *val)
 Read byte from PCI config space.
int ddekit_pci_readw (int bus, int slot, int func, int pos, ddekit_uint16_t *val)
 Read word from PCI config space.
int ddekit_pci_readl (int bus, int slot, int func, int pos, ddekit_uint32_t *val)
 Read dword from PCI config space.
int ddekit_pci_writeb (int bus, int slot, int func, int pos, ddekit_uint8_t val)
 Write byte to PCI config space.
int ddekit_pci_writew (int bus, int slot, int func, int pos, ddekit_uint16_t val)
 Write word to PCI config space.
int ddekit_pci_writel (int bus, int slot, int func, int pos, ddekit_uint32_t val)
 Write word to PCI config space.
struct ddekit_pci_devddekit_pci_find_device (int *bus, int *slot, int *func, struct ddekit_pci_dev *start)
 Find a PCI device.
int ddekit_pci_enable_device (struct ddekit_pci_dev *dev)
 Enable PCI device.
int ddekit_pci_disable_device (struct ddekit_pci_dev *dev)
 Disable PCI device.
void ddekit_pci_set_master (struct ddekit_pci_dev *dev)
 Enable bus-mastering for device.
unsigned short ddekit_pci_get_vendor (struct ddekit_pci_dev *dev)
 Get device vendor ID.
unsigned short ddekit_pci_get_device_id (struct ddekit_pci_dev *dev)
 Get device ID.
unsigned short ddekit_pci_get_sub_vendor (struct ddekit_pci_dev *dev)
 Get device subvendor ID.
unsigned short ddekit_pci_get_sub_device (struct ddekit_pci_dev *dev)
 Get subdevice ID.
unsigned ddekit_pci_get_dev_class (struct ddekit_pci_dev *dev)
 Get device class ID.
unsigned long ddekit_pci_get_irq (struct ddekit_pci_dev *dev)
 Get device's IRQ number.
char * ddekit_pci_get_name (struct ddekit_pci_dev *dev)
 Get device name.
char * ddekit_pci_get_slot_name (struct ddekit_pci_dev *dev)
 Get device's slot name.
ddekit_pci_res_tddekit_pci_get_resource (struct ddekit_pci_dev *dev, unsigned int idx)
 Get one of the device's resources.
void ddekit_pci_init (void)
 Initialize DDEKit PCI module.
int ddekit_pci_get_device (int nr, int *bus, int *slot, int *func)
 Get PCI device (bus, slot, func) for handle.
static ddekit_pci_dev_tddekit_pci_find_device_fixed (int bus, int slot, int func)
 Find PCI device for a given (bus, slot, func) tuple.

Function Documentation

int ddekit_pci_disable_device ( struct ddekit_pci_dev dev  ) 

Disable PCI device.

Definition at line 247 of file ddekit/src/pci.c.

int ddekit_pci_enable_device ( struct ddekit_pci_dev dev  ) 

Enable PCI device.

Definition at line 242 of file ddekit/src/pci.c.

struct ddekit_pci_dev* ddekit_pci_find_device ( int *  bus,
int *  slot,
int *  func,
struct ddekit_pci_dev start 
) [read]

Find a PCI device.

Parameters:
bus pointer to bus number or DDEKIT_PCI_ANY_ID
slot pointer to slot number (devfn >> DEVFN_SLOTSHIFT) or DDEKIT_PCI_ANY_ID
func pointer to func number (devfc & DEVFN_FUNCMASK) or DDEKIT_PCI_ANY_ID
start search device list only behind this device (excluding it!), NULL searches whole device list
Return values:
bus bus number
slot slot number
func function number
Returns:
device a valid PCI device

NULL if no device found

Definition at line 112 of file ddekit/src/pci.c.

static ddekit_pci_dev_t* ddekit_pci_find_device_fixed ( int  bus,
int  slot,
int  func 
) [inline, static]

Find PCI device for a given (bus, slot, func) tuple.

This function is only used internally by the pci_{read,write}{b,l,w} functions. It was once called pci_find_device, but this caused confusion with the "real" find_device() functionality provided by L4IO and the Linux PCI subsystem.

Definition at line 177 of file ddekit/src/pci.c.

unsigned ddekit_pci_get_dev_class ( struct ddekit_pci_dev dev  ) 

Get device class ID.

Get PCI device class ID.

Parameters:
dev device

Definition at line 317 of file ddekit/src/pci.c.

int ddekit_pci_get_device ( int  nr,
int *  bus,
int *  slot,
int *  func 
)

Get PCI device (bus, slot, func) for handle.

Definition at line 94 of file ddekit/src/pci.c.

unsigned short ddekit_pci_get_device_id ( struct ddekit_pci_dev dev  ) 

Get device ID.

Get PCI device ID.

Parameters:
dev device

Definition at line 278 of file ddekit/src/pci.c.

unsigned long ddekit_pci_get_irq ( struct ddekit_pci_dev dev  ) 

Get device's IRQ number.

Get PCI device IRQ number.

Parameters:
dev device

Definition at line 330 of file ddekit/src/pci.c.

char * ddekit_pci_get_name ( struct ddekit_pci_dev dev  ) 

Get device name.

Get PCI device name.

Parameters:
dev device

Definition at line 343 of file ddekit/src/pci.c.

ddekit_pci_res_t * ddekit_pci_get_resource ( struct ddekit_pci_dev dev,
unsigned int  idx 
)

Get one of the device's resources.

Get PCI device resource at index.

Parameters:
dev device
idx resource index

Definition at line 370 of file ddekit/src/pci.c.

char * ddekit_pci_get_slot_name ( struct ddekit_pci_dev dev  ) 

Get device's slot name.

Get PCI device slot name.

Parameters:
dev device

Definition at line 356 of file ddekit/src/pci.c.

unsigned short ddekit_pci_get_sub_device ( struct ddekit_pci_dev dev  ) 

Get subdevice ID.

Get PCI device subdevice ID.

Parameters:
dev device

Definition at line 304 of file ddekit/src/pci.c.

unsigned short ddekit_pci_get_sub_vendor ( struct ddekit_pci_dev dev  ) 

Get device subvendor ID.

Get PCI device subvendor ID.

Parameters:
dev device

Definition at line 291 of file ddekit/src/pci.c.

unsigned short ddekit_pci_get_vendor ( struct ddekit_pci_dev dev  ) 

Get device vendor ID.

Get PCI device vendor ID.

Parameters:
dev device

Definition at line 265 of file ddekit/src/pci.c.

void ddekit_pci_init ( void   ) 

Initialize DDEKit PCI module.

This function builds a list of devices by querying L4IO.

Definition at line 41 of file ddekit/src/pci.c.

int ddekit_pci_readb ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint8_t val 
)

Read byte from PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val read value
Returns:
0 success

Definition at line 183 of file ddekit/src/pci.c.

int ddekit_pci_readl ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint32_t val 
)

Read dword from PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val read value
Returns:
0 success

Definition at line 203 of file ddekit/src/pci.c.

int ddekit_pci_readw ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint16_t val 
)

Read word from PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val read value
Returns:
0 success

Definition at line 193 of file ddekit/src/pci.c.

void ddekit_pci_set_master ( struct ddekit_pci_dev dev  ) 

Enable bus-mastering for device.

Set PCI bus mastering for device.

Definition at line 384 of file ddekit/src/pci.c.

int ddekit_pci_writeb ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint8_t  val 
)

Write byte to PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val value to write
Returns:
0 success

Definition at line 213 of file ddekit/src/pci.c.

int ddekit_pci_writel ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint32_t  val 
)

Write word to PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val value to write
Returns:
0 success

Definition at line 233 of file ddekit/src/pci.c.

int ddekit_pci_writew ( int  bus,
int  slot,
int  func,
int  pos,
ddekit_uint16_t  val 
)

Write word to PCI config space.

Parameters:
bus bus ID
slot slot #
func function #
pos offset in config space
Return values:
val value to write
Returns:
0 success

Definition at line 223 of file ddekit/src/pci.c.


Generated on Wed Apr 11 06:39:16 2012 for DDE - The L4 Device Driver Environment by  doxygen 1.5.6