mirror of https://github.com/ipxe/ipxe.git
[intelxl] Expose functions required by virtual function driver
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/92/head
parent
1e0342ebd8
commit
3078a952a8
|
@ -45,8 +45,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void intelxl_reopen_admin ( struct intelxl_nic *intelxl );
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
* Device reset
|
* Device reset
|
||||||
|
@ -238,7 +236,7 @@ static void intelxl_free_admin ( struct intelxl_nic *intelxl __unused,
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
* @ret cmd Command descriptor
|
* @ret cmd Command descriptor
|
||||||
*/
|
*/
|
||||||
static struct intelxl_admin_descriptor *
|
struct intelxl_admin_descriptor *
|
||||||
intelxl_admin_command_descriptor ( struct intelxl_nic *intelxl ) {
|
intelxl_admin_command_descriptor ( struct intelxl_nic *intelxl ) {
|
||||||
struct intelxl_admin *admin = &intelxl->command;
|
struct intelxl_admin *admin = &intelxl->command;
|
||||||
struct intelxl_admin_descriptor *cmd;
|
struct intelxl_admin_descriptor *cmd;
|
||||||
|
@ -255,7 +253,7 @@ intelxl_admin_command_descriptor ( struct intelxl_nic *intelxl ) {
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
* @ret buf Data buffer
|
* @ret buf Data buffer
|
||||||
*/
|
*/
|
||||||
static union intelxl_admin_buffer *
|
union intelxl_admin_buffer *
|
||||||
intelxl_admin_command_buffer ( struct intelxl_nic *intelxl ) {
|
intelxl_admin_command_buffer ( struct intelxl_nic *intelxl ) {
|
||||||
struct intelxl_admin *admin = &intelxl->command;
|
struct intelxl_admin *admin = &intelxl->command;
|
||||||
union intelxl_admin_buffer *buf;
|
union intelxl_admin_buffer *buf;
|
||||||
|
@ -295,7 +293,7 @@ static void intelxl_admin_event_init ( struct intelxl_nic *intelxl,
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
* @ret rc Return status code
|
* @ret rc Return status code
|
||||||
*/
|
*/
|
||||||
static int intelxl_admin_command ( struct intelxl_nic *intelxl ) {
|
int intelxl_admin_command ( struct intelxl_nic *intelxl ) {
|
||||||
struct intelxl_admin *admin = &intelxl->command;
|
struct intelxl_admin *admin = &intelxl->command;
|
||||||
const struct intelxl_admin_offsets *regs = admin->regs;
|
const struct intelxl_admin_offsets *regs = admin->regs;
|
||||||
void *admin_regs = ( intelxl->regs + admin->base );
|
void *admin_regs = ( intelxl->regs + admin->base );
|
||||||
|
@ -696,7 +694,7 @@ static void intelxl_refill_admin ( struct intelxl_nic *intelxl ) {
|
||||||
*
|
*
|
||||||
* @v netdev Network device
|
* @v netdev Network device
|
||||||
*/
|
*/
|
||||||
static void intelxl_poll_admin ( struct net_device *netdev ) {
|
void intelxl_poll_admin ( struct net_device *netdev ) {
|
||||||
struct intelxl_nic *intelxl = netdev->priv;
|
struct intelxl_nic *intelxl = netdev->priv;
|
||||||
struct intelxl_admin *admin = &intelxl->event;
|
struct intelxl_admin *admin = &intelxl->event;
|
||||||
struct intelxl_admin_descriptor *evt;
|
struct intelxl_admin_descriptor *evt;
|
||||||
|
@ -749,7 +747,7 @@ static void intelxl_poll_admin ( struct net_device *netdev ) {
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
* @ret rc Return status code
|
* @ret rc Return status code
|
||||||
*/
|
*/
|
||||||
static int intelxl_open_admin ( struct intelxl_nic *intelxl ) {
|
int intelxl_open_admin ( struct intelxl_nic *intelxl ) {
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
/* Allocate admin event queue */
|
/* Allocate admin event queue */
|
||||||
|
@ -789,7 +787,7 @@ static int intelxl_open_admin ( struct intelxl_nic *intelxl ) {
|
||||||
*
|
*
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
*/
|
*/
|
||||||
static void intelxl_reopen_admin ( struct intelxl_nic *intelxl ) {
|
void intelxl_reopen_admin ( struct intelxl_nic *intelxl ) {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
/* Enable admin event queue */
|
/* Enable admin event queue */
|
||||||
|
@ -811,7 +809,7 @@ static void intelxl_reopen_admin ( struct intelxl_nic *intelxl ) {
|
||||||
*
|
*
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
*/
|
*/
|
||||||
static void intelxl_close_admin ( struct intelxl_nic *intelxl ) {
|
void intelxl_close_admin ( struct intelxl_nic *intelxl ) {
|
||||||
|
|
||||||
/* Shut down admin queues */
|
/* Shut down admin queues */
|
||||||
intelxl_admin_shutdown ( intelxl );
|
intelxl_admin_shutdown ( intelxl );
|
||||||
|
@ -839,8 +837,8 @@ static void intelxl_close_admin ( struct intelxl_nic *intelxl ) {
|
||||||
* @v ring Descriptor ring
|
* @v ring Descriptor ring
|
||||||
* @ret rc Return status code
|
* @ret rc Return status code
|
||||||
*/
|
*/
|
||||||
static int intelxl_alloc_ring ( struct intelxl_nic *intelxl,
|
int intelxl_alloc_ring ( struct intelxl_nic *intelxl,
|
||||||
struct intelxl_ring *ring ) {
|
struct intelxl_ring *ring ) {
|
||||||
physaddr_t address;
|
physaddr_t address;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
@ -880,8 +878,8 @@ static int intelxl_alloc_ring ( struct intelxl_nic *intelxl,
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
* @v ring Descriptor ring
|
* @v ring Descriptor ring
|
||||||
*/
|
*/
|
||||||
static void intelxl_free_ring ( struct intelxl_nic *intelxl __unused,
|
void intelxl_free_ring ( struct intelxl_nic *intelxl __unused,
|
||||||
struct intelxl_ring *ring ) {
|
struct intelxl_ring *ring ) {
|
||||||
|
|
||||||
/* Free descriptor ring */
|
/* Free descriptor ring */
|
||||||
free_dma ( ring->desc.raw, ring->len );
|
free_dma ( ring->desc.raw, ring->len );
|
||||||
|
@ -1253,7 +1251,7 @@ static void intelxl_refill_rx ( struct intelxl_nic *intelxl ) {
|
||||||
*
|
*
|
||||||
* @v intelxl Intel device
|
* @v intelxl Intel device
|
||||||
*/
|
*/
|
||||||
static void intelxl_empty_rx ( struct intelxl_nic *intelxl ) {
|
void intelxl_empty_rx ( struct intelxl_nic *intelxl ) {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
/* Discard any unused receive buffers */
|
/* Discard any unused receive buffers */
|
||||||
|
@ -1381,8 +1379,7 @@ static void intelxl_close ( struct net_device *netdev ) {
|
||||||
* @v iobuf I/O buffer
|
* @v iobuf I/O buffer
|
||||||
* @ret rc Return status code
|
* @ret rc Return status code
|
||||||
*/
|
*/
|
||||||
static int intelxl_transmit ( struct net_device *netdev,
|
int intelxl_transmit ( struct net_device *netdev, struct io_buffer *iobuf ) {
|
||||||
struct io_buffer *iobuf ) {
|
|
||||||
struct intelxl_nic *intelxl = netdev->priv;
|
struct intelxl_nic *intelxl = netdev->priv;
|
||||||
struct intelxl_tx_data_descriptor *tx;
|
struct intelxl_tx_data_descriptor *tx;
|
||||||
unsigned int tx_idx;
|
unsigned int tx_idx;
|
||||||
|
@ -1504,7 +1501,7 @@ static void intelxl_poll_rx ( struct net_device *netdev ) {
|
||||||
*
|
*
|
||||||
* @v netdev Network device
|
* @v netdev Network device
|
||||||
*/
|
*/
|
||||||
static void intelxl_poll ( struct net_device *netdev ) {
|
void intelxl_poll ( struct net_device *netdev ) {
|
||||||
struct intelxl_nic *intelxl = netdev->priv;
|
struct intelxl_nic *intelxl = netdev->priv;
|
||||||
|
|
||||||
/* Acknowledge interrupts, if applicable */
|
/* Acknowledge interrupts, if applicable */
|
||||||
|
|
|
@ -851,6 +851,24 @@ struct intelxl_nic {
|
||||||
struct io_buffer *rx_iobuf[INTELXL_RX_NUM_DESC];
|
struct io_buffer *rx_iobuf[INTELXL_RX_NUM_DESC];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern struct intelxl_admin_descriptor *
|
||||||
|
intelxl_admin_command_descriptor ( struct intelxl_nic *intelxl );
|
||||||
|
extern union intelxl_admin_buffer *
|
||||||
|
intelxl_admin_command_buffer ( struct intelxl_nic *intelxl );
|
||||||
|
extern int intelxl_admin_command ( struct intelxl_nic *intelxl );
|
||||||
|
extern void intelxl_poll_admin ( struct net_device *netdev );
|
||||||
|
extern int intelxl_open_admin ( struct intelxl_nic *intelxl );
|
||||||
|
extern void intelxl_reopen_admin ( struct intelxl_nic *intelxl );
|
||||||
|
extern void intelxl_close_admin ( struct intelxl_nic *intelxl );
|
||||||
|
extern int intelxl_alloc_ring ( struct intelxl_nic *intelxl,
|
||||||
|
struct intelxl_ring *ring );
|
||||||
|
extern void intelxl_free_ring ( struct intelxl_nic *intelxl,
|
||||||
|
struct intelxl_ring *ring );
|
||||||
|
extern void intelxl_empty_rx ( struct intelxl_nic *intelxl );
|
||||||
|
extern int intelxl_transmit ( struct net_device *netdev,
|
||||||
|
struct io_buffer *iobuf );
|
||||||
|
extern void intelxl_poll ( struct net_device *netdev );
|
||||||
|
|
||||||
extern void intelxlvf_admin_event ( struct net_device *netdev,
|
extern void intelxlvf_admin_event ( struct net_device *netdev,
|
||||||
struct intelxl_admin_descriptor *evt,
|
struct intelxl_admin_descriptor *evt,
|
||||||
union intelxl_admin_buffer *buf );
|
union intelxl_admin_buffer *buf );
|
||||||
|
|
Loading…
Reference in New Issue