Re: [PATCH net 1/2] net: stmmac: Limit FIFO size by hardware feature value

From: Kunihiko Hayashi
Date: Mon Jan 20 2025 - 00:20:41 EST


Hi Andrew,

On 2025/01/17 5:16, Andrew Lunn wrote:
On Thu, Jan 16, 2025 at 11:08:52AM +0900, Kunihiko Hayashi wrote:
Tx/Rx FIFO size is specified by the parameter "{tx,rx}-fifo-depth" from
the platform layer.

However, these values are constrained by upper limits determined by the
capabilities of each hardware feature. There is a risk that the upper
bits will be truncated due to the calculation, so it's appropriate to
limit them to the upper limit values.

Are these values hard coded in the platform layer? Or can they come
from userspace?

My explanation is insufficient and misleading.
"From the platform layer" means the common layer of stmmac described in
"stmmac_platform.c".

If they are hard coded, we should also fix them. So maybe add a
netdev_warn(), and encourage the platform maintainers to fix their
platform. If they are coming from userspace, we should consider
failing the ethtool call with an -EINVAL, and maybe an extack with the
valid range?

These values are derived from the devicetree and stored in the stmmac
private structure. They are hardware-specific values, so I think this
fix is sufficient.

Thank you,

---
Best Regards
Kunihiko Hayashi