Re: [PATCH v1] drivers: pci: quirks: Add suspend fixup for SSD on sc7280

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 25, 2023 at 04:35:12PM +0800, Owen Yang wrote:
> Implement this workaround until Qualcomm fixed the
>  correct NVMe suspend process.

Thanks for the patch.  Before I can do anything, this needs:

  - Subject line in style of the file (use "git log --oneline
    drivers/pci/quirks.c").

  - Format commit log correctly (fill 75 columns, no leading spaces).

  - Description of incorrect behavior.  What does the user see?  If
    there's a bug report, include a link to it.

  - Multi-line code comments in style of the file (look at existing
    comments in the file).

  - Details of "the correct ASPM state".  ASPM may be enabled or
    disabled by the user, so you can't assume any particular ASPM
    configuration.

  - Details on the Qualcomm sc7280 connection.  This quirk would
    affect Phison SSDs on *all* platforms, not just sc7280.  I don't
    want to slow down suspend on all platforms just for a sc7280
    issue.

  - Drop the "until Qualcomm fixes NVMe suspend" text.  Even if
    Qualcomm fixes something, we can't just drop this quirk because
    there will be platforms in the field that don't have the Qualcomm
    fix.

Bjorn

> Signed-off-by: Owen Yang <ecs.taipeikernel@xxxxxxxxx>
> ---
> 
>  drivers/pci/quirks.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index f4e2a88729fd..b57876dc2624 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -5945,6 +5945,16 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev)
>  }
>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
>  
> +/* In Qualcomm 7c gen 3 sc7280 platform. Some of the SSD won't enter
> + * the correct ASPM state properly. Therefore. Implement this workaround
> + * until Qualcomm fixed the correct NVMe suspend process*/
> +static void phison_suspend_fixup(struct pci_dev *pdev)
> +{
> +	msleep(30);
> +}
> +DECLARE_PCI_FIXUP_SUSPEND(0x1987, 0x5013, phison_suspend_fixup);
> +DECLARE_PCI_FIXUP_SUSPEND(0x1987, 0x5015, phison_suspend_fixup);
> +
>  static void rom_bar_overlap_defect(struct pci_dev *dev)
>  {
>  	pci_info(dev, "working around ROM BAR overlap defect\n");
> -- 
> 2.17.1
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux