mbox series

[0/8,SRU,Noble] Fix vsc ace set host command timeout

Message ID 20240625093138.3793885-1-vicamo.yang@canonical.com
Headers show
Series Fix vsc ace set host command timeout | expand

Message

You-Sheng Yang June 25, 2024, 9:31 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/2067364

[Impact]

With IVSC switched to in-tree driver since 6.8 kernels in bug 2061747, it's
still suffering from various problems that blocks camera driver stack being
loaded correctly.

The ivsc-ace driver may fail to communicate with the underlying firmware with
error messages:

  ivsc_ace intel_vsc-5db76cf6-0a68-4ed6-9b78-0361635e2447: switch camera to
  host failed: -110

This happens after warm reboots. In addition, ivs may block suspend resume, too.

[Fix]

These symptoms are to be addressed by upstream reviewing patchsets:
* https://lore.kernel.org/all/20240624014223.4171341-1-wentong.wu@intel.com/
* https://lore.kernel.org/all/20240607132547.2820515-1-wentong.wu@intel.com/
* commit 9b5e045029d8 ("mei: vsc: Don't stop/restart mei device during system
  suspend/resume") from v6.10-rc4

[Test Case]

1. test camera after rebooting into a proposed kernel,
2. run suspend/resume stress test plan.
3. verify camera still working

[Where problems could occur]

These fixes are quite limited to ipu6/ivsc platforms, and affected no
power-consumption or other notisible problem.

[Other Info]

While some of the fixes are still under upstream review, meaning they're not
yet available in any kernel release, linux-unstable/oracular/noble and
oem-6.8/6.1x will be nominated for fix.

Wentong Wu (8):
  mei: vsc: Don't stop/restart mei device during system suspend/resume
  UBUNTU: SAUCE: media: ivsc: csi: don't count privacy on as error
  UBUNTU: SAUCE: media: ivsc: csi: add separate lock for v4l2 control
    handler
  UBUNTU: SAUCE: media: ivsc: csi: remove privacy status in struct
    mei_csi
  UBUNTU: SAUCE: mei: vsc: Enhance IVSC chipset stability during warm
    reboot
  UBUNTU: SAUCE: mei: vsc: Enhance SPI transfer of IVSC rom
  UBUNTU: SAUCE: mei: vsc: Utilize the appropriate byte order swap
    function
  UBUNTU: SAUCE: mei: vsc: Prevent timeout error with added delay
    post-firmware download

 drivers/media/pci/intel/ivsc/mei_csi.c | 24 ++++++++------
 drivers/misc/mei/platform-vsc.c        | 43 ++++++++++----------------
 drivers/misc/mei/vsc-tp.c              | 18 +++++++++--
 3 files changed, 48 insertions(+), 37 deletions(-)

Comments

Paolo Pisati June 27, 2024, 9:24 a.m. UTC | #1
On Tue, Jun 25, 2024 at 05:31:30PM +0800, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2067364

Acked-by: Paolo Pisati <paolo.pisati@canonical.com>
Timo Aaltonen June 27, 2024, 2:49 p.m. UTC | #2
You-Sheng Yang kirjoitti 25.6.2024 klo 12.31:
> BugLink: https://bugs.launchpad.net/bugs/2067364
> 
> [Impact]
> 
> With IVSC switched to in-tree driver since 6.8 kernels in bug 2061747, it's
> still suffering from various problems that blocks camera driver stack being
> loaded correctly.
> 
> The ivsc-ace driver may fail to communicate with the underlying firmware with
> error messages:
> 
>    ivsc_ace intel_vsc-5db76cf6-0a68-4ed6-9b78-0361635e2447: switch camera to
>    host failed: -110
> 
> This happens after warm reboots. In addition, ivs may block suspend resume, too.
> 
> [Fix]
> 
> These symptoms are to be addressed by upstream reviewing patchsets:
> * https://lore.kernel.org/all/20240624014223.4171341-1-wentong.wu@intel.com/
> * https://lore.kernel.org/all/20240607132547.2820515-1-wentong.wu@intel.com/
> * commit 9b5e045029d8 ("mei: vsc: Don't stop/restart mei device during system
>    suspend/resume") from v6.10-rc4
> 
> [Test Case]
> 
> 1. test camera after rebooting into a proposed kernel,
> 2. run suspend/resume stress test plan.
> 3. verify camera still working
> 
> [Where problems could occur]
> 
> These fixes are quite limited to ipu6/ivsc platforms, and affected no
> power-consumption or other notisible problem.
> 
> [Other Info]
> 
> While some of the fixes are still under upstream review, meaning they're not
> yet available in any kernel release, linux-unstable/oracular/noble and
> oem-6.8/6.1x will be nominated for fix.
> 
> Wentong Wu (8):
>    mei: vsc: Don't stop/restart mei device during system suspend/resume
>    UBUNTU: SAUCE: media: ivsc: csi: don't count privacy on as error
>    UBUNTU: SAUCE: media: ivsc: csi: add separate lock for v4l2 control
>      handler
>    UBUNTU: SAUCE: media: ivsc: csi: remove privacy status in struct
>      mei_csi
>    UBUNTU: SAUCE: mei: vsc: Enhance IVSC chipset stability during warm
>      reboot
>    UBUNTU: SAUCE: mei: vsc: Enhance SPI transfer of IVSC rom
>    UBUNTU: SAUCE: mei: vsc: Utilize the appropriate byte order swap
>      function
>    UBUNTU: SAUCE: mei: vsc: Prevent timeout error with added delay
>      post-firmware download
> 
>   drivers/media/pci/intel/ivsc/mei_csi.c | 24 ++++++++------
>   drivers/misc/mei/platform-vsc.c        | 43 ++++++++++----------------
>   drivers/misc/mei/vsc-tp.c              | 18 +++++++++--
>   3 files changed, 48 insertions(+), 37 deletions(-)
>
part of the mipi/ipu6 maze, and required for oem-6.5->hwe-6.8 transition, so

Acked-by: Timo Aaltonen <timo.aaltonen@canonical.com>
Stefan Bader July 4, 2024, 6:06 p.m. UTC | #3
On 25.06.24 11:31, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2067364
> 
> [Impact]
> 
> With IVSC switched to in-tree driver since 6.8 kernels in bug 2061747, it's
> still suffering from various problems that blocks camera driver stack being
> loaded correctly.
> 
> The ivsc-ace driver may fail to communicate with the underlying firmware with
> error messages:
> 
>    ivsc_ace intel_vsc-5db76cf6-0a68-4ed6-9b78-0361635e2447: switch camera to
>    host failed: -110
> 
> This happens after warm reboots. In addition, ivs may block suspend resume, too.
> 
> [Fix]
> 
> These symptoms are to be addressed by upstream reviewing patchsets:
> * https://lore.kernel.org/all/20240624014223.4171341-1-wentong.wu@intel.com/
> * https://lore.kernel.org/all/20240607132547.2820515-1-wentong.wu@intel.com/
> * commit 9b5e045029d8 ("mei: vsc: Don't stop/restart mei device during system
>    suspend/resume") from v6.10-rc4
> 
> [Test Case]
> 
> 1. test camera after rebooting into a proposed kernel,
> 2. run suspend/resume stress test plan.
> 3. verify camera still working
> 
> [Where problems could occur]
> 
> These fixes are quite limited to ipu6/ivsc platforms, and affected no
> power-consumption or other notisible problem.
> 
> [Other Info]
> 
> While some of the fixes are still under upstream review, meaning they're not
> yet available in any kernel release, linux-unstable/oracular/noble and
> oem-6.8/6.1x will be nominated for fix.
> 
> Wentong Wu (8):
>    mei: vsc: Don't stop/restart mei device during system suspend/resume
>    UBUNTU: SAUCE: media: ivsc: csi: don't count privacy on as error
>    UBUNTU: SAUCE: media: ivsc: csi: add separate lock for v4l2 control
>      handler
>    UBUNTU: SAUCE: media: ivsc: csi: remove privacy status in struct
>      mei_csi
>    UBUNTU: SAUCE: mei: vsc: Enhance IVSC chipset stability during warm
>      reboot
>    UBUNTU: SAUCE: mei: vsc: Enhance SPI transfer of IVSC rom
>    UBUNTU: SAUCE: mei: vsc: Utilize the appropriate byte order swap
>      function
>    UBUNTU: SAUCE: mei: vsc: Prevent timeout error with added delay
>      post-firmware download
> 
>   drivers/media/pci/intel/ivsc/mei_csi.c | 24 ++++++++------
>   drivers/misc/mei/platform-vsc.c        | 43 ++++++++++----------------
>   drivers/misc/mei/vsc-tp.c              | 18 +++++++++--
>   3 files changed, 48 insertions(+), 37 deletions(-)
> 

Applied to noble:linux/master-next. Thanks.

-Stefan