Re: [PATCH] mfd: intel-lpss: Remove D3cold delay

From: Lee Jones
Date: Thu Jul 25 2019 - 14:05:56 EST


On Tue, 09 Jul 2019, Andy Shevchenko wrote:

> On Fri, Jul 05, 2019 at 12:55:03PM +0800, Kai-Heng Feng wrote:
> > Goodix touchpad may drop its first couple input events when
> > i2c-designware-platdrv and intel-lpss it connects to took too long to
> > runtime resume from runtime suspended state.
> >
> > This issue happens becuase the touchpad has a rather small buffer to
> > store up to 13 input events, so if the host doesn't read those events in
> > time (i.e. runtime resume takes too long), events are dropped from the
> > touchpad's buffer.
> >
> > The bottleneck is D3cold delay it waits when transitioning from D3cold
> > to D0, hence remove the delay to make the resume faster. I've tested
> > some systems with intel-lpss and haven't seen any regression.
>
> Thank you for the patch. I took it to our internal testing and will tell
> the result within couple of weeks.

Any news?

> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202683
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> > ---
> > drivers/mfd/intel-lpss-pci.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
> > index aed2c0447966..3c271b14e7c6 100644
> > --- a/drivers/mfd/intel-lpss-pci.c
> > +++ b/drivers/mfd/intel-lpss-pci.c
> > @@ -35,6 +35,8 @@ static int intel_lpss_pci_probe(struct pci_dev *pdev,
> > info->mem = &pdev->resource[0];
> > info->irq = pdev->irq;
> >
> > + pdev->d3cold_delay = 0;
> > +
> > /* Probably it is enough to set this for iDMA capable devices only */
> > pci_set_master(pdev);
> > pci_try_set_mwi(pdev);
>

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog