2019-12-18 22:55:59

by Jose Abreu

[permalink] [raw]
Subject: [PATCH net-next] net: stmmac: tc: Fix TAPRIO division operation

For ARCHs that don't support 64 bits division we need to use the
helpers.

Fixes: b60189e0392f ("net: stmmac: Integrate EST with TAPRIO scheduler API")
Signed-off-by: Jose Abreu <[email protected]>

---
Completely untested as my setup is offline due to power-outrage. Carefull
review needed.
---
Cc: Giuseppe Cavallaro <[email protected]>
Cc: Alexandre Torgue <[email protected]>
Cc: Jose Abreu <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Maxime Coquelin <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
index 8ff8f9b9bb22..6c4686b77516 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
@@ -599,6 +599,7 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
struct timespec64 time;
bool fpe = false;
int i, ret = 0;
+ u64 ctr;

if (!priv->dma_cap.estsel)
return -EOPNOTSUPP;
@@ -694,8 +695,9 @@ static int tc_setup_taprio(struct stmmac_priv *priv,
priv->plat->est->btr[0] = (u32)time.tv_nsec;
priv->plat->est->btr[1] = (u32)time.tv_sec;

- priv->plat->est->ctr[0] = (u32)(qopt->cycle_time % NSEC_PER_SEC);
- priv->plat->est->ctr[1] = (u32)(qopt->cycle_time / NSEC_PER_SEC);
+ ctr = qopt->cycle_time;
+ priv->plat->est->ctr[0] = do_div(ctr, NSEC_PER_SEC);
+ priv->plat->est->ctr[1] = (u32)ctr;

if (fpe && !priv->dma_cap.fpesel)
return -EOPNOTSUPP;
--
2.7.4


2019-12-18 23:16:56

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net-next] net: stmmac: tc: Fix TAPRIO division operation

From: Jose Abreu <[email protected]>
Date: Wed, 18 Dec 2019 23:55:01 +0100

> For ARCHs that don't support 64 bits division we need to use the
> helpers.
>
> Fixes: b60189e0392f ("net: stmmac: Integrate EST with TAPRIO scheduler API")
> Signed-off-by: Jose Abreu <[email protected]>
>
> ---
> Completely untested as my setup is offline due to power-outrage. Carefull
> review needed.

It looks correct to me and should fix the build, so applied, thanks.