[v2,6/8] net/i40e/base: support unused ports disabling

Message ID 20200727053451.22214-7-guinanx.sun@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series update i40e base code |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Guinan Sun July 27, 2020, 5:34 a.m. UTC
This patch adds support for disabling unused ports.

Signed-off-by: Damian Milosek <damian.milosek@intel.com>
Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
---
V2:
* Modifiy title and message
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 1 +
 drivers/net/i40e/base/i40e_common.c     | 6 ++++++
 drivers/net/i40e/base/i40e_type.h       | 1 +
 3 files changed, 8 insertions(+)
  

Comments

Guo, Jia July 28, 2020, 1:31 a.m. UTC | #1
Acked-by: Jeff Guo <jia.guo@intel.com>

On 7/27/2020 1:34 PM, Guinan Sun wrote:
> This patch adds support for disabling unused ports.
>
> Signed-off-by: Damian Milosek <damian.milosek@intel.com>
> Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
> ---
> V2:
> * Modifiy title and message
> ---
>   drivers/net/i40e/base/i40e_adminq_cmd.h | 1 +
>   drivers/net/i40e/base/i40e_common.c     | 6 ++++++
>   drivers/net/i40e/base/i40e_type.h       | 1 +
>   3 files changed, 8 insertions(+)
>
> diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
> index e1018ed49..c7686b0d3 100644
> --- a/drivers/net/i40e/base/i40e_adminq_cmd.h
> +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
> @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp {
>   #define I40E_AQ_CAP_ID_SDP		0x0062
>   #define I40E_AQ_CAP_ID_MDIO		0x0063
>   #define I40E_AQ_CAP_ID_WSR_PROT		0x0064
> +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS	0x0067
>   #define I40E_AQ_CAP_ID_NVM_MGMT		0x0080
>   #define I40E_AQ_CAP_ID_FLEX10		0x00F1
>   #define I40E_AQ_CAP_ID_CEM		0x00F2
> diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
> index 85c22849e..65317f6c6 100644
> --- a/drivers/net/i40e/base/i40e_common.c
> +++ b/drivers/net/i40e/base/i40e_common.c
> @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
>   				   "HW Capability: wr_csr_prot = 0x%llX\n\n",
>   				   (p->wr_csr_prot & 0xffff));
>   			break;
> +		case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS:
> +			p->dis_unused_ports = (bool)number;
> +			i40e_debug(hw, I40E_DEBUG_INIT,
> +				   "HW Capability: dis_unused_ports = %d\n\n",
> +				   p->dis_unused_ports);
> +			break;
>   		case I40E_AQ_CAP_ID_NVM_MGMT:
>   			if (number & I40E_NVM_MGMT_SEC_REV_DISABLED)
>   				p->sec_rev_disabled = true;
> diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
> index 0eeb55975..cf4134583 100644
> --- a/drivers/net/i40e/base/i40e_type.h
> +++ b/drivers/net/i40e/base/i40e_type.h
> @@ -425,6 +425,7 @@ struct i40e_hw_capabilities {
>   	u32 enabled_tcmap;
>   	u32 maxtc;
>   	u64 wr_csr_prot;
> +	bool dis_unused_ports;
>   	bool apm_wol_support;
>   	enum i40e_acpi_programming_method acpi_prog_method;
>   	bool proxy_support;
  

Patch

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index e1018ed49..c7686b0d3 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -440,6 +440,7 @@  struct i40e_aqc_list_capabilities_element_resp {
 #define I40E_AQ_CAP_ID_SDP		0x0062
 #define I40E_AQ_CAP_ID_MDIO		0x0063
 #define I40E_AQ_CAP_ID_WSR_PROT		0x0064
+#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS	0x0067
 #define I40E_AQ_CAP_ID_NVM_MGMT		0x0080
 #define I40E_AQ_CAP_ID_FLEX10		0x00F1
 #define I40E_AQ_CAP_ID_CEM		0x00F2
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 85c22849e..65317f6c6 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -4021,6 +4021,12 @@  STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
 				   "HW Capability: wr_csr_prot = 0x%llX\n\n",
 				   (p->wr_csr_prot & 0xffff));
 			break;
+		case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS:
+			p->dis_unused_ports = (bool)number;
+			i40e_debug(hw, I40E_DEBUG_INIT,
+				   "HW Capability: dis_unused_ports = %d\n\n",
+				   p->dis_unused_ports);
+			break;
 		case I40E_AQ_CAP_ID_NVM_MGMT:
 			if (number & I40E_NVM_MGMT_SEC_REV_DISABLED)
 				p->sec_rev_disabled = true;
diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
index 0eeb55975..cf4134583 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -425,6 +425,7 @@  struct i40e_hw_capabilities {
 	u32 enabled_tcmap;
 	u32 maxtc;
 	u64 wr_csr_prot;
+	bool dis_unused_ports;
 	bool apm_wol_support;
 	enum i40e_acpi_programming_method acpi_prog_method;
 	bool proxy_support;