diff options
Diffstat (limited to 'vlib/vlib/pci/pci.h')
-rw-r--r-- | vlib/vlib/pci/pci.h | 127 |
1 files changed, 67 insertions, 60 deletions
diff --git a/vlib/vlib/pci/pci.h b/vlib/vlib/pci/pci.h index 7e8a9fcc80b..06e10b80e59 100644 --- a/vlib/vlib/pci/pci.h +++ b/vlib/vlib/pci/pci.h @@ -43,72 +43,74 @@ #include <vlib/vlib.h> #include <vlib/pci/pci_config.h> -typedef CLIB_PACKED (union { - struct { - u16 domain; - u8 bus; - u8 slot:5; - u8 function:3; - }; - u32 as_u32; -}) vlib_pci_addr_t; - -typedef struct vlib_pci_device { +typedef CLIB_PACKED (union + { + struct + { +u16 domain; u8 bus; u8 slot: 5; u8 function:3;}; + u32 as_u32;}) vlib_pci_addr_t; + +typedef struct vlib_pci_device +{ /* Operating system handle for this device. */ uword os_handle; vlib_pci_addr_t bus_address; /* First 64 bytes of configuration space. */ - union { + union + { pci_config_type0_regs_t config0; pci_config_type1_regs_t config1; u8 config_data[256]; }; /* Interrupt handler */ - void (* interrupt_handler) (struct vlib_pci_device * dev); + void (*interrupt_handler) (struct vlib_pci_device * dev); /* Driver name */ - u8 * driver_name; + u8 *driver_name; /* Numa Node */ int numa_node; /* Vital Product Data */ - u8 * product_name; - u8 * vpd_r; - u8 * vpd_w; + u8 *product_name; + u8 *vpd_r; + u8 *vpd_w; /* Private data */ uword private_data; } vlib_pci_device_t; -typedef struct { +typedef struct +{ u16 vendor_id, device_id; } pci_device_id_t; -typedef struct _pci_device_registration { +typedef struct _pci_device_registration +{ /* Driver init function. */ - clib_error_t * (* init_function) (vlib_main_t * vm, vlib_pci_device_t * dev); + clib_error_t *(*init_function) (vlib_main_t * vm, vlib_pci_device_t * dev); /* Interrupt handler */ - void (* interrupt_handler) (vlib_pci_device_t * dev); + void (*interrupt_handler) (vlib_pci_device_t * dev); /* List of registrations */ - struct _pci_device_registration * next_registration; + struct _pci_device_registration *next_registration; /* Vendor/device ids supported by this driver. */ pci_device_id_t supported_devices[]; } pci_device_registration_t; /* Pool of PCI devices. */ -typedef struct { - vlib_main_t * vlib_main; - vlib_pci_device_t * pci_devs; - pci_device_registration_t * pci_device_registrations; - uword * pci_dev_index_by_pci_addr; +typedef struct +{ + vlib_main_t *vlib_main; + vlib_pci_device_t *pci_devs; + pci_device_registration_t *pci_device_registrations; + uword *pci_dev_index_by_pci_addr; } vlib_pci_main_t; extern vlib_pci_main_t pci_main; @@ -125,16 +127,14 @@ static void __vlib_add_pci_device_registration_##x (void) \ } \ __VA_ARGS__ pci_device_registration_t x -clib_error_t * -vlib_pci_bind_to_uio (vlib_pci_device_t * d, char * uio_driver_name); +clib_error_t *vlib_pci_bind_to_uio (vlib_pci_device_t * d, + char *uio_driver_name); /* Configuration space read/write. */ -clib_error_t * -vlib_pci_read_write_config (vlib_pci_device_t * dev, - vlib_read_or_write_t read_or_write, - uword address, - void * data, - u32 n_bytes); +clib_error_t *vlib_pci_read_write_config (vlib_pci_device_t * dev, + vlib_read_or_write_t read_or_write, + uword address, + void *data, u32 n_bytes); #define _(t) \ static inline clib_error_t * \ @@ -145,9 +145,9 @@ vlib_pci_read_config_##t (vlib_pci_device_t * dev, \ sizeof (data[0])); \ } -_ (u32); -_ (u16); -_ (u8); +_(u32); +_(u16); +_(u8); #undef _ @@ -160,52 +160,52 @@ vlib_pci_write_config_##t (vlib_pci_device_t * dev, uword address, \ address, data, sizeof (data[0])); \ } -_ (u32); -_ (u16); -_ (u8); +_(u32); +_(u16); +_(u8); #undef _ static inline clib_error_t * -vlib_pci_intr_enable(vlib_pci_device_t * dev) +vlib_pci_intr_enable (vlib_pci_device_t * dev) { u16 command; - clib_error_t * err; + clib_error_t *err; - err = vlib_pci_read_config_u16(dev, 4, &command); + err = vlib_pci_read_config_u16 (dev, 4, &command); if (err) return err; command &= ~PCI_COMMAND_INTX_DISABLE; - return vlib_pci_write_config_u16(dev, 4, &command); + return vlib_pci_write_config_u16 (dev, 4, &command); } static inline clib_error_t * -vlib_pci_intr_disable(vlib_pci_device_t * dev) +vlib_pci_intr_disable (vlib_pci_device_t * dev) { u16 command; - clib_error_t * err; + clib_error_t *err; - err = vlib_pci_read_config_u16(dev, 4, &command); + err = vlib_pci_read_config_u16 (dev, 4, &command); if (err) return err; command |= PCI_COMMAND_INTX_DISABLE; - return vlib_pci_write_config_u16(dev, 4, &command); + return vlib_pci_write_config_u16 (dev, 4, &command); } static inline clib_error_t * -vlib_pci_bus_master_enable(vlib_pci_device_t * dev) +vlib_pci_bus_master_enable (vlib_pci_device_t * dev) { - clib_error_t * err; + clib_error_t *err; u16 command; /* Set bus master enable (BME) */ - err = vlib_pci_read_config_u16(dev, 4, &command); + err = vlib_pci_read_config_u16 (dev, 4, &command); if (err) return err; @@ -215,19 +215,18 @@ vlib_pci_bus_master_enable(vlib_pci_device_t * dev) command |= PCI_COMMAND_BUS_MASTER; - return vlib_pci_write_config_u16(dev, 4, &command); + return vlib_pci_write_config_u16 (dev, 4, &command); } -clib_error_t * -vlib_pci_map_resource (vlib_pci_device_t * dev, u32 resource, void ** result); +clib_error_t *vlib_pci_map_resource (vlib_pci_device_t * dev, u32 resource, + void **result); -clib_error_t * -vlib_pci_map_resource_fixed (vlib_pci_device_t * dev, u32 resource, u8 * addr, - void ** result); +clib_error_t *vlib_pci_map_resource_fixed (vlib_pci_device_t * dev, + u32 resource, u8 * addr, + void **result); /* Free's device. */ -void -vlib_pci_free_device (vlib_pci_device_t * dev); +void vlib_pci_free_device (vlib_pci_device_t * dev); unformat_function_t unformat_vlib_pci_addr; format_function_t format_vlib_pci_addr; @@ -235,3 +234,11 @@ format_function_t format_vlib_pci_handle; format_function_t format_vlib_pci_link_speed; #endif /* included_vlib_pci_h */ + +/* + * fd.io coding-style-patch-verification: ON + * + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ |