public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH iwl-next 0/2] Remove VF MAC types and move helpers from i40e_type.h
@ 2023-10-25 10:33 Ivan Vecera
  2023-10-25 10:33 ` [PATCH iwl-next 1/2] i40e: Remove VF MAC types Ivan Vecera
  2023-10-25 10:33 ` [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h Ivan Vecera
  0 siblings, 2 replies; 15+ messages in thread
From: Ivan Vecera @ 2023-10-25 10:33 UTC (permalink / raw)
  To: netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller

The series removes MAC types for VF functions and moves inline helper
functions from i40e_type.h to i40e_prototype.h

Ivan Vecera (2):
  i40e: Remove VF MAC types
  i40e: Move inline helpers to i40e_prototype.h

 drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 +++-----
 .../net/ethernet/intel/i40e/i40e_prototype.h  | 70 +++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_type.h   | 76 -------------------
 3 files changed, 80 insertions(+), 99 deletions(-)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 10:33 [PATCH iwl-next 0/2] Remove VF MAC types and move helpers from i40e_type.h Ivan Vecera
@ 2023-10-25 10:33 ` Ivan Vecera
  2023-10-25 10:48   ` Wojciech Drewek
  2023-10-30  9:09   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
  2023-10-25 10:33 ` [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h Ivan Vecera
  1 sibling, 2 replies; 15+ messages in thread
From: Ivan Vecera @ 2023-10-25 10:33 UTC (permalink / raw)
  To: netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller

The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
i40e_adminq_init_regs() and remove enums for these VF MAC types.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
 drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
 2 files changed, 10 insertions(+), 31 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index 29fc46abf690..896c43905309 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
 static void i40e_adminq_init_regs(struct i40e_hw *hw)
 {
 	/* set head and tail registers in our local struct */
-	if (i40e_is_vf(hw)) {
-		hw->aq.asq.tail = I40E_VF_ATQT1;
-		hw->aq.asq.head = I40E_VF_ATQH1;
-		hw->aq.asq.len  = I40E_VF_ATQLEN1;
-		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
-		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
-		hw->aq.arq.tail = I40E_VF_ARQT1;
-		hw->aq.arq.head = I40E_VF_ARQH1;
-		hw->aq.arq.len  = I40E_VF_ARQLEN1;
-		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
-		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
-	} else {
-		hw->aq.asq.tail = I40E_PF_ATQT;
-		hw->aq.asq.head = I40E_PF_ATQH;
-		hw->aq.asq.len  = I40E_PF_ATQLEN;
-		hw->aq.asq.bal  = I40E_PF_ATQBAL;
-		hw->aq.asq.bah  = I40E_PF_ATQBAH;
-		hw->aq.arq.tail = I40E_PF_ARQT;
-		hw->aq.arq.head = I40E_PF_ARQH;
-		hw->aq.arq.len  = I40E_PF_ARQLEN;
-		hw->aq.arq.bal  = I40E_PF_ARQBAL;
-		hw->aq.arq.bah  = I40E_PF_ARQBAH;
-	}
+	hw->aq.asq.tail = I40E_PF_ATQT;
+	hw->aq.asq.head = I40E_PF_ATQH;
+	hw->aq.asq.len  = I40E_PF_ATQLEN;
+	hw->aq.asq.bal  = I40E_PF_ATQBAL;
+	hw->aq.asq.bah  = I40E_PF_ATQBAH;
+	hw->aq.arq.tail = I40E_PF_ARQT;
+	hw->aq.arq.head = I40E_PF_ARQH;
+	hw->aq.arq.len  = I40E_PF_ARQLEN;
+	hw->aq.arq.bal  = I40E_PF_ARQBAL;
+	hw->aq.arq.bah  = I40E_PF_ARQBAH;
 }
 
 /**
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 9fda0cb6bdbe..7eaf8b013125 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -64,9 +64,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
 enum i40e_mac_type {
 	I40E_MAC_UNKNOWN = 0,
 	I40E_MAC_XL710,
-	I40E_MAC_VF,
 	I40E_MAC_X722,
-	I40E_MAC_X722_VF,
 	I40E_MAC_GENERIC,
 };
 
@@ -588,12 +586,6 @@ struct i40e_hw {
 	char err_str[16];
 };
 
-static inline bool i40e_is_vf(struct i40e_hw *hw)
-{
-	return (hw->mac.type == I40E_MAC_VF ||
-		hw->mac.type == I40E_MAC_X722_VF);
-}
-
 /**
  * i40e_is_aq_api_ver_ge
  * @hw: pointer to i40e_hw structure
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h
  2023-10-25 10:33 [PATCH iwl-next 0/2] Remove VF MAC types and move helpers from i40e_type.h Ivan Vecera
  2023-10-25 10:33 ` [PATCH iwl-next 1/2] i40e: Remove VF MAC types Ivan Vecera
@ 2023-10-25 10:33 ` Ivan Vecera
  2023-10-25 10:44   ` Wojciech Drewek
  2023-10-30  9:10   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
  1 sibling, 2 replies; 15+ messages in thread
From: Ivan Vecera @ 2023-10-25 10:33 UTC (permalink / raw)
  To: netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller, Wojciech Drewek

Move version check helper functions from i40e_type.h to
i40e_prototype.h as per discussion [1].

[1] https://lore.kernel.org/all/cdcd6b97-1138-4cd7-854f-b3faa1f475f8@intel.com/#t

Cc: Wojciech Drewek <wojciech.drewek@intel.com>
Cc: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
---
 .../net/ethernet/intel/i40e/i40e_prototype.h  | 70 +++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_type.h   | 68 ------------------
 2 files changed, 70 insertions(+), 68 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_prototype.h b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
index 001162042050..af4269330581 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_prototype.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
@@ -501,4 +501,74 @@ i40e_add_pinfo_to_list(struct i40e_hw *hw,
 /* i40e_ddp */
 int i40e_ddp_flash(struct net_device *netdev, struct ethtool_flash *flash);
 
+/* Firmware and AdminQ version check helpers */
+
+/**
+ * i40e_is_aq_api_ver_ge
+ * @hw: pointer to i40e_hw structure
+ * @maj: API major value to compare
+ * @min: API minor value to compare
+ *
+ * Assert whether current HW API version is greater/equal than provided.
+ **/
+static inline bool i40e_is_aq_api_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	return (hw->aq.api_maj_ver > maj ||
+		(hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min));
+}
+
+/**
+ * i40e_is_aq_api_ver_lt
+ * @hw: pointer to i40e_hw structure
+ * @maj: API major value to compare
+ * @min: API minor value to compare
+ *
+ * Assert whether current HW API version is less than provided.
+ **/
+static inline bool i40e_is_aq_api_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	return !i40e_is_aq_api_ver_ge(hw, maj, min);
+}
+
+/**
+ * i40e_is_fw_ver_ge
+ * @hw: pointer to i40e_hw structure
+ * @maj: API major value to compare
+ * @min: API minor value to compare
+ *
+ * Assert whether current firmware version is greater/equal than provided.
+ **/
+static inline bool i40e_is_fw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	return (hw->aq.fw_maj_ver > maj ||
+		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver >= min));
+}
+
+/**
+ * i40e_is_fw_ver_lt
+ * @hw: pointer to i40e_hw structure
+ * @maj: API major value to compare
+ * @min: API minor value to compare
+ *
+ * Assert whether current firmware version is less than provided.
+ **/
+static inline bool i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	return !i40e_is_fw_ver_ge(hw, maj, min);
+}
+
+/**
+ * i40e_is_fw_ver_eq
+ * @hw: pointer to i40e_hw structure
+ * @maj: API major value to compare
+ * @min: API minor value to compare
+ *
+ * Assert whether current firmware version is equal to provided.
+ **/
+static inline bool i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min)
+{
+	return (hw->aq.fw_maj_ver > maj ||
+		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min));
+}
+
 #endif /* _I40E_PROTOTYPE_H_ */
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 7eaf8b013125..e3d40630f689 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -586,74 +586,6 @@ struct i40e_hw {
 	char err_str[16];
 };
 
