mbox series

[v3,0/1,SRU,Unstable/Kinetic/OEM-6.0] Fix suspend failure on t7xx equipped platform

Message ID 20221110082552.1055995-1-vicamo.yang@canonical.com
Headers show
Series Fix suspend failure on t7xx equipped platform | expand

Message

You-Sheng Yang Nov. 10, 2022, 8:25 a.m. UTC
From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1990700

[Impact]

Fibocom WWAN FM350-GL equipped platform fails to suspend.

[Fix]

Full t7xx driver is still under development and some of them have
already accepted and merged in mainline kernel. The following commits
are once in the mainline and are reverted in v6.0 to address some more
review comments:

  d20ef656f994 net: wwan: t7xx: Add AP CLDMA
  007f26f0d68e net: wwan: t7xx: Infrastructure for early port configuration
  140424d90165 net: wwan: t7xx: PCIe reset rescan
  87dae9e70bf7 net: wwan: t7xx: Enable devlink based fw flashing and
               coredump collection

The first patch implemented the other AP-CLDMA, and with that applied,
platforms in question may suspend and resume normally as every bits are in
position.

[Test Case]

Trigger suspend and there should be no more suspend errors from t7xx:

  mtk_t7xx 0000:58:00.0: [PM] SAP suspend error: -110
  mtk_t7xx 0000:58:00.0: PM: pci_pm_suspend(): t7xx_pci_pm_suspend+0x0/0x20 [mtk_t7xx] returns -110
  mtk_t7xx 0000:58:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1a0 returns -110
  mtk_t7xx 0000:58:00.0: PM: failed to suspend async: error -110

[Where problems could occur]

The t7xx driver is still incomplete, but this should be enough for
general use.

[Other Info]

This affects Kinetic and above, so only Unstable, Kinetic and OEM-6.0 are
nominated for fix.

V3: use the full implementation for AP-CLDMA instead as requested by hw
    vendor.

Haijun Liu (1):
  net: wwan: t7xx: Add AP CLDMA

 drivers/net/wwan/t7xx/t7xx_hif_cldma.c     | 17 +++--
 drivers/net/wwan/t7xx/t7xx_hif_cldma.h     |  2 +-
 drivers/net/wwan/t7xx/t7xx_mhccif.h        |  1 +
 drivers/net/wwan/t7xx/t7xx_modem_ops.c     | 85 ++++++++++++++++++----
 drivers/net/wwan/t7xx/t7xx_modem_ops.h     |  3 +
 drivers/net/wwan/t7xx/t7xx_port.h          |  8 +-
 drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c |  8 +-
 drivers/net/wwan/t7xx/t7xx_port_proxy.c    | 12 +++
 drivers/net/wwan/t7xx/t7xx_reg.h           |  2 +-
 drivers/net/wwan/t7xx/t7xx_state_monitor.c | 13 +++-
 drivers/net/wwan/t7xx/t7xx_state_monitor.h |  2 +
 11 files changed, 125 insertions(+), 28 deletions(-)

Comments

Tim Gardner Nov. 10, 2022, 3:08 p.m. UTC | #1
On 11/10/22 1:25 AM, You-Sheng Yang wrote:
> From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1990700
> 
> [Impact]
> 
> Fibocom WWAN FM350-GL equipped platform fails to suspend.
> 
> [Fix]
> 
> Full t7xx driver is still under development and some of them have
> already accepted and merged in mainline kernel. The following commits
> are once in the mainline and are reverted in v6.0 to address some more
> review comments:
> 
>    d20ef656f994 net: wwan: t7xx: Add AP CLDMA
>    007f26f0d68e net: wwan: t7xx: Infrastructure for early port configuration
>    140424d90165 net: wwan: t7xx: PCIe reset rescan
>    87dae9e70bf7 net: wwan: t7xx: Enable devlink based fw flashing and
>                 coredump collection
> 
> The first patch implemented the other AP-CLDMA, and with that applied,
> platforms in question may suspend and resume normally as every bits are in
> position.
> 
> [Test Case]
> 
> Trigger suspend and there should be no more suspend errors from t7xx:
> 
>    mtk_t7xx 0000:58:00.0: [PM] SAP suspend error: -110
>    mtk_t7xx 0000:58:00.0: PM: pci_pm_suspend(): t7xx_pci_pm_suspend+0x0/0x20 [mtk_t7xx] returns -110
>    mtk_t7xx 0000:58:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1a0 returns -110
>    mtk_t7xx 0000:58:00.0: PM: failed to suspend async: error -110
> 
> [Where problems could occur]
> 
> The t7xx driver is still incomplete, but this should be enough for
> general use.
> 
> [Other Info]
> 
> This affects Kinetic and above, so only Unstable, Kinetic and OEM-6.0 are
> nominated for fix.
> 
> V3: use the full implementation for AP-CLDMA instead as requested by hw
>      vendor.
> 
> Haijun Liu (1):
>    net: wwan: t7xx: Add AP CLDMA
> 
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.c     | 17 +++--
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.h     |  2 +-
>   drivers/net/wwan/t7xx/t7xx_mhccif.h        |  1 +
>   drivers/net/wwan/t7xx/t7xx_modem_ops.c     | 85 ++++++++++++++++++----
>   drivers/net/wwan/t7xx/t7xx_modem_ops.h     |  3 +
>   drivers/net/wwan/t7xx/t7xx_port.h          |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_proxy.c    | 12 +++
>   drivers/net/wwan/t7xx/t7xx_reg.h           |  2 +-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.c | 13 +++-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.h |  2 +
>   11 files changed, 125 insertions(+), 28 deletions(-)
> 
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Timo Aaltonen Nov. 10, 2022, 4:24 p.m. UTC | #2
You-Sheng Yang kirjoitti 10.11.2022 klo 10.25:
> From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1990700
> 
> [Impact]
> 
> Fibocom WWAN FM350-GL equipped platform fails to suspend.
> 
> [Fix]
> 
> Full t7xx driver is still under development and some of them have
> already accepted and merged in mainline kernel. The following commits
> are once in the mainline and are reverted in v6.0 to address some more
> review comments:
> 
>    d20ef656f994 net: wwan: t7xx: Add AP CLDMA
>    007f26f0d68e net: wwan: t7xx: Infrastructure for early port configuration
>    140424d90165 net: wwan: t7xx: PCIe reset rescan
>    87dae9e70bf7 net: wwan: t7xx: Enable devlink based fw flashing and
>                 coredump collection
> 
> The first patch implemented the other AP-CLDMA, and with that applied,
> platforms in question may suspend and resume normally as every bits are in
> position.
> 
> [Test Case]
> 
> Trigger suspend and there should be no more suspend errors from t7xx:
> 
>    mtk_t7xx 0000:58:00.0: [PM] SAP suspend error: -110
>    mtk_t7xx 0000:58:00.0: PM: pci_pm_suspend(): t7xx_pci_pm_suspend+0x0/0x20 [mtk_t7xx] returns -110
>    mtk_t7xx 0000:58:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1a0 returns -110
>    mtk_t7xx 0000:58:00.0: PM: failed to suspend async: error -110
> 
> [Where problems could occur]
> 
> The t7xx driver is still incomplete, but this should be enough for
> general use.
> 
> [Other Info]
> 
> This affects Kinetic and above, so only Unstable, Kinetic and OEM-6.0 are
> nominated for fix.
> 
> V3: use the full implementation for AP-CLDMA instead as requested by hw
>      vendor.
> 
> Haijun Liu (1):
>    net: wwan: t7xx: Add AP CLDMA
> 
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.c     | 17 +++--
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.h     |  2 +-
>   drivers/net/wwan/t7xx/t7xx_mhccif.h        |  1 +
>   drivers/net/wwan/t7xx/t7xx_modem_ops.c     | 85 ++++++++++++++++++----
>   drivers/net/wwan/t7xx/t7xx_modem_ops.h     |  3 +
>   drivers/net/wwan/t7xx/t7xx_port.h          |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_proxy.c    | 12 +++
>   drivers/net/wwan/t7xx/t7xx_reg.h           |  2 +-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.c | 13 +++-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.h |  2 +
>   11 files changed, 125 insertions(+), 28 deletions(-)
> 

