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

Function txgbe_set_phy_temp

dpdk/drivers/net/txgbe/base/txgbe_phy.c:2359–2405  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2357}
2358
2359void txgbe_set_phy_temp(struct txgbe_hw *hw)
2360{
2361 u32 value;
2362
2363 if (hw->phy.ffe_set == TXGBE_BP_M_SFI) {
2364 BP_LOG("Set SFI TX_EQ MAIN:%d PRE:%d POST:%d\n",
2365 hw->phy.ffe_main, hw->phy.ffe_pre, hw->phy.ffe_post);
2366
2367 value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL0);
2368 value = (value & ~0x3F3F) | (hw->phy.ffe_main << 8) |
2369 hw->phy.ffe_pre;
2370 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL0, value);
2371
2372 value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1);
2373 value = (value & ~0x7F) | hw->phy.ffe_post | (1 << 6);
2374 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1, value);
2375 }
2376
2377 if (hw->phy.ffe_set == TXGBE_BP_M_KR) {
2378 BP_LOG("Set KR TX_EQ MAIN:%d PRE:%d POST:%d\n",
2379 hw->phy.ffe_main, hw->phy.ffe_pre, hw->phy.ffe_post);
2380 value = (0x1804 & ~0x3F3F);
2381 value |= hw->phy.ffe_main << 8 | hw->phy.ffe_pre;
2382 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL0, value);
2383
2384 value = (0x50 & ~0x7F) | (1 << 6) | hw->phy.ffe_post;
2385 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1, value);
2386 wr32_epcs(hw, 0x18035, 0x00FF);
2387 wr32_epcs(hw, 0x18055, 0x00FF);
2388 }
2389
2390 if (hw->phy.ffe_set == TXGBE_BP_M_KX) {
2391 BP_LOG("Set KX TX_EQ MAIN:%d PRE:%d POST:%d\n",
2392 hw->phy.ffe_main, hw->phy.ffe_pre, hw->phy.ffe_post);
2393 value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL0);
2394 value = (value & ~0x3F3F) | (hw->phy.ffe_main << 8) |
2395 hw->phy.ffe_pre;
2396 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL0, value);
2397
2398 value = rd32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1);
2399 value = (value & ~0x7F) | hw->phy.ffe_post | (1 << 6);
2400 wr32_epcs(hw, TXGBE_PHY_TX_EQ_CTL1, value);
2401
2402 wr32_epcs(hw, 0x18035, 0x00FF);
2403 wr32_epcs(hw, 0x18055, 0x00FF);
2404 }
2405}
2406
2407/**
2408 * txgbe_kr_handle - Handle the interrupt of auto-negotiation

Callers 1

txgbe_reset_hwFunction · 0.85

Calls 2

rd32_epcsFunction · 0.70
wr32_epcsFunction · 0.70

Tested by

no test coverage detected