net/ice/base: support configuring device in double VLAN mode
authorQi Zhang <qi.z.zhang@intel.com>
Thu, 21 Jan 2021 01:32:26 +0000 (09:32 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Jan 2021 17:16:07 +0000 (18:16 +0100)
commit14e7a4b37b4f2f765b4da08019ffc9098d99a076
treed51c30dbe41cf05a7aa8f88b5bcbae658c76fbbe
parenta6b975d23c10756083357355372c4f545ddc1ebe
net/ice/base: support configuring device in double VLAN mode

In order to support configuring the device in Double VLAN Mode (DVM),
the DDP and FW have to support DVM. If both support DVM, the PF
that downloads the package needs to update the default recipes and set
the VLAN mode. This is done in ice_set_dvm().

In order to support updating the default recipes in DVM add support
for updating an existing switch recipe's lkup_idx and mask.
This is done by first calling the get recipe AQ (0x0292) with the
desired recipe ID. Then, if that is successful update one of the lookup
indices (lkup_idx) and its associated mask if the mask is valid
otherwise the already existing mask will be used.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
drivers/net/ice/base/ice_adminq_cmd.h
drivers/net/ice/base/ice_common.c
drivers/net/ice/base/ice_flex_pipe.c
drivers/net/ice/base/ice_switch.c
drivers/net/ice/base/ice_switch.h
drivers/net/ice/base/ice_type.h
drivers/net/ice/base/ice_vlan_mode.c
drivers/net/ice/base/ice_vlan_mode.h