MCPcopy Create free account
hub / github.com/F-Stack/f-stack / txgbe_reset_misc

Function txgbe_reset_misc

dpdk/drivers/net/txgbe/base/txgbe_hw.c:3386–3447  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3384}
3385
3386static void
3387txgbe_reset_misc(struct txgbe_hw *hw)
3388{
3389 int i;
3390 u32 value;
3391
3392 wr32(hw, TXGBE_ISBADDRL, hw->isb_dma & 0x00000000FFFFFFFF);
3393 wr32(hw, TXGBE_ISBADDRH, hw->isb_dma >> 32);
3394
3395 value = rd32_epcs(hw, SR_XS_PCS_CTRL2);
3396 if ((value & 0x3) != SR_PCS_CTRL2_TYPE_SEL_X)
3397 hw->link_status = TXGBE_LINK_STATUS_NONE;
3398
3399 /* receive packets that size > 2048 */
3400 wr32m(hw, TXGBE_MACRXCFG,
3401 TXGBE_MACRXCFG_JUMBO, TXGBE_MACRXCFG_JUMBO);
3402
3403 wr32m(hw, TXGBE_FRMSZ, TXGBE_FRMSZ_MAX_MASK,
3404 TXGBE_FRMSZ_MAX(TXGBE_FRAME_SIZE_DFT));
3405
3406 /* clear counters on read */
3407 wr32m(hw, TXGBE_MACCNTCTL,
3408 TXGBE_MACCNTCTL_RC, TXGBE_MACCNTCTL_RC);
3409
3410 wr32m(hw, TXGBE_RXFCCFG,
3411 TXGBE_RXFCCFG_FC, TXGBE_RXFCCFG_FC);
3412 wr32m(hw, TXGBE_TXFCCFG,
3413 TXGBE_TXFCCFG_FC, TXGBE_TXFCCFG_FC);
3414
3415 wr32m(hw, TXGBE_MACRXFLT,
3416 TXGBE_MACRXFLT_PROMISC, TXGBE_MACRXFLT_PROMISC);
3417
3418 wr32m(hw, TXGBE_RSTSTAT,
3419 TXGBE_RSTSTAT_TMRINIT_MASK, TXGBE_RSTSTAT_TMRINIT(30));
3420
3421 /* errata 4: initialize mng flex tbl and wakeup flex tbl*/
3422 wr32(hw, TXGBE_MNGFLEXSEL, 0);
3423 for (i = 0; i < 16; i++) {
3424 wr32(hw, TXGBE_MNGFLEXDWL(i), 0);
3425 wr32(hw, TXGBE_MNGFLEXDWH(i), 0);
3426 wr32(hw, TXGBE_MNGFLEXMSK(i), 0);
3427 }
3428 wr32(hw, TXGBE_LANFLEXSEL, 0);
3429 for (i = 0; i < 16; i++) {
3430 wr32(hw, TXGBE_LANFLEXDWL(i), 0);
3431 wr32(hw, TXGBE_LANFLEXDWH(i), 0);
3432 wr32(hw, TXGBE_LANFLEXMSK(i), 0);
3433 }
3434
3435 /* set pause frame dst mac addr */
3436 wr32(hw, TXGBE_RXPBPFCDMACL, 0xC2000001);
3437 wr32(hw, TXGBE_RXPBPFCDMACH, 0x0180);
3438
3439 hw->mac.init_thermal_sensor_thresh(hw);
3440
3441 /* enable mac transmitter */
3442 wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, TXGBE_MACTXCFG_TXE);
3443

Callers 1

txgbe_reset_hwFunction · 0.85

Calls 3

wr32Function · 0.70
rd32_epcsFunction · 0.70
wr32mFunction · 0.70

Tested by

no test coverage detected