
A control queue is a hardware interface which is used by the driver to interact with other subsystems (like firmware, PHY, etc.). It is implemented as a producer-consumer ring. More specifically, an "admin queue" is a type of control queue used to interact with the firmware. This patch introduces data structures and functions to initialize and teardown control/admin queues. Once the admin queue is initialized, the driver uses it to get the firmware version. Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> Tested-by: Tony Brelinski <tonyx.brelinski@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
36 lines
734 B
C
36 lines
734 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2018, Intel Corporation. */
|
|
|
|
#ifndef _ICE_H_
|
|
#define _ICE_H_
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/module.h>
|
|
#include <linux/netdevice.h>
|
|
#include <linux/compiler.h>
|
|
#include <linux/pci.h>
|
|
#include <linux/aer.h>
|
|
#include <linux/delay.h>
|
|
#include <linux/bitmap.h>
|
|
#include "ice_devids.h"
|
|
#include "ice_type.h"
|
|
|
|
#define ICE_BAR0 0
|
|
|
|
#define ICE_DFLT_NETIF_M (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK)
|
|
|
|
enum ice_state {
|
|
__ICE_DOWN,
|
|
__ICE_STATE_NBITS /* must be last */
|
|
};
|
|
|
|
struct ice_pf {
|
|
struct pci_dev *pdev;
|
|
DECLARE_BITMAP(state, __ICE_STATE_NBITS);
|
|
u32 msg_enable;
|
|
struct ice_hw hw;
|
|
};
|
|
#endif /* _ICE_H_ */
|