[PATCH] accel/ivpu: Remove D3hot delay for Meteorlake

Stanislaw Gruszka stanislaw.gruszka at linux.intel.com
Mon Apr 3 12:10:52 UTC 2023


On Fri, Mar 31, 2023 at 02:26:04PM -0500, Bjorn Helgaas wrote:
> On Fri, Mar 31, 2023 at 01:40:27PM +0200, Stanislaw Gruszka wrote:
> > From: Karol Wachowski <karol.wachowski at linux.intel.com>
> > 
> > VPU on MTL has hardware optimizations and does not require 10ms
> > D0 - D3hot transition delay imposed by PCI specification.
> 
> PCIe r6.0, sec 5.9.
> 
> > The delay removal is traditionally done by adding PCI ID to
> > quirk_remove_dhot_delay() in drivers/pci/quirks.c . But since
> 
> quirk_remove_d3hot_delay()
> 
> > we do not need that optimization before driver probe and we
> > can better specify in the ivpu driver on what (future) hardware
> > use the optimization, we do not use quirk_remove_dhot_delay()
> 
> Again.
I Will fix the commit message in v2.

> > for that.
> > 
> > Signed-off-by: Karol Wachowski <karol.wachowski at linux.intel.com>
> > Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka at linux.intel.com>
> > ---
> >  drivers/accel/ivpu/ivpu_drv.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/accel/ivpu/ivpu_drv.c b/drivers/accel/ivpu/ivpu_drv.c
> > index 3be4a5a2b07a..cf9925c0a8ad 100644
> > --- a/drivers/accel/ivpu/ivpu_drv.c
> > +++ b/drivers/accel/ivpu/ivpu_drv.c
> > @@ -442,6 +442,10 @@ static int ivpu_pci_init(struct ivpu_device *vdev)
> >  	/* Clear any pending errors */
> >  	pcie_capability_clear_word(pdev, PCI_EXP_DEVSTA, 0x3f);
> >  
> > +	/* VPU MTL does not require PCI spec 10m D3hot delay */
> > +	if (ivpu_is_mtl(vdev))
> > +		pdev->d3hot_delay = 0;
> 
> d3hot_delay is used after a D0->D3hot transition, after a D3hot->D0
> transition, and after the D0->D3hot and D3hot->D0 transitions in
> pci_pm_reset().
> 
> I assume this device can tolerate removing *all* of those delays,
> right?
Yes.

Regards
Stanislaw


More information about the dri-devel mailing list