applied to oem-6.0, thanks
Kleber Souza Nov. 11, 2022, 3:01 p.m. UTC | #3
On 10.11.22 09:25, You-Sheng Yang wrote:
> From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1990700
> 
> [Impact]
> 
> Fibocom WWAN FM350-GL equipped platform fails to suspend.
> 
> [Fix]
> 
> Full t7xx driver is still under development and some of them have
> already accepted and merged in mainline kernel. The following commits
> are once in the mainline and are reverted in v6.0 to address some more
> review comments:
> 
>    d20ef656f994 net: wwan: t7xx: Add AP CLDMA
>    007f26f0d68e net: wwan: t7xx: Infrastructure for early port configuration
>    140424d90165 net: wwan: t7xx: PCIe reset rescan
>    87dae9e70bf7 net: wwan: t7xx: Enable devlink based fw flashing and
>                 coredump collection
> 
> The first patch implemented the other AP-CLDMA, and with that applied,
> platforms in question may suspend and resume normally as every bits are in
> position.
> 
> [Test Case]
> 
> Trigger suspend and there should be no more suspend errors from t7xx:
> 
>    mtk_t7xx 0000:58:00.0: [PM] SAP suspend error: -110
>    mtk_t7xx 0000:58:00.0: PM: pci_pm_suspend(): t7xx_pci_pm_suspend+0x0/0x20 [mtk_t7xx] returns -110
>    mtk_t7xx 0000:58:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1a0 returns -110
>    mtk_t7xx 0000:58:00.0: PM: failed to suspend async: error -110
> 
> [Where problems could occur]
> 
> The t7xx driver is still incomplete, but this should be enough for
> general use.
> 
> [Other Info]
> 
> This affects Kinetic and above, so only Unstable, Kinetic and OEM-6.0 are
> nominated for fix.
> 
> V3: use the full implementation for AP-CLDMA instead as requested by hw
>      vendor.
> 
> Haijun Liu (1):
>    net: wwan: t7xx: Add AP CLDMA
> 
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.c     | 17 +++--
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.h     |  2 +-
>   drivers/net/wwan/t7xx/t7xx_mhccif.h        |  1 +
>   drivers/net/wwan/t7xx/t7xx_modem_ops.c     | 85 ++++++++++++++++++----
>   drivers/net/wwan/t7xx/t7xx_modem_ops.h     |  3 +
>   drivers/net/wwan/t7xx/t7xx_port.h          |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_proxy.c    | 12 +++
>   drivers/net/wwan/t7xx/t7xx_reg.h           |  2 +-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.c | 13 +++-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.h |  2 +
>   11 files changed, 125 insertions(+), 28 deletions(-)
> 

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

Thanks
Kleber Souza Nov. 11, 2022, 3:40 p.m. UTC | #4
On 10.11.22 09:25, You-Sheng Yang wrote:
> From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1990700
> 
> [Impact]
> 
> Fibocom WWAN FM350-GL equipped platform fails to suspend.
> 
> [Fix]
> 
> Full t7xx driver is still under development and some of them have
> already accepted and merged in mainline kernel. The following commits
> are once in the mainline and are reverted in v6.0 to address some more
> review comments:
> 
>    d20ef656f994 net: wwan: t7xx: Add AP CLDMA
>    007f26f0d68e net: wwan: t7xx: Infrastructure for early port configuration
>    140424d90165 net: wwan: t7xx: PCIe reset rescan
>    87dae9e70bf7 net: wwan: t7xx: Enable devlink based fw flashing and
>                 coredump collection
> 
> The first patch implemented the other AP-CLDMA, and with that applied,
> platforms in question may suspend and resume normally as every bits are in
> position.
> 
> [Test Case]
> 
> Trigger suspend and there should be no more suspend errors from t7xx:
> 
>    mtk_t7xx 0000:58:00.0: [PM] SAP suspend error: -110
>    mtk_t7xx 0000:58:00.0: PM: pci_pm_suspend(): t7xx_pci_pm_suspend+0x0/0x20 [mtk_t7xx] returns -110
>    mtk_t7xx 0000:58:00.0: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x1a0 returns -110
>    mtk_t7xx 0000:58:00.0: PM: failed to suspend async: error -110
> 
> [Where problems could occur]
> 
> The t7xx driver is still incomplete, but this should be enough for
> general use.
> 
> [Other Info]
> 
> This affects Kinetic and above, so only Unstable, Kinetic and OEM-6.0 are
> nominated for fix.
> 
> V3: use the full implementation for AP-CLDMA instead as requested by hw
>      vendor.
> 
> Haijun Liu (1):
>    net: wwan: t7xx: Add AP CLDMA
> 
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.c     | 17 +++--
>   drivers/net/wwan/t7xx/t7xx_hif_cldma.h     |  2 +-
>   drivers/net/wwan/t7xx/t7xx_mhccif.h        |  1 +
>   drivers/net/wwan/t7xx/t7xx_modem_ops.c     | 85 ++++++++++++++++++----
>   drivers/net/wwan/t7xx/t7xx_modem_ops.h     |  3 +
>   drivers/net/wwan/t7xx/t7xx_port.h          |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c |  8 +-
>   drivers/net/wwan/t7xx/t7xx_port_proxy.c    | 12 +++
>   drivers/net/wwan/t7xx/t7xx_reg.h           |  2 +-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.c | 13 +++-
>   drivers/net/wwan/t7xx/t7xx_state_monitor.h |  2 +
>   11 files changed, 125 insertions(+), 28 deletions(-)
> 

Applied to kinetic:linux.

Thanks,
Kleber
Paolo Pisati Nov. 17, 2022, 4:34 p.m. UTC | #5
On Thu, Nov 10, 2022 at 04:25:51PM +0800, You-Sheng Yang wrote:
> From: "You-Sheng Yang (vicamo)" <vicamo.yang@canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1990700