-/**
- * i40e_is_aq_api_ver_ge
- * @hw: pointer to i40e_hw structure
- * @maj: API major value to compare
- * @min: API minor value to compare
- *
- * Assert whether current HW API version is greater/equal than provided.
- **/
-static inline bool i40e_is_aq_api_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
-{
-	return (hw->aq.api_maj_ver > maj ||
-		(hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min));
-}
-
-/**
- * i40e_is_aq_api_ver_lt
- * @hw: pointer to i40e_hw structure
- * @maj: API major value to compare
- * @min: API minor value to compare
- *
- * Assert whether current HW API version is less than provided.
- **/
-static inline bool i40e_is_aq_api_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
-{
-	return !i40e_is_aq_api_ver_ge(hw, maj, min);
-}
-
-/**
- * i40e_is_fw_ver_ge
- * @hw: pointer to i40e_hw structure
- * @maj: API major value to compare
- * @min: API minor value to compare
- *
- * Assert whether current firmware version is greater/equal than provided.
- **/
-static inline bool i40e_is_fw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
-{
-	return (hw->aq.fw_maj_ver > maj ||
-		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver >= min));
-}
-
-/**
- * i40e_is_fw_ver_lt
- * @hw: pointer to i40e_hw structure
- * @maj: API major value to compare
- * @min: API minor value to compare
- *
- * Assert whether current firmware version is less than provided.
- **/
-static inline bool i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
-{
-	return !i40e_is_fw_ver_ge(hw, maj, min);
-}
-
-/**
- * i40e_is_fw_ver_eq
- * @hw: pointer to i40e_hw structure
- * @maj: API major value to compare
- * @min: API minor value to compare
- *
- * Assert whether current firmware version is equal to provided.
- **/
-static inline bool i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min)
-{
-	return (hw->aq.fw_maj_ver > maj ||
-		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min));
-}
-
 struct i40e_driver_version {
 	u8 major_version;
 	u8 minor_version;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h
  2023-10-25 10:33 ` [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h Ivan Vecera
@ 2023-10-25 10:44   ` Wojciech Drewek
  2023-10-30  9:10   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
  1 sibling, 0 replies; 15+ messages in thread
From: Wojciech Drewek @ 2023-10-25 10:44 UTC (permalink / raw)
  To: Ivan Vecera, netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller



On 25.10.2023 12:33, Ivan Vecera wrote:
> Move version check helper functions from i40e_type.h to
> i40e_prototype.h as per discussion [1].
> 
> [1] https://lore.kernel.org/all/cdcd6b97-1138-4cd7-854f-b3faa1f475f8@intel.com/#t
> 
> Cc: Wojciech Drewek <wojciech.drewek@intel.com>
> Cc: Jacob Keller <jacob.e.keller@intel.com>
> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
> ---

Thanks Ivan!
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>

>  .../net/ethernet/intel/i40e/i40e_prototype.h  | 70 +++++++++++++++++++
>  drivers/net/ethernet/intel/i40e/i40e_type.h   | 68 ------------------
>  2 files changed, 70 insertions(+), 68 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_prototype.h b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
> index 001162042050..af4269330581 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_prototype.h
> +++ b/drivers/net/ethernet/intel/i40e/i40e_prototype.h
> @@ -501,4 +501,74 @@ i40e_add_pinfo_to_list(struct i40e_hw *hw,
>  /* i40e_ddp */
>  int i40e_ddp_flash(struct net_device *netdev, struct ethtool_flash *flash);
>  
> +/* Firmware and AdminQ version check helpers */
> +
> +/**
> + * i40e_is_aq_api_ver_ge
> + * @hw: pointer to i40e_hw structure
> + * @maj: API major value to compare
> + * @min: API minor value to compare
> + *
> + * Assert whether current HW API version is greater/equal than provided.
> + **/
> +static inline bool i40e_is_aq_api_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
> +{
> +	return (hw->aq.api_maj_ver > maj ||
> +		(hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min));
> +}
> +
> +/**
> + * i40e_is_aq_api_ver_lt
> + * @hw: pointer to i40e_hw structure
> + * @maj: API major value to compare
> + * @min: API minor value to compare
> + *
> + * Assert whether current HW API version is less than provided.
> + **/
> +static inline bool i40e_is_aq_api_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
> +{
> +	return !i40e_is_aq_api_ver_ge(hw, maj, min);
> +}
> +
> +/**
> + * i40e_is_fw_ver_ge
> + * @hw: pointer to i40e_hw structure
> + * @maj: API major value to compare
> + * @min: API minor value to compare
> + *
> + * Assert whether current firmware version is greater/equal than provided.
> + **/
> +static inline bool i40e_is_fw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
> +{
> +	return (hw->aq.fw_maj_ver > maj ||
> +		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver >= min));
> +}
> +
> +/**
> + * i40e_is_fw_ver_lt
> + * @hw: pointer to i40e_hw structure
> + * @maj: API major value to compare
> + * @min: API minor value to compare
> + *
> + * Assert whether current firmware version is less than provided.
> + **/
> +static inline bool i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
> +{
> +	return !i40e_is_fw_ver_ge(hw, maj, min);
> +}
> +
> +/**
> + * i40e_is_fw_ver_eq
> + * @hw: pointer to i40e_hw structure
> + * @maj: API major value to compare
> + * @min: API minor value to compare
> + *
> + * Assert whether current firmware version is equal to provided.
> + **/
> +static inline bool i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min)
> +{
> +	return (hw->aq.fw_maj_ver > maj ||
> +		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min));
> +}
> +
>  #endif /* _I40E_PROTOTYPE_H_ */
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
> index 7eaf8b013125..e3d40630f689 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
> +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
> @@ -586,74 +586,6 @@ struct i40e_hw {
>  	char err_str[16];
>  };
>  
> -/**
> - * i40e_is_aq_api_ver_ge
> - * @hw: pointer to i40e_hw structure
> - * @maj: API major value to compare
> - * @min: API minor value to compare
> - *
> - * Assert whether current HW API version is greater/equal than provided.
> - **/
> -static inline bool i40e_is_aq_api_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
> -{
> -	return (hw->aq.api_maj_ver > maj ||
> -		(hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min));
> -}
> -
> -/**
> - * i40e_is_aq_api_ver_lt
> - * @hw: pointer to i40e_hw structure
> - * @maj: API major value to compare
> - * @min: API minor value to compare
> - *
> - * Assert whether current HW API version is less than provided.
> - **/
> -static inline bool i40e_is_aq_api_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
> -{
> -	return !i40e_is_aq_api_ver_ge(hw, maj, min);
> -}
> -
> -/**
> - * i40e_is_fw_ver_ge
> - * @hw: pointer to i40e_hw structure
> - * @maj: API major value to compare
> - * @min: API minor value to compare
> - *
> - * Assert whether current firmware version is greater/equal than provided.
> - **/
> -static inline bool i40e_is_fw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min)
> -{
> -	return (hw->aq.fw_maj_ver > maj ||
> -		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver >= min));
> -}
> -
> -/**
> - * i40e_is_fw_ver_lt
> - * @hw: pointer to i40e_hw structure
> - * @maj: API major value to compare
> - * @min: API minor value to compare
> - *
> - * Assert whether current firmware version is less than provided.
> - **/
> -static inline bool i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
> -{
> -	return !i40e_is_fw_ver_ge(hw, maj, min);
> -}
> -
> -/**
> - * i40e_is_fw_ver_eq
> - * @hw: pointer to i40e_hw structure
> - * @maj: API major value to compare
> - * @min: API minor value to compare
> - *
> - * Assert whether current firmware version is equal to provided.
> - **/
> -static inline bool i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min)
> -{
> -	return (hw->aq.fw_maj_ver > maj ||
> -		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min));
> -}
> -
>  struct i40e_driver_version {
>  	u8 major_version;
>  	u8 minor_version;

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 10:33 ` [PATCH iwl-next 1/2] i40e: Remove VF MAC types Ivan Vecera
@ 2023-10-25 10:48   ` Wojciech Drewek
  2023-10-25 12:16     ` Jiri Pirko
  2023-10-25 14:39     ` Ivan Vecera
  2023-10-30  9:09   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
  1 sibling, 2 replies; 15+ messages in thread
From: Wojciech Drewek @ 2023-10-25 10:48 UTC (permalink / raw)
  To: Ivan Vecera, netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller



On 25.10.2023 12:33, Ivan Vecera wrote:
> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
> i40e_adminq_init_regs() and remove enums for these VF MAC types.
> 
> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>  2 files changed, 10 insertions(+), 31 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
> index 29fc46abf690..896c43905309 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>  {
>  	/* set head and tail registers in our local struct */
> -	if (i40e_is_vf(hw)) {
> -		hw->aq.asq.tail = I40E_VF_ATQT1;
> -		hw->aq.asq.head = I40E_VF_ATQH1;
> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
> -		hw->aq.arq.tail = I40E_VF_ARQT1;
> -		hw->aq.arq.head = I40E_VF_ARQH1;
> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;

What about removing those I40E_VF_* defines?
This is their only usage here, right?

> -	} else {
> -		hw->aq.asq.tail = I40E_PF_ATQT;
> -		hw->aq.asq.head = I40E_PF_ATQH;
> -		hw->aq.asq.len  = I40E_PF_ATQLEN;
> -		hw->aq.asq.bal  = I40E_PF_ATQBAL;
> -		hw->aq.asq.bah  = I40E_PF_ATQBAH;
> -		hw->aq.arq.tail = I40E_PF_ARQT;
> -		hw->aq.arq.head = I40E_PF_ARQH;
> -		hw->aq.arq.len  = I40E_PF_ARQLEN;
> -		hw->aq.arq.bal  = I40E_PF_ARQBAL;
> -		hw->aq.arq.bah  = I40E_PF_ARQBAH;
> -	}
> +	hw->aq.asq.tail = I40E_PF_ATQT;
> +	hw->aq.asq.head = I40E_PF_ATQH;
> +	hw->aq.asq.len  = I40E_PF_ATQLEN;
> +	hw->aq.asq.bal  = I40E_PF_ATQBAL;
> +	hw->aq.asq.bah  = I40E_PF_ATQBAH;
> +	hw->aq.arq.tail = I40E_PF_ARQT;
> +	hw->aq.arq.head = I40E_PF_ARQH;
> +	hw->aq.arq.len  = I40E_PF_ARQLEN;
> +	hw->aq.arq.bal  = I40E_PF_ARQBAL;
> +	hw->aq.arq.bah  = I40E_PF_ARQBAH;
>  }
>  
>  /**
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
> index 9fda0cb6bdbe..7eaf8b013125 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
> +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
> @@ -64,9 +64,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
>  enum i40e_mac_type {
>  	I40E_MAC_UNKNOWN = 0,
>  	I40E_MAC_XL710,
> -	I40E_MAC_VF,
>  	I40E_MAC_X722,
> -	I40E_MAC_X722_VF,
>  	I40E_MAC_GENERIC,
>  };
>  
> @@ -588,12 +586,6 @@ struct i40e_hw {
>  	char err_str[16];
>  };
>  
> -static inline bool i40e_is_vf(struct i40e_hw *hw)
> -{
> -	return (hw->mac.type == I40E_MAC_VF ||
> -		hw->mac.type == I40E_MAC_X722_VF);
> -}
> -
>  /**
>   * i40e_is_aq_api_ver_ge
>   * @hw: pointer to i40e_hw structure

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 10:48   ` Wojciech Drewek
@ 2023-10-25 12:16     ` Jiri Pirko
  2023-10-25 12:20       ` Jiri Pirko
  2023-10-25 14:39     ` Ivan Vecera
  1 sibling, 1 reply; 15+ messages in thread
From: Jiri Pirko @ 2023-10-25 12:16 UTC (permalink / raw)
  To: Wojciech Drewek
  Cc: Ivan Vecera, netdev, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	intel-wired-lan, linux-kernel, Jacob Keller

Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@intel.com wrote:
>
>
>On 25.10.2023 12:33, Ivan Vecera wrote:
>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>> 
>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>> ---
>>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>  2 files changed, 10 insertions(+), 31 deletions(-)
>> 
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> index 29fc46abf690..896c43905309 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>  {
>>  	/* set head and tail registers in our local struct */
>> -	if (i40e_is_vf(hw)) {
>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>
>What about removing those I40E_VF_* defines?
>This is their only usage here, right?

Wait, do you suggest to use the values directly? That would be
wild even for i40e :)


>
>> -	} else {
>> -		hw->aq.asq.tail = I40E_PF_ATQT;
>> -		hw->aq.asq.head = I40E_PF_ATQH;
>> -		hw->aq.asq.len  = I40E_PF_ATQLEN;
>> -		hw->aq.asq.bal  = I40E_PF_ATQBAL;
>> -		hw->aq.asq.bah  = I40E_PF_ATQBAH;
>> -		hw->aq.arq.tail = I40E_PF_ARQT;
>> -		hw->aq.arq.head = I40E_PF_ARQH;
>> -		hw->aq.arq.len  = I40E_PF_ARQLEN;
>> -		hw->aq.arq.bal  = I40E_PF_ARQBAL;
>> -		hw->aq.arq.bah  = I40E_PF_ARQBAH;
>> -	}
>> +	hw->aq.asq.tail = I40E_PF_ATQT;
>> +	hw->aq.asq.head = I40E_PF_ATQH;
>> +	hw->aq.asq.len  = I40E_PF_ATQLEN;
>> +	hw->aq.asq.bal  = I40E_PF_ATQBAL;
>> +	hw->aq.asq.bah  = I40E_PF_ATQBAH;
>> +	hw->aq.arq.tail = I40E_PF_ARQT;
>> +	hw->aq.arq.head = I40E_PF_ARQH;
>> +	hw->aq.arq.len  = I40E_PF_ARQLEN;
>> +	hw->aq.arq.bal  = I40E_PF_ARQBAL;
>> +	hw->aq.arq.bah  = I40E_PF_ARQBAH;
>>  }
>>  
>>  /**
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
>> index 9fda0cb6bdbe..7eaf8b013125 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
>> @@ -64,9 +64,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
>>  enum i40e_mac_type {
>>  	I40E_MAC_UNKNOWN = 0,
>>  	I40E_MAC_XL710,
>> -	I40E_MAC_VF,
>>  	I40E_MAC_X722,
>> -	I40E_MAC_X722_VF,
>>  	I40E_MAC_GENERIC,
>>  };
>>  
>> @@ -588,12 +586,6 @@ struct i40e_hw {
>>  	char err_str[16];
>>  };
>>  
>> -static inline bool i40e_is_vf(struct i40e_hw *hw)
>> -{
>> -	return (hw->mac.type == I40E_MAC_VF ||
>> -		hw->mac.type == I40E_MAC_X722_VF);
>> -}
>> -
>>  /**
>>   * i40e_is_aq_api_ver_ge
>>   * @hw: pointer to i40e_hw structure
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 12:16     ` Jiri Pirko
@ 2023-10-25 12:20       ` Jiri Pirko
  2023-10-25 12:27         ` Wojciech Drewek
  2023-10-26  0:20         ` Jacob Keller
  0 siblings, 2 replies; 15+ messages in thread
From: Jiri Pirko @ 2023-10-25 12:20 UTC (permalink / raw)
  To: Wojciech Drewek
  Cc: Ivan Vecera, netdev, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	intel-wired-lan, linux-kernel, Jacob Keller

Wed, Oct 25, 2023 at 02:16:39PM CEST, jiri@resnulli.us wrote:
>Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@intel.com wrote:
>>
>>
>>On 25.10.2023 12:33, Ivan Vecera wrote:
>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>> 
>>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>>> ---
>>>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>  2 files changed, 10 insertions(+), 31 deletions(-)
>>> 
>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> index 29fc46abf690..896c43905309 100644
>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>  {
>>>  	/* set head and tail registers in our local struct */
>>> -	if (i40e_is_vf(hw)) {
>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>>
>>What about removing those I40E_VF_* defines?
>>This is their only usage here, right?
>
>Wait, do you suggest to use the values directly? That would be
>wild even for i40e :)

Ah, sec. This is duplicated in
drivers/net/ethernet/intel/iavf/iavf_register.h. That confused me.



>
>
>>
>>> -	} else {
>>> -		hw->aq.asq.tail = I40E_PF_ATQT;
>>> -		hw->aq.asq.head = I40E_PF_ATQH;
>>> -		hw->aq.asq.len  = I40E_PF_ATQLEN;
>>> -		hw->aq.asq.bal  = I40E_PF_ATQBAL;
>>> -		hw->aq.asq.bah  = I40E_PF_ATQBAH;
>>> -		hw->aq.arq.tail = I40E_PF_ARQT;
>>> -		hw->aq.arq.head = I40E_PF_ARQH;
>>> -		hw->aq.arq.len  = I40E_PF_ARQLEN;
>>> -		hw->aq.arq.bal  = I40E_PF_ARQBAL;
>>> -		hw->aq.arq.bah  = I40E_PF_ARQBAH;
>>> -	}
>>> +	hw->aq.asq.tail = I40E_PF_ATQT;
>>> +	hw->aq.asq.head = I40E_PF_ATQH;
>>> +	hw->aq.asq.len  = I40E_PF_ATQLEN;
>>> +	hw->aq.asq.bal  = I40E_PF_ATQBAL;
>>> +	hw->aq.asq.bah  = I40E_PF_ATQBAH;
>>> +	hw->aq.arq.tail = I40E_PF_ARQT;
>>> +	hw->aq.arq.head = I40E_PF_ARQH;
>>> +	hw->aq.arq.len  = I40E_PF_ARQLEN;
>>> +	hw->aq.arq.bal  = I40E_PF_ARQBAL;
>>> +	hw->aq.arq.bah  = I40E_PF_ARQBAH;
>>>  }
>>>  
>>>  /**
>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
>>> index 9fda0cb6bdbe..7eaf8b013125 100644
>>> --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
>>> @@ -64,9 +64,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
>>>  enum i40e_mac_type {
>>>  	I40E_MAC_UNKNOWN = 0,
>>>  	I40E_MAC_XL710,
>>> -	I40E_MAC_VF,
>>>  	I40E_MAC_X722,
>>> -	I40E_MAC_X722_VF,
>>>  	I40E_MAC_GENERIC,
>>>  };
>>>  
>>> @@ -588,12 +586,6 @@ struct i40e_hw {
>>>  	char err_str[16];
>>>  };
>>>  
>>> -static inline bool i40e_is_vf(struct i40e_hw *hw)
>>> -{
>>> -	return (hw->mac.type == I40E_MAC_VF ||
>>> -		hw->mac.type == I40E_MAC_X722_VF);
>>> -}
>>> -
>>>  /**
>>>   * i40e_is_aq_api_ver_ge
>>>   * @hw: pointer to i40e_hw structure
>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 12:20       ` Jiri Pirko
@ 2023-10-25 12:27         ` Wojciech Drewek
  2023-10-25 17:43           ` Jacob Keller
  2023-10-26  0:20         ` Jacob Keller
  1 sibling, 1 reply; 15+ messages in thread
From: Wojciech Drewek @ 2023-10-25 12:27 UTC (permalink / raw)
  To: Jiri Pirko
  Cc: Ivan Vecera, netdev, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	intel-wired-lan, linux-kernel, Jacob Keller



On 25.10.2023 14:20, Jiri Pirko wrote:
> Wed, Oct 25, 2023 at 02:16:39PM CEST, jiri@resnulli.us wrote:
>> Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@intel.com wrote:
>>>
>>>
>>> On 25.10.2023 12:33, Ivan Vecera wrote:
>>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>>>
>>>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>>>> ---
>>>>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>>  2 files changed, 10 insertions(+), 31 deletions(-)
>>>>
>>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> index 29fc46abf690..896c43905309 100644
>>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>>  {
>>>>  	/* set head and tail registers in our local struct */
>>>> -	if (i40e_is_vf(hw)) {
>>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>>>
>>> What about removing those I40E_VF_* defines?
>>> This is their only usage here, right?
>>
>> Wait, do you suggest to use the values directly? That would be
>> wild even for i40e :)
> 
> Ah, sec. This is duplicated in
> drivers/net/ethernet/intel/iavf/iavf_register.h. That confused me.

