Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/net/ethernet/broadcom/bnge/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  bnge_resc.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2025 Broadcom */

#ifndef _BNGE_RESC_H_
#define _BNGE_RESC_H_

#include "bnge_netdev.h"
#include "bnge_rmem.h"

struct bnge_hw_resc {
 u16 min_rsscos_ctxs;
 u16 max_rsscos_ctxs;
 u16 resv_rsscos_ctxs;
 u16 min_cp_rings;
 u16 max_cp_rings;
 u16 resv_cp_rings;
 u16 min_tx_rings;
 u16 max_tx_rings;
 u16 resv_tx_rings;
 u16 max_tx_sch_inputs;
 u16 min_rx_rings;
 u16 max_rx_rings;
 u16 resv_rx_rings;
 u16 min_hw_ring_grps;
 u16 max_hw_ring_grps;
 u16 resv_hw_ring_grps;
 u16 min_l2_ctxs;
 u16 max_l2_ctxs;
 u16 min_vnics;
 u16 max_vnics;
 u16 resv_vnics;
 u16 min_stat_ctxs;
 u16 max_stat_ctxs;
 u16 resv_stat_ctxs;
 u16 max_nqs;
 u16 max_irqs;
 u16 resv_irqs;
 u32 max_encap_records;
 u32 max_decap_records;
 u32 max_tx_em_flows;
 u32 max_tx_wm_flows;
 u32 max_rx_em_flows;
 u32 max_rx_wm_flows;
};

struct bnge_hw_rings {
 u16 tx;
 u16 rx;
 u16 grp;
 u16 nq;
 u16 cmpl;
 u16 stat;
 u16 vnic;
 u16 rss_ctx;
};

/* "TXRX", 2 hypens, plus maximum integer */
#define BNGE_IRQ_NAME_EXTRA 17
struct bnge_irq {
 irq_handler_t handler;
 unsigned int vector;
 u8  requested:1;
 u8  have_cpumask:1;
 char  name[IFNAMSIZ + BNGE_IRQ_NAME_EXTRA];
 cpumask_var_t cpu_mask;
};

int bnge_reserve_rings(struct bnge_dev *bd);
int bnge_fix_rings_count(u16 *rx, u16 *tx, u16 max, bool shared);
int bnge_alloc_irqs(struct bnge_dev *bd);
void bnge_free_irqs(struct bnge_dev *bd);
int bnge_net_init_dflt_config(struct bnge_dev *bd);
void bnge_net_uninit_dflt_config(struct bnge_dev *bd);
void bnge_aux_init_dflt_config(struct bnge_dev *bd);

static inline u32
bnge_adjust_pow_two(u32 total_ent, u16 ent_per_blk)
{
 u32 blks = total_ent / ent_per_blk;

 if (blks == 0 || blks == 1)
  return ++blks;

 if (!is_power_of_2(blks))
  blks = roundup_pow_of_two(blks);

 return blks;
}

#define BNGE_MAX_ROCE_MSIX  64
#define BNGE_MIN_ROCE_CP_RINGS  2
#define BNGE_MIN_ROCE_STAT_CTXS  1

#endif /* _BNGE_RESC_H_ */

Messung V0.5
C=87 H=93 G=89

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.