| 1553 | } |
| 1554 | |
| 1555 | static int |
| 1556 | axgbe_adjfreq(struct axgbe_port *pdata, int64_t delta) |
| 1557 | { |
| 1558 | uint64_t adjust; |
| 1559 | uint32_t addend, diff; |
| 1560 | unsigned int neg_adjust = 0; |
| 1561 | |
| 1562 | if (delta < 0) { |
| 1563 | neg_adjust = 1; |
| 1564 | delta = -delta; |
| 1565 | } |
| 1566 | adjust = (uint64_t)pdata->tstamp_addend; |
| 1567 | adjust *= delta; |
| 1568 | diff = (uint32_t)div_u64(adjust, 1000000000UL); |
| 1569 | addend = (neg_adjust) ? pdata->tstamp_addend - diff : |
| 1570 | pdata->tstamp_addend + diff; |
| 1571 | pdata->tstamp_addend = addend; |
| 1572 | axgbe_update_tstamp_addend(pdata, addend); |
| 1573 | return 0; |
| 1574 | } |
| 1575 | |
| 1576 | static int |
| 1577 | axgbe_timesync_adjust_time(struct rte_eth_dev *dev, int64_t delta) |
no test coverage detected