Indeed, in case of i40e they're going be unused after this patch so
there is no point in keeping them, I think.

> 
> 
> 
>>
>>
>>>
>>>> -	} else {
>>>> -		hw->aq.asq.tail = I40E_PF_ATQT;
>>>> -		hw->aq.asq.head = I40E_PF_ATQH;
>>>> -		hw->aq.asq.len  = I40E_PF_ATQLEN;
>>>> -		hw->aq.asq.bal  = I40E_PF_ATQBAL;
>>>> -		hw->aq.asq.bah  = I40E_PF_ATQBAH;
>>>> -		hw->aq.arq.tail = I40E_PF_ARQT;
>>>> -		hw->aq.arq.head = I40E_PF_ARQH;
>>>> -		hw->aq.arq.len  = I40E_PF_ARQLEN;
>>>> -		hw->aq.arq.bal  = I40E_PF_ARQBAL;
>>>> -		hw->aq.arq.bah  = I40E_PF_ARQBAH;
>>>> -	}
>>>> +	hw->aq.asq.tail = I40E_PF_ATQT;
>>>> +	hw->aq.asq.head = I40E_PF_ATQH;
>>>> +	hw->aq.asq.len  = I40E_PF_ATQLEN;
>>>> +	hw->aq.asq.bal  = I40E_PF_ATQBAL;
>>>> +	hw->aq.asq.bah  = I40E_PF_ATQBAH;
>>>> +	hw->aq.arq.tail = I40E_PF_ARQT;
>>>> +	hw->aq.arq.head = I40E_PF_ARQH;
>>>> +	hw->aq.arq.len  = I40E_PF_ARQLEN;
>>>> +	hw->aq.arq.bal  = I40E_PF_ARQBAL;
>>>> +	hw->aq.arq.bah  = I40E_PF_ARQBAH;
>>>>  }
>>>>  
>>>>  /**
>>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
>>>> index 9fda0cb6bdbe..7eaf8b013125 100644
>>>> --- a/drivers/net/ethernet/intel/i40e/i40e_type.h
>>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
>>>> @@ -64,9 +64,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
>>>>  enum i40e_mac_type {
>>>>  	I40E_MAC_UNKNOWN = 0,
>>>>  	I40E_MAC_XL710,
>>>> -	I40E_MAC_VF,
>>>>  	I40E_MAC_X722,
>>>> -	I40E_MAC_X722_VF,
>>>>  	I40E_MAC_GENERIC,
>>>>  };
>>>>  
>>>> @@ -588,12 +586,6 @@ struct i40e_hw {
>>>>  	char err_str[16];
>>>>  };
>>>>  
>>>> -static inline bool i40e_is_vf(struct i40e_hw *hw)
>>>> -{
>>>> -	return (hw->mac.type == I40E_MAC_VF ||
>>>> -		hw->mac.type == I40E_MAC_X722_VF);
>>>> -}
>>>> -
>>>>  /**
>>>>   * i40e_is_aq_api_ver_ge
>>>>   * @hw: pointer to i40e_hw structure
>>>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 10:48   ` Wojciech Drewek
  2023-10-25 12:16     ` Jiri Pirko
@ 2023-10-25 14:39     ` Ivan Vecera
  2023-10-25 17:44       ` Jacob Keller
  1 sibling, 1 reply; 15+ messages in thread
From: Ivan Vecera @ 2023-10-25 14:39 UTC (permalink / raw)
  To: Wojciech Drewek, netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel,
	Jacob Keller



On 25. 10. 23 12:48, Wojciech Drewek wrote:
> 
> On 25.10.2023 12:33, Ivan Vecera wrote:
>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>
>> Signed-off-by: Ivan Vecera<ivecera@redhat.com>
>> ---
>>   drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>   drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>   2 files changed, 10 insertions(+), 31 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> index 29fc46abf690..896c43905309 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>   static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>   {
>>   	/* set head and tail registers in our local struct */
>> -	if (i40e_is_vf(hw)) {
>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
> What about removing those I40E_VF_* defines?
> This is their only usage here, right?

Yes, do you want to remove them in this patch? Or follow-up is sufficient?

Ivan


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 12:27         ` Wojciech Drewek
@ 2023-10-25 17:43           ` Jacob Keller
  0 siblings, 0 replies; 15+ messages in thread
From: Jacob Keller @ 2023-10-25 17:43 UTC (permalink / raw)
  To: Wojciech Drewek, Jiri Pirko
  Cc: Ivan Vecera, netdev, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	intel-wired-lan, linux-kernel



On 10/25/2023 5:27 AM, Wojciech Drewek wrote:
> 
> 
> On 25.10.2023 14:20, Jiri Pirko wrote:
>> Wed, Oct 25, 2023 at 02:16:39PM CEST, jiri@resnulli.us wrote:
>>> Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@intel.com wrote:
>>>>
>>>>
>>>> On 25.10.2023 12:33, Ivan Vecera wrote:
>>>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>>>>
>>>>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>>>>> ---
>>>>>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>>>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>>>  2 files changed, 10 insertions(+), 31 deletions(-)
>>>>>
>>>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>>> index 29fc46abf690..896c43905309 100644
>>>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>>>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>>>  {
>>>>>  	/* set head and tail registers in our local struct */
>>>>> -	if (i40e_is_vf(hw)) {
>>>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>>>>
>>>> What about removing those I40E_VF_* defines?
>>>> This is their only usage here, right?
>>>
>>> Wait, do you suggest to use the values directly? That would be
>>> wild even for i40e :)
>>
>> Ah, sec. This is duplicated in
>> drivers/net/ethernet/intel/iavf/iavf_register.h. That confused me.
> 
> Indeed, in case of i40e they're going be unused after this patch so
> there is no point in keeping them, I think.
> 

Ya, this is all a relic from early days when i40e planned to share code
with i40evf.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 14:39     ` Ivan Vecera
@ 2023-10-25 17:44       ` Jacob Keller
  2023-10-26  9:42         ` Wojciech Drewek
  0 siblings, 1 reply; 15+ messages in thread
From: Jacob Keller @ 2023-10-25 17:44 UTC (permalink / raw)
  To: Ivan Vecera, Wojciech Drewek, netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel



On 10/25/2023 7:39 AM, Ivan Vecera wrote:
> 
> 
> On 25. 10. 23 12:48, Wojciech Drewek wrote:
>>
>> On 25.10.2023 12:33, Ivan Vecera wrote:
>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>>
>>> Signed-off-by: Ivan Vecera<ivecera@redhat.com>
>>> ---
>>>   drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>   drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>   2 files changed, 10 insertions(+), 31 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> index 29fc46abf690..896c43905309 100644
>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>   static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>   {
>>>   	/* set head and tail registers in our local struct */
>>> -	if (i40e_is_vf(hw)) {
>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>> What about removing those I40E_VF_* defines?
>> This is their only usage here, right?
> 
> Yes, do you want to remove them in this patch? Or follow-up is sufficient?
> 
> Ivan
> 
> 

I'm fine with a follow up.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 12:20       ` Jiri Pirko
  2023-10-25 12:27         ` Wojciech Drewek
@ 2023-10-26  0:20         ` Jacob Keller
  1 sibling, 0 replies; 15+ messages in thread
From: Jacob Keller @ 2023-10-26  0:20 UTC (permalink / raw)
  To: Jiri Pirko, Wojciech Drewek
  Cc: Ivan Vecera, netdev, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	intel-wired-lan, linux-kernel



On 10/25/2023 5:20 AM, Jiri Pirko wrote:
> Wed, Oct 25, 2023 at 02:16:39PM CEST, jiri@resnulli.us wrote:
>> Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@intel.com wrote:
>>>
>>>
>>> On 25.10.2023 12:33, Ivan Vecera wrote:
>>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>>>
>>>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>>>> ---
>>>>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>>  2 files changed, 10 insertions(+), 31 deletions(-)
>>>>
>>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> index 29fc46abf690..896c43905309 100644
>>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>>  static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>>  {
>>>>  	/* set head and tail registers in our local struct */
>>>> -	if (i40e_is_vf(hw)) {
>>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>>>
>>> What about removing those I40E_VF_* defines?
>>> This is their only usage here, right?
>>
>> Wait, do you suggest to use the values directly? That would be
>> wild even for i40e :)
> 
> Ah, sec. This is duplicated in
> drivers/net/ethernet/intel/iavf/iavf_register.h. That confused me.
> 

Its possible the iAVF code could be cleaned up too... Historically the
i40e and i40evf duplicated quite some code.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 17:44       ` Jacob Keller
@ 2023-10-26  9:42         ` Wojciech Drewek
  0 siblings, 0 replies; 15+ messages in thread
From: Wojciech Drewek @ 2023-10-26  9:42 UTC (permalink / raw)
  To: Jacob Keller, Ivan Vecera, netdev
  Cc: Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, intel-wired-lan, linux-kernel



On 25.10.2023 19:44, Jacob Keller wrote:
> 
> 
> On 10/25/2023 7:39 AM, Ivan Vecera wrote:
>>
>>
>> On 25. 10. 23 12:48, Wojciech Drewek wrote:
>>>
>>> On 25.10.2023 12:33, Ivan Vecera wrote:
>>>> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
>>>> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
>>>> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>>>>
>>>> Signed-off-by: Ivan Vecera<ivecera@redhat.com>
>>>> ---
>>>>   drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>>>>   drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>>>>   2 files changed, 10 insertions(+), 31 deletions(-)
>>>>
>>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> index 29fc46abf690..896c43905309 100644
>>>> --- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
>>>> @@ -17,29 +17,16 @@ static void i40e_resume_aq(struct i40e_hw *hw);
>>>>   static void i40e_adminq_init_regs(struct i40e_hw *hw)
>>>>   {
>>>>   	/* set head and tail registers in our local struct */
>>>> -	if (i40e_is_vf(hw)) {
>>>> -		hw->aq.asq.tail = I40E_VF_ATQT1;
>>>> -		hw->aq.asq.head = I40E_VF_ATQH1;
>>>> -		hw->aq.asq.len  = I40E_VF_ATQLEN1;
>>>> -		hw->aq.asq.bal  = I40E_VF_ATQBAL1;
>>>> -		hw->aq.asq.bah  = I40E_VF_ATQBAH1;
>>>> -		hw->aq.arq.tail = I40E_VF_ARQT1;
>>>> -		hw->aq.arq.head = I40E_VF_ARQH1;
>>>> -		hw->aq.arq.len  = I40E_VF_ARQLEN1;
>>>> -		hw->aq.arq.bal  = I40E_VF_ARQBAL1;
>>>> -		hw->aq.arq.bah  = I40E_VF_ARQBAH1;
>>> What about removing those I40E_VF_* defines?
>>> This is their only usage here, right?
>>
>> Yes, do you want to remove them in this patch? Or follow-up is sufficient?
>>
>> Ivan
>>
>>
> 
> I'm fine with a follow up.

Me too

> 
> Thanks,
> Jake

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [Intel-wired-lan] [PATCH iwl-next 1/2] i40e: Remove VF MAC types
  2023-10-25 10:33 ` [PATCH iwl-next 1/2] i40e: Remove VF MAC types Ivan Vecera
  2023-10-25 10:48   ` Wojciech Drewek
@ 2023-10-30  9:09   ` Pucha, HimasekharX Reddy
  1 sibling, 0 replies; 15+ messages in thread
From: Pucha, HimasekharX Reddy @ 2023-10-30  9:09 UTC (permalink / raw)
  To: ivecera, netdev@vger.kernel.org
  Cc: intel-wired-lan@lists.osuosl.org, Brandeburg, Jesse,
	linux-kernel@vger.kernel.org, Eric Dumazet, Nguyen, Anthony L,
	Keller, Jacob E, Jakub Kicinski, Paolo Abeni, David S. Miller

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Ivan Vecera
> Sent: Wednesday, October 25, 2023 4:03 PM
> To: netdev@vger.kernel.org
> Cc: intel-wired-lan@lists.osuosl.org; Brandeburg, Jesse <jesse.brandeburg@intel.com>; linux-kernel@vger.kernel.org; Eric Dumazet <edumazet@google.com>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Keller, Jacob E <jacob.e.keller@intel.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; David S. Miller <davem@davemloft.net>
> Subject: [Intel-wired-lan] [PATCH iwl-next 1/2] i40e: Remove VF MAC types
>
> The i40e_hw.mac.type cannot to be equal to I40E_MAC_VF or
> I40E_MAC_X722_VF so remove helper i40e_is_vf(), simplify
> i40e_adminq_init_regs() and remove enums for these VF MAC types.
>
> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_adminq.c | 33 ++++++-------------
>  drivers/net/ethernet/intel/i40e/i40e_type.h   |  8 -----
>  2 files changed, 10 insertions(+), 31 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [Intel-wired-lan] [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h
  2023-10-25 10:33 ` [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h Ivan Vecera
  2023-10-25 10:44   ` Wojciech Drewek
@ 2023-10-30  9:10   ` Pucha, HimasekharX Reddy
  1 sibling, 0 replies; 15+ messages in thread
From: Pucha, HimasekharX Reddy @ 2023-10-30  9:10 UTC (permalink / raw)
  To: ivecera, netdev@vger.kernel.org
  Cc: Drewek, Wojciech, intel-wired-lan@lists.osuosl.org,
	Brandeburg, Jesse, linux-kernel@vger.kernel.org, Eric Dumazet,
	Nguyen, Anthony L, Keller, Jacob E, Jakub Kicinski, Paolo Abeni,
	David S. Miller

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Ivan Vecera
> Sent: Wednesday, October 25, 2023 4:03 PM
> To: netdev@vger.kernel.org
> Cc: Drewek, Wojciech <wojciech.drewek@intel.com>; intel-wired-lan@lists.osuosl.org; Brandeburg, Jesse <jesse.brandeburg@intel.com>; linux-kernel@vger.kernel.org; Eric Dumazet <edumazet@google.com>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Keller, Jacob E <jacob.e.keller@intel.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; David S. Miller <davem@davemloft.net>
> Subject: [Intel-wired-lan] [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h
>
> Move version check helper functions from i40e_type.h to
> i40e_prototype.h as per discussion [1].
>
> [1] https://lore.kernel.org/all/cdcd6b97-1138-4cd7-854f-b3faa1f475f8@intel.com/#t
>
> Cc: Wojciech Drewek <wojciech.drewek@intel.com>
> Cc: Jacob Keller <jacob.e.keller@intel.com>
> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
> ---
>  .../net/ethernet/intel/i40e/i40e_prototype.h  | 70 +++++++++++++++++++
>  drivers/net/ethernet/intel/i40e/i40e_type.h   | 68 ------------------
>  2 files changed, 70 insertions(+), 68 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-10-30  9:11 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-25 10:33 [PATCH iwl-next 0/2] Remove VF MAC types and move helpers from i40e_type.h Ivan Vecera
2023-10-25 10:33 ` [PATCH iwl-next 1/2] i40e: Remove VF MAC types Ivan Vecera
2023-10-25 10:48   ` Wojciech Drewek
2023-10-25 12:16     ` Jiri Pirko
2023-10-25 12:20       ` Jiri Pirko
2023-10-25 12:27         ` Wojciech Drewek
2023-10-25 17:43           ` Jacob Keller
2023-10-26  0:20         ` Jacob Keller
2023-10-25 14:39     ` Ivan Vecera
2023-10-25 17:44       ` Jacob Keller
2023-10-26  9:42         ` Wojciech Drewek
2023-10-30  9:09   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-10-25 10:33 ` [PATCH iwl-next 2/2] i40e: Move inline helpers to i40e_prototype.h Ivan Vecera
2023-10-25 10:44   ` Wojciech Drewek
2023-10-30  9:10   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox