/* Broadcom NetXtreme-C/E network driver. * * Copyright (c) 2020 Broadcom Limited * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation.
*/
#ifndef BNXT_HWRM_H #define BNXT_HWRM_H
#include <linux/bnxt/hsi.h>
enum bnxt_hwrm_ctx_flags { /* Update the HWRM_API_FLAGS right below for any new non-internal bit added here */
BNXT_HWRM_INTERNAL_CTX_OWNED = BIT(0), /* caller owns the context */
BNXT_HWRM_INTERNAL_RESP_DIRTY = BIT(1), /* response contains data */
BNXT_HWRM_CTX_SILENT = BIT(2), /* squelch firmware errors */
BNXT_HWRM_FULL_WAIT = BIT(3), /* wait for full timeout of HWRM command */
};
staticinlinebool bnxt_cfa_hwrm_message(u16 req_type)
{ switch (req_type) { case HWRM_CFA_ENCAP_RECORD_ALLOC: case HWRM_CFA_ENCAP_RECORD_FREE: case HWRM_CFA_DECAP_FILTER_ALLOC: case HWRM_CFA_DECAP_FILTER_FREE: case HWRM_CFA_EM_FLOW_ALLOC: case HWRM_CFA_EM_FLOW_FREE: case HWRM_CFA_EM_FLOW_CFG: case HWRM_CFA_FLOW_ALLOC: case HWRM_CFA_FLOW_FREE: case HWRM_CFA_FLOW_INFO: case HWRM_CFA_FLOW_FLUSH: case HWRM_CFA_FLOW_STATS: case HWRM_CFA_METER_PROFILE_ALLOC: case HWRM_CFA_METER_PROFILE_FREE: case HWRM_CFA_METER_PROFILE_CFG: case HWRM_CFA_METER_INSTANCE_ALLOC: case HWRM_CFA_METER_INSTANCE_FREE: returntrue; default: returnfalse;
}
}
/* Older devices can only support req length of 128. * HWRM_FUNC_CFG requests which don't need fields starting at * num_quic_tx_key_ctxs can use this helper to avoid getting -E2BIG.
*/ staticinlineint
bnxt_hwrm_func_cfg_short_req_init(struct bnxt *bp, struct hwrm_func_cfg_input **req)
{
u32 req_len;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.