[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <IA3PR11MB898556480022FE0496393D9F8F5EA@IA3PR11MB8985.namprd11.prod.outlook.com>
Date: Thu, 24 Jul 2025 07:10:27 +0000
From: "Romanowski, Rafal" <rafal.romanowski@...el.com>
To: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>,
"intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "Lobakin, Aleksander"
<aleksander.lobakin@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, "Kwapulinski, Piotr"
<piotr.kwapulinski@...el.com>, "Loktionov, Aleksandr"
<aleksandr.loktionov@...el.com>, "Jagielski, Jedrzej"
<jedrzej.jagielski@...el.com>, "Zaremba, Larysa" <larysa.zaremba@...el.com>,
"Nguyen, Anthony L" <anthony.l.nguyen@...el.com>
Subject: RE: [Intel-wired-lan] [iwl-next v3 4/8] iavf: use libie adminq
descriptors
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf Of Michal
> Swiatkowski
> Sent: Friday, April 25, 2025 8:08 AM
> To: intel-wired-lan@...ts.osuosl.org
> Cc: netdev@...r.kernel.org; Lobakin, Aleksander
> <aleksander.lobakin@...el.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@...el.com>; Kwapulinski, Piotr
> <piotr.kwapulinski@...el.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@...el.com>; Jagielski, Jedrzej <jedrzej.jagielski@...el.com>;
> Zaremba, Larysa <larysa.zaremba@...el.com>; Nguyen, Anthony L
> <anthony.l.nguyen@...el.com>
> Subject: [Intel-wired-lan] [iwl-next v3 4/8] iavf: use libie adminq descriptors
>
> Use libie_aq_desc instead of iavf_aq_desc. Do needed changes to allow clean
> build
>
> Use libie_aq_raw() wherever it can be used.
>
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
> ---
> drivers/net/ethernet/intel/iavf/iavf_adminq.h | 12 +-
> .../net/ethernet/intel/iavf/iavf_adminq_cmd.h | 83 +----------
> .../net/ethernet/intel/iavf/iavf_prototype.h | 4 +-
> drivers/net/ethernet/intel/iavf/iavf_type.h | 2 +-
> drivers/net/ethernet/intel/iavf/iavf_adminq.c | 62 ++++----
> drivers/net/ethernet/intel/iavf/iavf_common.c | 134 +++++++++---------
> 6 files changed, 106 insertions(+), 191 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_adminq.h
> b/drivers/net/ethernet/intel/iavf/iavf_adminq.h
> index 406506f64bdd..bbf5c4b3a2ae 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_adminq.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf_adminq.h
> @@ -9,7 +9,7 @@
> #include "iavf_adminq_cmd.h"
>
> #define IAVF_ADMINQ_DESC(R, i) \
> - (&(((struct iavf_aq_desc *)((R).desc_buf.va))[i]))
> + (&(((struct libie_aq_desc *)((R).desc_buf.va))[i]))
>
> #define IAVF_ADMINQ_DESC_ALIGNMENT 4096
>
> @@ -39,7 +39,7 @@ struct iavf_asq_cmd_details {
> u16 flags_dis;
> bool async;
> bool postpone;
> - struct iavf_aq_desc *wb_desc;
> + struct libie_aq_desc *wb_desc;
> };
>
> #define IAVF_ADMINQ_DETAILS(R, i) \
> @@ -47,7 +47,7 @@ struct iavf_asq_cmd_details {
>
> /* ARQ event information */
> struct iavf_arq_event_info {
> - struct iavf_aq_desc desc;
> + struct libie_aq_desc desc;
> u16 msg_len;
> u16 buf_len;
> u8 *msg_buf;
> @@ -72,8 +72,8 @@ struct iavf_adminq_info {
> struct mutex arq_mutex; /* Receive queue lock */
>
> /* last status values on send and receive queues */
> - enum iavf_admin_queue_err asq_last_status;
> - enum iavf_admin_queue_err arq_last_status;
> + enum libie_aq_err asq_last_status;
> + enum libie_aq_err arq_last_status;
> };
>
> /**
> @@ -123,6 +123,6 @@ static inline int iavf_aq_rc_to_posix(int aq_ret, int aq_rc)
> #define IAVF_AQ_LARGE_BUF 512
> #define IAVF_ASQ_CMD_TIMEOUT 250000 /* usecs */
>
> -void iavf_fill_default_direct_cmd_desc(struct iavf_aq_desc *desc, u16 opcode);
> +void iavf_fill_default_direct_cmd_desc(struct libie_aq_desc *desc, u16
> +opcode);
>
> #endif /* _IAVF_ADMINQ_H_ */
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_adminq_cmd.h
> b/drivers/net/ethernet/intel/iavf/iavf_adminq_cmd.h
> index bc512308557b..0482c9ce9b9c 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_adminq_cmd.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf_adminq_cmd.h
> @@ -4,6 +4,8 @@
> #ifndef _IAVF_ADMINQ_CMD_H_
> #define _IAVF_ADMINQ_CMD_H_
>
> +#include <linux/net/intel/libie/adminq.h>
> +
> /* This header file defines the iavf Admin Queue commands and is shared
> between
> * iavf Firmware and Software.
> *
> @@ -21,87 +23,6 @@
> /* API version 1.7 implements additional link and PHY-specific APIs */ #define
> IAVF_MINOR_VER_GET_LINK_INFO_XL710 0x0007
>
> -struct iavf_aq_desc {
> - __le16 flags;
> - __le16 opcode;
> - __le16 datalen;
> - __le16 retval;
> - __le32 cookie_high;
> - __le32 cookie_low;
> - union {
> - struct {
> - __le32 param0;
> - __le32 param1;
> - __le32 param2;
> - __le32 param3;
> - } internal;
> - struct {
> - __le32 param0;
> - __le32 param1;
> - __le32 addr_high;
> - __le32 addr_low;
> - } external;
> - u8 raw[16];
> - } params;
> -};
> -
> -/* Flags sub-structure
> - * |0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |
> - * |DD |CMP|ERR|VFE| * * RESERVED * * |LB |RD |VFC|BUF|SI |EI |FE |
> - */
> -
> -/* command flags and offsets*/
> -#define IAVF_AQ_FLAG_DD_SHIFT 0
> -#define IAVF_AQ_FLAG_CMP_SHIFT 1
> -#define IAVF_AQ_FLAG_ERR_SHIFT 2
> -#define IAVF_AQ_FLAG_VFE_SHIFT 3
> -#define IAVF_AQ_FLAG_LB_SHIFT 9
> -#define IAVF_AQ_FLAG_RD_SHIFT 10
> -#define IAVF_AQ_FLAG_VFC_SHIFT 11
> -#define IAVF_AQ_FLAG_BUF_SHIFT 12
> -#define IAVF_AQ_FLAG_SI_SHIFT 13
> -#define IAVF_AQ_FLAG_EI_SHIFT 14
> -#define IAVF_AQ_FLAG_FE_SHIFT 15
> -
> -#define IAVF_AQ_FLAG_DD BIT(IAVF_AQ_FLAG_DD_SHIFT) /* 0x1
> */
> -#define IAVF_AQ_FLAG_CMP BIT(IAVF_AQ_FLAG_CMP_SHIFT) /* 0x2 */
> -#define IAVF_AQ_FLAG_ERR BIT(IAVF_AQ_FLAG_ERR_SHIFT) /* 0x4 */
> -#define IAVF_AQ_FLAG_VFE BIT(IAVF_AQ_FLAG_VFE_SHIFT) /* 0x8 */
> -#define IAVF_AQ_FLAG_LB BIT(IAVF_AQ_FLAG_LB_SHIFT) /*
> 0x200 */
> -#define IAVF_AQ_FLAG_RD BIT(IAVF_AQ_FLAG_RD_SHIFT) /*
> 0x400 */
> -#define IAVF_AQ_FLAG_VFC BIT(IAVF_AQ_FLAG_VFC_SHIFT) /* 0x800 */
> -#define IAVF_AQ_FLAG_BUF BIT(IAVF_AQ_FLAG_BUF_SHIFT) /* 0x1000 */
> -#define IAVF_AQ_FLAG_SI BIT(IAVF_AQ_FLAG_SI_SHIFT) /*
> 0x2000 */
> -#define IAVF_AQ_FLAG_EI BIT(IAVF_AQ_FLAG_EI_SHIFT) /*
> 0x4000 */
> -#define IAVF_AQ_FLAG_FE BIT(IAVF_AQ_FLAG_FE_SHIFT) /*
> 0x8000 */
> -
> -/* error codes */
> -enum iavf_admin_queue_err {
> - IAVF_AQ_RC_OK = 0, /* success */
> - IAVF_AQ_RC_EPERM = 1, /* Operation not permitted */
> - IAVF_AQ_RC_ENOENT = 2, /* No such element */
> - IAVF_AQ_RC_ESRCH = 3, /* Bad opcode */
> - IAVF_AQ_RC_EINTR = 4, /* operation interrupted */
> - IAVF_AQ_RC_EIO = 5, /* I/O error */
> - IAVF_AQ_RC_ENXIO = 6, /* No such resource */
> - IAVF_AQ_RC_E2BIG = 7, /* Arg too long */
> - IAVF_AQ_RC_EAGAIN = 8, /* Try again */
> - IAVF_AQ_RC_ENOMEM = 9, /* Out of memory */
> - IAVF_AQ_RC_EACCES = 10, /* Permission denied */
> - IAVF_AQ_RC_EFAULT = 11, /* Bad address */
> - IAVF_AQ_RC_EBUSY = 12, /* Device or resource busy */
> - IAVF_AQ_RC_EEXIST = 13, /* object already exists */
> - IAVF_AQ_RC_EINVAL = 14, /* Invalid argument */
> - IAVF_AQ_RC_ENOTTY = 15, /* Not a typewriter */
> - IAVF_AQ_RC_ENOSPC = 16, /* No space left or alloc failure */
> - IAVF_AQ_RC_ENOSYS = 17, /* Function not implemented */
> - IAVF_AQ_RC_ERANGE = 18, /* Parameter out of range */
> - IAVF_AQ_RC_EFLUSHED = 19, /* Cmd flushed due to prev cmd error */
> - IAVF_AQ_RC_BAD_ADDR = 20, /* Descriptor contains a bad
> pointer */
> - IAVF_AQ_RC_EMODE = 21, /* Op not allowed in current dev mode */
> - IAVF_AQ_RC_EFBIG = 22, /* File too large */
> -};
> -
> /* Admin Queue command opcodes */
> enum iavf_admin_queue_opc {
> /* aq commands */
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_prototype.h
> b/drivers/net/ethernet/intel/iavf/iavf_prototype.h
> index cac9d1a35a52..34b5ed87a9aa 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_prototype.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf_prototype.h
> @@ -22,7 +22,7 @@ enum iavf_status iavf_clean_arq_element(struct iavf_hw
> *hw,
> struct iavf_arq_event_info *e,
> u16 *events_pending);
> enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
> - struct iavf_aq_desc *desc,
> + struct libie_aq_desc *desc,
> void *buff, /* can be NULL */
> u16 buff_size,
> struct iavf_asq_cmd_details *cmd_details);
> @@ -34,7 +34,7 @@ void iavf_debug_aq(struct iavf_hw *hw, enum
> iavf_debug_mask mask,
>
> bool iavf_check_asq_alive(struct iavf_hw *hw); enum iavf_status
> iavf_aq_queue_shutdown(struct iavf_hw *hw, bool unloading); -const char
> *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err);
> +const char *iavf_aq_str(struct iavf_hw *hw, enum libie_aq_err aq_err);
> const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err);
>
> enum iavf_status iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 seid, diff --git
> a/drivers/net/ethernet/intel/iavf/iavf_type.h
> b/drivers/net/ethernet/intel/iavf/iavf_type.h
> index f9e1319620f4..c9961a2d1217 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_type.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf_type.h
> @@ -19,7 +19,7 @@
>
> /* forward declaration */
> struct iavf_hw;
> -typedef void (*IAVF_ADMINQ_CALLBACK)(struct iavf_hw *, struct iavf_aq_desc
> *);
> +typedef void (*IAVF_ADMINQ_CALLBACK)(struct iavf_hw *, struct
> +libie_aq_desc *);
>
> /* Data type manipulation macros. */
>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_adminq.c
> b/drivers/net/ethernet/intel/iavf/iavf_adminq.c
> index 82fcd18ad660..6937b7dd44cb 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_adminq.c
> +++ b/drivers/net/ethernet/intel/iavf/iavf_adminq.c
> @@ -18,7 +18,7 @@ static enum iavf_status iavf_alloc_adminq_asq_ring(struct
> iavf_hw *hw)
> ret_code = iavf_allocate_dma_mem(hw, &hw->aq.asq.desc_buf,
> iavf_mem_atq_ring,
> (hw->aq.num_asq_entries *
> - sizeof(struct iavf_aq_desc)),
> + sizeof(struct libie_aq_desc)),
> IAVF_ADMINQ_DESC_ALIGNMENT);
> if (ret_code)
> return ret_code;
> @@ -45,7 +45,7 @@ static enum iavf_status iavf_alloc_adminq_arq_ring(struct
> iavf_hw *hw)
> ret_code = iavf_allocate_dma_mem(hw, &hw->aq.arq.desc_buf,
> iavf_mem_arq_ring,
> (hw->aq.num_arq_entries *
> - sizeof(struct iavf_aq_desc)),
> + sizeof(struct libie_aq_desc)),
> IAVF_ADMINQ_DESC_ALIGNMENT);
>
> return ret_code;
> @@ -81,7 +81,7 @@ static void iavf_free_adminq_arq(struct iavf_hw *hw)
> **/
> static enum iavf_status iavf_alloc_arq_bufs(struct iavf_hw *hw) {
> - struct iavf_aq_desc *desc;
> + struct libie_aq_desc *desc;
> struct iavf_dma_mem *bi;
> enum iavf_status ret_code;
> int i;
> @@ -111,9 +111,9 @@ static enum iavf_status iavf_alloc_arq_bufs(struct
> iavf_hw *hw)
> /* now configure the descriptors for use */
> desc = IAVF_ADMINQ_DESC(hw->aq.arq, i);
>
> - desc->flags = cpu_to_le16(IAVF_AQ_FLAG_BUF);
> + desc->flags = cpu_to_le16(LIBIE_AQ_FLAG_BUF);
> if (hw->aq.arq_buf_size > IAVF_AQ_LARGE_BUF)
> - desc->flags |= cpu_to_le16(IAVF_AQ_FLAG_LB);
> + desc->flags |= cpu_to_le16(LIBIE_AQ_FLAG_LB);
> desc->opcode = 0;
> /* This is in accordance with Admin queue design, there is no
> * register for buffer size configuration @@ -122,12 +122,12 @@
> static enum iavf_status iavf_alloc_arq_bufs(struct iavf_hw *hw)
> desc->retval = 0;
> desc->cookie_high = 0;
> desc->cookie_low = 0;
> - desc->params.external.addr_high =
> + desc->params.generic.addr_high =
> cpu_to_le32(upper_32_bits(bi->pa));
> - desc->params.external.addr_low =
> + desc->params.generic.addr_low =
> cpu_to_le32(lower_32_bits(bi->pa));
> - desc->params.external.param0 = 0;
> - desc->params.external.param1 = 0;
> + desc->params.generic.param0 = 0;
> + desc->params.generic.param1 = 0;
> }
>
> alloc_arq_bufs:
> @@ -558,8 +558,8 @@ static u16 iavf_clean_asq(struct iavf_hw *hw)
> struct iavf_adminq_ring *asq = &hw->aq.asq;
> struct iavf_asq_cmd_details *details;
> u16 ntc = asq->next_to_clean;
> - struct iavf_aq_desc desc_cb;
> - struct iavf_aq_desc *desc;
> + struct libie_aq_desc desc_cb;
> + struct libie_aq_desc *desc;
>
> desc = IAVF_ADMINQ_DESC(*asq, ntc);
> details = IAVF_ADMINQ_DETAILS(*asq, ntc); @@ -573,7 +573,7 @@
> static u16 iavf_clean_asq(struct iavf_hw *hw)
> desc_cb = *desc;
> cb_func(hw, &desc_cb);
> }
> - memset((void *)desc, 0, sizeof(struct iavf_aq_desc));
> + memset((void *)desc, 0, sizeof(struct libie_aq_desc));
> memset((void *)details, 0,
> sizeof(struct iavf_asq_cmd_details));
> ntc++;
> @@ -615,14 +615,14 @@ bool iavf_asq_done(struct iavf_hw *hw)
> * queue. It runs the queue, cleans the queue, etc
> **/
> enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
> - struct iavf_aq_desc *desc,
> + struct libie_aq_desc *desc,
> void *buff, /* can be NULL */
> u16 buff_size,
> struct iavf_asq_cmd_details *cmd_details)
> {
> struct iavf_dma_mem *dma_buff = NULL;
> struct iavf_asq_cmd_details *details;
> - struct iavf_aq_desc *desc_on_ring;
> + struct libie_aq_desc *desc_on_ring;
> bool cmd_completed = false;
> enum iavf_status status = 0;
> u16 retval = 0;
> @@ -637,7 +637,7 @@ enum iavf_status iavf_asq_send_command(struct
> iavf_hw *hw,
> goto asq_send_command_error;
> }
>
> - hw->aq.asq_last_status = IAVF_AQ_RC_OK;
> + hw->aq.asq_last_status = LIBIE_AQ_RC_OK;
>
> val = rd32(hw, IAVF_VF_ATQH1);
> if (val >= hw->aq.num_asq_entries) {
> @@ -717,9 +717,9 @@ enum iavf_status iavf_asq_send_command(struct
> iavf_hw *hw,
> /* Update the address values in the desc with the pa value
> * for respective buffer
> */
> - desc_on_ring->params.external.addr_high =
> + desc_on_ring->params.generic.addr_high =
> cpu_to_le32(upper_32_bits(dma_buff->pa));
> - desc_on_ring->params.external.addr_low =
> + desc_on_ring->params.generic.addr_low =
> cpu_to_le32(lower_32_bits(dma_buff->pa));
> }
>
> @@ -766,13 +766,13 @@ enum iavf_status iavf_asq_send_command(struct
> iavf_hw *hw,
> retval &= 0xff;
> }
> cmd_completed = true;
> - if ((enum iavf_admin_queue_err)retval == IAVF_AQ_RC_OK)
> + if ((enum libie_aq_err)retval == LIBIE_AQ_RC_OK)
> status = 0;
> - else if ((enum iavf_admin_queue_err)retval ==
> IAVF_AQ_RC_EBUSY)
> + else if ((enum libie_aq_err)retval == LIBIE_AQ_RC_EBUSY)
> status = IAVF_ERR_NOT_READY;
> else
> status = IAVF_ERR_ADMIN_QUEUE_ERROR;
> - hw->aq.asq_last_status = (enum iavf_admin_queue_err)retval;
> + hw->aq.asq_last_status = (enum libie_aq_err)retval;
> }
>
> iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
> @@ -809,12 +809,12 @@ enum iavf_status iavf_asq_send_command(struct
> iavf_hw *hw,
> *
> * Fill the desc with default values
> **/
> -void iavf_fill_default_direct_cmd_desc(struct iavf_aq_desc *desc, u16 opcode)
> +void iavf_fill_default_direct_cmd_desc(struct libie_aq_desc *desc, u16
> +opcode)
> {
> /* zero out the desc */
> - memset((void *)desc, 0, sizeof(struct iavf_aq_desc));
> + memset((void *)desc, 0, sizeof(struct libie_aq_desc));
> desc->opcode = cpu_to_le16(opcode);
> - desc->flags = cpu_to_le16(IAVF_AQ_FLAG_SI);
> + desc->flags = cpu_to_le16(LIBIE_AQ_FLAG_SI);
> }
>
> /**
> @@ -832,7 +832,7 @@ enum iavf_status iavf_clean_arq_element(struct iavf_hw
> *hw,
> u16 *pending)
> {
> u16 ntc = hw->aq.arq.next_to_clean;
> - struct iavf_aq_desc *desc;
> + struct libie_aq_desc *desc;
> enum iavf_status ret_code = 0;
> struct iavf_dma_mem *bi;
> u16 desc_idx;
> @@ -866,9 +866,9 @@ enum iavf_status iavf_clean_arq_element(struct iavf_hw
> *hw,
> desc_idx = ntc;
>
> hw->aq.arq_last_status =
> - (enum iavf_admin_queue_err)le16_to_cpu(desc->retval);
> + (enum libie_aq_err)le16_to_cpu(desc->retval);
> flags = le16_to_cpu(desc->flags);
> - if (flags & IAVF_AQ_FLAG_ERR) {
> + if (flags & LIBIE_AQ_FLAG_ERR) {
> ret_code = IAVF_ERR_ADMIN_QUEUE_ERROR;
> iavf_debug(hw,
> IAVF_DEBUG_AQ_MESSAGE,
> @@ -892,14 +892,14 @@ enum iavf_status iavf_clean_arq_element(struct
> iavf_hw *hw,
> * size
> */
> bi = &hw->aq.arq.r.arq_bi[ntc];
> - memset((void *)desc, 0, sizeof(struct iavf_aq_desc));
> + memset((void *)desc, 0, sizeof(struct libie_aq_desc));
>
> - desc->flags = cpu_to_le16(IAVF_AQ_FLAG_BUF);
> + desc->flags = cpu_to_le16(LIBIE_AQ_FLAG_BUF);
> if (hw->aq.arq_buf_size > IAVF_AQ_LARGE_BUF)
> - desc->flags |= cpu_to_le16(IAVF_AQ_FLAG_LB);
> + desc->flags |= cpu_to_le16(LIBIE_AQ_FLAG_LB);
> desc->datalen = cpu_to_le16((u16)bi->size);
> - desc->params.external.addr_high = cpu_to_le32(upper_32_bits(bi->pa));
> - desc->params.external.addr_low = cpu_to_le32(lower_32_bits(bi->pa));
> + desc->params.generic.addr_high = cpu_to_le32(upper_32_bits(bi->pa));
> + desc->params.generic.addr_low = cpu_to_le32(lower_32_bits(bi->pa));
>
> /* set tail = the last cleaned desc index. */
> wr32(hw, IAVF_VF_ARQT1, ntc);
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_common.c
> b/drivers/net/ethernet/intel/iavf/iavf_common.c
> index aa751ce3425b..cc71e48b5689 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_common.c
> +++ b/drivers/net/ethernet/intel/iavf/iavf_common.c
> @@ -12,55 +12,47 @@
> * @hw: pointer to the HW structure
> * @aq_err: the AQ error code to convert
> **/
> -const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err)
> +const char *iavf_aq_str(struct iavf_hw *hw, enum libie_aq_err aq_err)
> {
> switch (aq_err) {
> - case IAVF_AQ_RC_OK:
> + case LIBIE_AQ_RC_OK:
> return "OK";
> - case IAVF_AQ_RC_EPERM:
> - return "IAVF_AQ_RC_EPERM";
> - case IAVF_AQ_RC_ENOENT:
> - return "IAVF_AQ_RC_ENOENT";
> - case IAVF_AQ_RC_ESRCH:
> - return "IAVF_AQ_RC_ESRCH";
> - case IAVF_AQ_RC_EINTR:
> - return "IAVF_AQ_RC_EINTR";
> - case IAVF_AQ_RC_EIO:
> - return "IAVF_AQ_RC_EIO";
> - case IAVF_AQ_RC_ENXIO:
> - return "IAVF_AQ_RC_ENXIO";
> - case IAVF_AQ_RC_E2BIG:
> - return "IAVF_AQ_RC_E2BIG";
> - case IAVF_AQ_RC_EAGAIN:
> - return "IAVF_AQ_RC_EAGAIN";
> - case IAVF_AQ_RC_ENOMEM:
> - return "IAVF_AQ_RC_ENOMEM";
> - case IAVF_AQ_RC_EACCES:
> - return "IAVF_AQ_RC_EACCES";
> - case IAVF_AQ_RC_EFAULT:
> - return "IAVF_AQ_RC_EFAULT";
> - case IAVF_AQ_RC_EBUSY:
> - return "IAVF_AQ_RC_EBUSY";
> - case IAVF_AQ_RC_EEXIST:
> - return "IAVF_AQ_RC_EEXIST";
> - case IAVF_AQ_RC_EINVAL:
> - return "IAVF_AQ_RC_EINVAL";
> - case IAVF_AQ_RC_ENOTTY:
> - return "IAVF_AQ_RC_ENOTTY";
> - case IAVF_AQ_RC_ENOSPC:
> - return "IAVF_AQ_RC_ENOSPC";
> - case IAVF_AQ_RC_ENOSYS:
> - return "IAVF_AQ_RC_ENOSYS";
> - case IAVF_AQ_RC_ERANGE:
> - return "IAVF_AQ_RC_ERANGE";
> - case IAVF_AQ_RC_EFLUSHED:
> - return "IAVF_AQ_RC_EFLUSHED";
> - case IAVF_AQ_RC_BAD_ADDR:
> - return "IAVF_AQ_RC_BAD_ADDR";
> - case IAVF_AQ_RC_EMODE:
> - return "IAVF_AQ_RC_EMODE";
> - case IAVF_AQ_RC_EFBIG:
> - return "IAVF_AQ_RC_EFBIG";
> + case LIBIE_AQ_RC_EPERM:
> + return "LIBIE_AQ_RC_EPERM";
> + case LIBIE_AQ_RC_ENOENT:
> + return "LIBIE_AQ_RC_ENOENT";
> + case LIBIE_AQ_RC_ESRCH:
> + return "LIBIE_AQ_RC_ESRCH";
> + case LIBIE_AQ_RC_EIO:
> + return "LIBIE_AQ_RC_EIO";
> + case LIBIE_AQ_RC_EAGAIN:
> + return "LIBIE_AQ_RC_EAGAIN";
> + case LIBIE_AQ_RC_ENOMEM:
> + return "LIBIE_AQ_RC_ENOMEM";
> + case LIBIE_AQ_RC_EACCES:
> + return "LIBIE_AQ_RC_EACCES";
> + case LIBIE_AQ_RC_EBUSY:
> + return "LIBIE_AQ_RC_EBUSY";
> + case LIBIE_AQ_RC_EEXIST:
> + return "LIBIE_AQ_RC_EEXIST";
> + case LIBIE_AQ_RC_EINVAL:
> + return "LIBIE_AQ_RC_EINVAL";
> + case LIBIE_AQ_RC_ENOSPC:
> + return "LIBIE_AQ_RC_ENOSPC";
> + case LIBIE_AQ_RC_ENOSYS:
> + return "LIBIE_AQ_RC_ENOSYS";
> + case LIBIE_AQ_RC_EMODE:
> + return "LIBIE_AQ_RC_EMODE";
> + case LIBIE_AQ_RC_ENOSEC:
> + return "LIBIE_AQ_RC_ENOSEC";
> + case LIBIE_AQ_RC_EBADSIG:
> + return "LIBIE_AQ_RC_EBADSIG";
> + case LIBIE_AQ_RC_ESVN:
> + return "LIBIE_AQ_RC_ESVN";
> + case LIBIE_AQ_RC_EBADMAN:
> + return "LIBIE_AQ_RC_EBADMAN";
> + case LIBIE_AQ_RC_EBADBUF:
> + return "LIBIE_AQ_RC_EBADBUF";
> }
>
> snprintf(hw->err_str, sizeof(hw->err_str), "%d", aq_err); @@ -228,7
> +220,7 @@ const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status
> stat_err) void iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask,
> void *desc,
> void *buffer, u16 buf_len)
> {
> - struct iavf_aq_desc *aq_desc = (struct iavf_aq_desc *)desc;
> + struct libie_aq_desc *aq_desc = (struct libie_aq_desc *)desc;
> u8 *buf = (u8 *)buffer;
>
> if ((!(mask & hw->debug_mask)) || !desc) @@ -244,11 +236,11 @@ void
> iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask, void *desc,
> le32_to_cpu(aq_desc->cookie_high),
> le32_to_cpu(aq_desc->cookie_low));
> iavf_debug(hw, mask, "\tparam (0,1) 0x%08X 0x%08X\n",
> - le32_to_cpu(aq_desc->params.internal.param0),
> - le32_to_cpu(aq_desc->params.internal.param1));
> + le32_to_cpu(aq_desc->params.generic.param0),
> + le32_to_cpu(aq_desc->params.generic.param1));
> iavf_debug(hw, mask, "\taddr (h,l) 0x%08X 0x%08X\n",
> - le32_to_cpu(aq_desc->params.external.addr_high),
> - le32_to_cpu(aq_desc->params.external.addr_low));
> + le32_to_cpu(aq_desc->params.generic.addr_high),
> + le32_to_cpu(aq_desc->params.generic.addr_low));
>
> if (buffer && aq_desc->datalen) {
> u16 len = le16_to_cpu(aq_desc->datalen); @@ -297,11 +289,11
> @@ bool iavf_check_asq_alive(struct iavf_hw *hw)
> **/
> enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw, bool unloading) {
> - struct iavf_aq_desc desc;
> - struct iavf_aqc_queue_shutdown *cmd =
> - (struct iavf_aqc_queue_shutdown *)&desc.params.raw;
> + struct iavf_aqc_queue_shutdown *cmd;
> + struct libie_aq_desc desc;
> enum iavf_status status;
>
> + cmd = libie_aq_raw(&desc);
> iavf_fill_default_direct_cmd_desc(&desc,
> iavf_aqc_opc_queue_shutdown);
>
> if (unloading)
> @@ -327,12 +319,13 @@ static enum iavf_status iavf_aq_get_set_rss_lut(struct
> iavf_hw *hw,
> u8 *lut, u16 lut_size,
> bool set)
> {
> + struct iavf_aqc_get_set_rss_lut *cmd_resp;
> + struct libie_aq_desc desc;
> enum iavf_status status;
> - struct iavf_aq_desc desc;
> - struct iavf_aqc_get_set_rss_lut *cmd_resp =
> - (struct iavf_aqc_get_set_rss_lut *)&desc.params.raw;
> u16 flags;
>
> + cmd_resp = libie_aq_raw(&desc);
> +
> if (set)
> iavf_fill_default_direct_cmd_desc(&desc,
> iavf_aqc_opc_set_rss_lut);
> @@ -341,8 +334,8 @@ static enum iavf_status iavf_aq_get_set_rss_lut(struct
> iavf_hw *hw,
> iavf_aqc_opc_get_rss_lut);
>
> /* Indirect command */
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_BUF);
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_RD);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_BUF);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_RD);
>
> vsi_id = FIELD_PREP(IAVF_AQC_SET_RSS_LUT_VSI_ID_MASK, vsi_id) |
> FIELD_PREP(IAVF_AQC_SET_RSS_LUT_VSI_VALID, 1); @@ -
> 392,11 +385,12 @@ iavf_status iavf_aq_get_set_rss_key(struct iavf_hw *hw, u16
> vsi_id,
> struct iavf_aqc_get_set_rss_key_data *key,
> bool set)
> {
> - enum iavf_status status;
> - struct iavf_aq_desc desc;
> - struct iavf_aqc_get_set_rss_key *cmd_resp =
> - (struct iavf_aqc_get_set_rss_key *)&desc.params.raw;
> u16 key_size = sizeof(struct iavf_aqc_get_set_rss_key_data);
> + struct iavf_aqc_get_set_rss_key *cmd_resp;
> + struct libie_aq_desc desc;
> + enum iavf_status status;
> +
> + cmd_resp = libie_aq_raw(&desc);
>
> if (set)
> iavf_fill_default_direct_cmd_desc(&desc,
> @@ -406,8 +400,8 @@ iavf_status iavf_aq_get_set_rss_key(struct iavf_hw *hw,
> u16 vsi_id,
> iavf_aqc_opc_get_rss_key);
>
> /* Indirect command */
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_BUF);
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_RD);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_BUF);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_RD);
>
> vsi_id = FIELD_PREP(IAVF_AQC_SET_RSS_KEY_VSI_ID_MASK, vsi_id) |
> FIELD_PREP(IAVF_AQC_SET_RSS_KEY_VSI_VALID, 1); @@ -
> 452,18 +446,18 @@ enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw
> *hw,
> struct iavf_asq_cmd_details
> *cmd_details) {
> struct iavf_asq_cmd_details details;
> - struct iavf_aq_desc desc;
> + struct libie_aq_desc desc;
> enum iavf_status status;
>
> iavf_fill_default_direct_cmd_desc(&desc,
> iavf_aqc_opc_send_msg_to_pf);
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_SI);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_SI);
> desc.cookie_high = cpu_to_le32(v_opcode);
> desc.cookie_low = cpu_to_le32(v_retval);
> if (msglen) {
> - desc.flags |= cpu_to_le16((u16)(IAVF_AQ_FLAG_BUF
> - | IAVF_AQ_FLAG_RD));
> + desc.flags |= cpu_to_le16((u16)(LIBIE_AQ_FLAG_BUF
> + | LIBIE_AQ_FLAG_RD));
> if (msglen > IAVF_AQ_LARGE_BUF)
> - desc.flags |= cpu_to_le16((u16)IAVF_AQ_FLAG_LB);
> + desc.flags |= cpu_to_le16((u16)LIBIE_AQ_FLAG_LB);
> desc.datalen = cpu_to_le16(msglen);
> }
> if (!cmd_details) {
> --
> 2.42.0
Tested-by: Rafal Romanowski <rafal.romanowski@...el.com>
Powered by blists - more mailing lists