lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZTkIH68kCzb+4VME@nanopsycho>
Date:   Wed, 25 Oct 2023 14:20:47 +0200
From:   Jiri Pirko <jiri@...nulli.us>
To:     Wojciech Drewek <wojciech.drewek@...el.com>
Cc:     Ivan Vecera <ivecera@...hat.com>, netdev@...r.kernel.org,
        Jesse Brandeburg <jesse.brandeburg@...el.com>,
        Tony Nguyen <anthony.l.nguyen@...el.com>,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        intel-wired-lan@...ts.osuosl.org, linux-kernel@...r.kernel.org,
        Jacob Keller <jacob.e.keller@...el.com>
Subject: Re: [PATCH iwl-next 1/2] i40e: Remove VF MAC types

Wed, Oct 25, 2023 at 02:16:39PM CEST, jiri@...nulli.us wrote:
>Wed, Oct 25, 2023 at 12:48:37PM CEST, wojciech.drewek@...el.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@...hat.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
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