Hi Asutosh, On Tue, 2019-12-17 at 15:25 -0800, Asutosh Das (asd) wrote: > > > > Hi, > Does this save significant power? I see that gate/ungate of clocks > happen far too frequently than suspend/resume. > > Have you considered how much latency this would add to the > gating/ungating path? > > -asd > Yes, we have measured 200 times clk-gating/clk-ungating and latency data is showed as below, For clk-gating with interrupt disabling toggled, Average latency of each clk-gating: 55.117 us Average latency of irq-disabling during clk-gating: 4.2 us For clk-ungating with interrupt enabling toggled, Average latency of each clk-ungating: 118.324 us Average latency of irq-enabling during clk-ungating: 2.9 us The evaluation here is based on below Can's patch therefore the interrupt control (enable_irq/disable_irq) latency is much shorter than before (request_irq/free_irq). scsi: ufs: Do not free irq in suspend https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/scsi/ufs/ufshcd.c?id=8709c1f68536e256668812788af5b2bb027f49c3 BTW, the main purpose of this patch is aimed to protect ufshcd register from accessing while host clocks are disabled to fix potential system hang issue. The possible scenario is mentioned in commit message of patch "scsi: ufs: disable irq before disabling clocks" in the same series. Thanks Stanley