On 15.12.2023 21:58, Sergey Shtylyov wrote: > On 12/14/23 2:45 PM, Claudiu wrote: > >> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> >> >> Delay parse and set were done in the driver's probe API. As some IP > > Parsing and setting? > >> variants switch to reset mode (and thus registers' content is lost) when > > Register. > >> setting clocks (due to module standby functionality) to be able to >> implement runtime PM keep the delay parsing in the driver's probe function >> and move the delay apply function to the driver's ndo_open API. > > Applying? > >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > [...] > >> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c >> index 5e01e03e1b43..04eaa1967651 100644 >> --- a/drivers/net/ethernet/renesas/ravb_main.c >> +++ b/drivers/net/ethernet/renesas/ravb_main.c > [...] >> @@ -1806,6 +1821,8 @@ static int ravb_open(struct net_device *ndev) >> if (info->nc_queues) >> napi_enable(&priv->napi[RAVB_NC]); >> >> + ravb_set_delay_mode(ndev); >> + > > I suspect this belongs in ravb_dmac_init() now... I'm confused... Why? To me this seems more like MAC-PHY interface related. Though I'm not sure what ravb_dmac_init() purpose is. > >> /* Device init */ >> error = ravb_dmac_init(ndev); >> if (error) > [...] > > MRB, Sergey