ice: Add support for control queues
authorAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tue, 20 Mar 2018 14:58:06 +0000 (07:58 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 26 Mar 2018 16:44:56 +0000 (09:44 -0700)
commitc81861734cd64a78e225ddf4211ffd790816216f
tree99270c779504e2b3f3ac9029099b6ff74f2bf171
parentd951897ce82b27dc05e3a21c4bc4e42f5ea9e517
ice: Add support for control queues

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>
12 files changed:
drivers/net/ethernet/intel/ice/Makefile
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_adminq_cmd.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_common.c [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_common.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_controlq.c [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_controlq.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_hw_autogen.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ice/ice_osdep.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_status.h [new file with mode: 0644]
drivers/net/ethernet/intel/ice/ice_type.h