mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-08 18:57:22 +00:00
The egress rate calculation computes an incorrect mantissa and exponent,
causing up to ~50% deviation from the configured rate at lower speeds.
Rework the computation to follow the hardware rate formula:
rate = 2 * (1 + mantissa/256) * 2^exp / (1 << div_exp)
Keep div_exp = 0 and derive exp and mantissa from half of the requested
rate. Rates below 2 Mbps are floored to the smallest encodable step
(exp = 0, mantissa = 0).
Fixes:
|
History
|
|
|---|---|---|
| .. | ||
| mvpp2 | ||
| octeon_ep | ||
| octeon_ep_vf | ||
| octeontx2 | ||
| prestera | ||
| Kconfig | ||
| Makefile | ||
| mv643xx_eth.c | ||
| mvmdio.c | ||
| mvneta.c | ||
| mvneta_bm.c | ||
| mvneta_bm.h | ||
| pxa168_eth.c | ||
| skge.c | ||
| skge.h | ||
| sky2.c | ||
| sky2.h | ||