Messages in this thread | | | Subject | Re: [PATCH net-next v4 08/15] net: ravb: Move the IRQs get and request in the probe function | From | Sergey Shtylyov <> | Date | Sun, 28 Jan 2024 21:01:35 +0300 |
| |
Hello!
I suggest the following subject "net: ravb: Move getting/requesting IRQs in the probe() method".
On 1/23/24 3:58 PM, Claudiu wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > > The runtime PM implementation will disable clocks at the end of > ravb_probe(). As some IP variants switch to reset mode as a result of > setting module standby through clock disable APIs, to implement runtime PM > the resource parsing and requesting are moved in the probe function and IP > settings are moved in the open function. This is done because at the end of > the probe some IP variants will switch anyway to reset mode and the > registers content is lost. Also keeping only register specific operations
Register contents?
> in the ravb_open()/ravb_close() functions will make them faster. > > Commit moves IRQ requests to ravb_probe() to have all the IRQs ready when > the interface is open. As now IRQs gets and requests are in a single place
Again, getting/requesting IRQs.
> there is no need to keep intermediary data (like ravb_rx_irqs[] and > ravb_tx_irqs[] arrays or IRQs in struct ravb_private). > > In order to avoid accessing the IP registers while the IP is runtime > suspended (e.g. in the timeframe b/w the probe requests shared IRQs and > IP clocks are enabled) in the interrupt handlers were introduced > pm_runtime_active() checks. The device runtime PM usage counter has been > incremented to avoid disabling the device's clocks while the check is in > progress (if any).
Oh, so this scheme does have some complications...
> This is a preparatory change to add runtime PM support for all IP variants. > > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
With the above fixed:
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
[...]
MBR, Sergey
| |