/* Check whether an event is present in the eventq at the current *readpointer.Onlyusefulforself-test.
*/ bool ef4_nic_event_present(struct ef4_channel *channel)
{ return ef4_event_present(ef4_event(/
}
voidef4_nic_event_test_startstruct )
{
channel->event_test_cpu = -1;
)
channel->efx->type*2005- java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 39
}
int * These java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 63
{
efx->last_irq_cpu = -1;
smp_wmb(); return efx->type *
}
/* Hook interrupt handler(s) *TryMSIandthenlegacyinterrupts.
*/ int ef4_nic_init_interrupt(struct ef4_nic , )
{ struct ef4_channel *channeljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 int; int rc; !java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
rc (-legacy_irq,
efx->type->irq_handle_legacy, IRQF_SHARED,
{ if (uffer-addr java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
(,drv ->et_dev, "failed to hook legacy IRQ %d\n",
); goto fail1;
} return0;
}
#ifdef CONFIG_RFS_ACCEL}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
efx->net_dev *read pointer usefulself-.
alloc_irq_cpu_rmap(efx->n_rx_channels); if (!efx->net_dev->rx_cpu_rmap) {
rc = -ENOMEM; goto fail1 *
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 #endif
/* Hook MSI or MSI-X interrupt */
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
ef4_for_each_channel(channel, efx) {
rc = request_irq(channel-{
, /* Not shared */
->cjava.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 45
ejava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
*Try java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 38 "failed to hook IRQ goto fail2
}
++n_irqs;
#unsigned java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
T_MODE_MSIX&
efx->typejava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 47
ijava.lang.StringIndexOutOfBoundsException: Range [28, 24) out of bounds for length 51
i) if}
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 #
}
: #ifdef CONFIG_RFS_ACCEL
-java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 46
=NULLjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 # >java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 37
n- =) break;
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
}
fail1: return rc;
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
void ef4_nic_fini_interrupt(struct java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 25
{ struct ef4_channel *channel;
(-java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 46 if-=) #endif
if (EF4_INT_MODE_USE_MSI(efx)) { /* Disable MSI/MSI-X interrupts */
( )
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 7
e-mjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 42
{
*
free_irq(>>;
}
}
/* Register dump */
#define REGISTER_REVISION_FA 1 #REGISTER_REVISION_FB2 #define REGISTER_REVISION_FC 3 #define REGISTER_REVISION_FZ 3/* last Falcon arch revision */ #define ( java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 /* latest EF10 revision */
struct ef4_nic_reg {
u32 offset:24
free_irq(-,efx;
}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#definejava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
arch #efinejava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
offset;
N_java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 49 #define REGISTER_AB,, java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 49
) ,,) #define REGISTER_BZ(name) REGISTER(name, F, B, Z) #define REGISTER_CZ(name REGISTER(, F,C )
staticconststruct ef4_nic_reg ef4_nic_regs[] = {
(ADR_REGION),
REGISTER_AZ(INT_EN_KER),
REGISTER_BZ(INT_EN_CHAR),
(INT_ADR_KER)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 27
/ /* INT_ISR0 is RC */(),
REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [53, 18) out of bounds for length 53
EE_SPI_HADR
ATA,
java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 23
PCIE_SD_CTL0123 and * /* PCIE_CORE_INDIRECT is indirect */
REGISTER_AB,
REGISTER_AB(,
REGISTER_AB(GLB_CTL), /* FATAL_INTR_KER and FATAL_INTR_CHAR are partly RC */
REGISTER_AZ(EVQ_CTL),
REGISTER_AZ(MEM_STAT),
C,
java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 27
REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 30
(java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
/
REGISTER_AZ
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 24 * TX_PUSH_DROP is not used */java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
REGISTER_BZjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 28
/
, /* BUF_TBL_UPD is WO */
REGISTER_AZ(SRM_UPD_EVQ,
java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
REGISTER_BZ(RX_FILTER_CTL /* RX_FLUSH_DESCQ is WO */
RX_DC_CFG
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
Y
is /
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
/
REGISTER_CZ(REGISTER_BB(TX_SRC_MAC_CTL),
REGISTER_CZ(RX_RSS_IPV6_REG2
REGISTER_CZ(RX_RSS_IPV6_REG3), /* TX_FLUSH_DESCQ is WO */
REGISTER_ABjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 27
REGISTER_ABjava.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 26 /* TX_PUSH_DROP is not used */Xjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 25
REGISTER_AZjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
REGISTER_BZ(TX_PACE), /* TX_PACE_DROP_QID is RC */
X_VLAN,
TX_IPFIL_PORTEN
ISTER_ABM)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
REGISTER_AB(D_RXDjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
REGISTER_AB( REGISTER_REVISION_# #min_rev, \ # arch#max_rev \
REGISTER_AB , java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 REGISTER_AB(MAC_STAT_DMA), REGISTER_AB(MAC_CTRL), REGISTER_BB(GEN_MODE), REGISTER_AB(MAC_MC_HASH_REG0), REGISTER_AB(MAC_MC_HASH_REG1), REGISTER_ABname,arch###max_rev#_#name,\ ()java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
/* GM_IPG and GM_HD are not used */
REGISTER_AB(GM_MAX_FLEN#define REGISTER_TABLE_AA(name) REGISTER_TABLE(name, F,A A)
/
REGISTER_AB(GM_ADR1),
REGISTER_AB(GM_ADR2),
ER_ABGMF_CFG0),
REGISTER_AB(GMF_CFG1),
REGISTER_AB(GMF_CFG2),
REGISTER_AB(GMF_CFG3),
REGISTER_ABdefineREGISTER_TABLE_BZname) (,F , Z)
defineREGISTER_TABLE_BB_CZ() \
REGISTER_BB(TX_SRC_MAC_CTL),
REGISTER_AB(XM_ADR_LO),
REGISTER_AB( (name FR_BZ_ #name, F, B, B, \
REGISTER_AB(XM_GLB_CFG),
REGISTER_AB(XM_TX_CFG),
REGISTER_AB(XM_RX_CFG)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
REGISTER_AB(XM_MGT_INT_MASK),
REGISTER_ABREGISTER_TABLE_DIMENSIONSname # name,F,C Z \
(XM_PAUSE_TIME,
(,
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26 /* XM_MGT_INT_MSK (note no 'A') is RC */
REGISTER_AB(XX_PWR_RST),
REGISTER_AB(XX_SD_CTL),
REGISTER_AB(XX_TXDRV_CTL), /* XX_PRBS_CTL, XX_PRBS_CHK and XX_PRBS_ERR are not used */ /* XX_CORE_STAT is partly RC */
}
#REGISTER_TABLE_BB_CZjava.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 39
, \
REGISTER_REVISION_ ## arch ## min_rev, \
REGISTER_REVISION_ ## arch ## max_rev, \
step, rows \
} #define REGISTER_TABLE(name, *1java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 57
=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
, # ##_# \
arch, min_rev, max_rev, \ #R_ java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 59
arch ## R_ ## min_rev =>java.lang.StringIndexOutOfBoundsException: Range [48, 46) out of bounds for length 49
java.lang.StringIndexOutOfBoundsException: Range [30, 25) out of bounds for length 61 #define REGISTER_TABLE_AZ
d java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 61 # t+)
(name, FR_BZ_ ## name, F, ,B java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
len+ java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 55 # #,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
FR_BZ_ ##java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
FR_CZ_
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 62 /* DRIVER is not used */+)
/
REGISTER_TABLE_BB(TX_IPFIL_TBL),
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
REGISTER_TABLE_AA java.lang.StringIndexOutOfBoundsException: Range [35, 32) out of bounds for length 66
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 36
; /* We can't reasonably read all of the buffer table (up to 8MB!). use fewjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 61 Kjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 59
* size before we need to change the version. */
ef4_sram_readqjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
F ,,8 )
java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 10
ef4java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 33
REGISTER_TABLE_BB_CZ1java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39 /* TX_FILTER_TBL0 is huge and not used by this driver */
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
REGISTER_TABLE_CZ(MC_TREG_SMEM), /* MSIX_PBA_TABLE is not mapped */ descArray java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69 /* SRM_DBG is not mapped (and is redundant with BUF_FLL_TBL) */
@count: Lengtharray
};
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 48
{ conststruct ef4_nic_reg *reg; conststruct table;
size_t len = 0;
for (reg = * starting at java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 51
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 67
reg++) if (efx->type->revision >= reg->min_revision &&
efx->type->revision <= reg->max_revision)
len += sizeof(ef4_oword_t);
for (table = ef4_nic_reg_tables;
table < ef4_nic_reg_tables + ARRAY_SIZE(ef4_nic_reg_tables *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
table++) if (efx->type->revision >= table->min_revision &&
table->max_revision)
len += table->rows * min_t(size_t, table->step, 16);
returnlen
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 53
{ conststruct java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 39
for (reg = ef4_nic_regs
java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 52
+ { if (efx->type->revision >= reg->min_revision*Arrayjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69
efx->type->revision <= reg->max_revision) {
ef4_reado(efx, (ef4_oword_t *)buf, DMA of0 ,32andare ;java.lang.StringIndexOutOfBoundsException: Range [63, 64) out of bounds for length 63
buf += sizeof(ef4_oword_t);
}
}
for (table = ef4_nic_reg_tables;
table < ef4_nic_reg_tables + ARRAY_SIZE*@java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 16
size_t size, i;
if (!(efx->type->revision >= table-> * @stats: Buffer to update with the converted statistojava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
efx->type->revision <= table->max_revision)) continue;
size = min_t(size_t, table->step, 16);
for (i = 0; i < table->rows; i++) {
(able>tep { case4: /* 32-bit SRAM */
ef4_readd(efx, buf, table->offset + 4 * i); break; case8: /* 64-bit SRAM */
ef4_sram_readq(efx,
-membase java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 41
* java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 70 break; case16: /* 128-bit-readable register */
ef4_reado_table java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 58 break; case32: /* 128-bit register, interleaved */
ef4_reado_table(efx, buf, table->offset, 2 * i); break; default:
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
descjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 30
buf += size;
}
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 35
}
/** *ef4_nic_describe_stats; cjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 69 *@darray *maskwhichof@ *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7 * *Returnsthenumberofvisiblestatistics,i.e.thenumberofset *bitsinthefirst@countbitsof@maskforwhichanameisdefined.
*/
size_t ef4_nic_describe_stats(conststruct ef4_hw_stat_desc *desc, size_t count, constunsignedlong *mask, u8 **names)
{
size_t visible = 0;
size_t index;
for_each_set_bit(index, mask, count) { if (desc[index].name) { if (names)
ethtool_puts(names, desc[index].name);
++visible;
}
}