mbox series

[B,v2,0/2] Revert drm/msm patches that cause certification testing failure

Message ID 20200508210437.31193-1-kelsey.skunberg@canonical.com
Headers show
Series Revert drm/msm patches that cause certification testing failure | expand

Message

Kelsey Skunberg May 8, 2020, 9:04 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1877657

[SRU Justification]

[Impact]

snap certification testing failed with bionic/linux-snapdragon

https://bugs.launchpad.net/bugs/1874763

After investigations by Kleber, failure was found to be from a drm driver which
is compiled when CONFIG_DRM_MSM is set.

Information reported from Paul Larson [1]:

We have a cold reboot test in checkbox that seems to be failing with this
kernel. The test runs the following commands to try to trigger a cold reboot:
rtcwake --mode no -s 120 sleep 5 rtcwake -m show sleep 5 dbus-send --system
--print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1
"org.freedesktop.login1.Manager.PowerOff" boolean:true

However, the system never fully reboots. On the serial console, I just see:
...
Press enter to configure.
[ 137.402465] systemd-shutdown[1]: Failed to wait for process: Protocol error
[ 137.406163] systemd-shutdown[1]: Failed to wait for process: Protocol error

I do have the ability to remotely remove power from the device and restore it,
however after doing that, I get an oops on the serial console and the system
never comes up.

[1] https://bugs.launchpad.net/kernel-sru-workflow/+bug/1874763/comments/1

[Test]
Run Certification Testing

The tests are ran only with UC18, so a kernel snap is needed to either build a
new image or promote it to edge.

[Fix]

Revert upstream commits on Bionic/linux:

0519bad6f34f drm/msm: Use the correct dma_sync calls in msm_gem
7318c5ef642b drm/msm: stop abusing dma_map/unmap for cache

[Risk of Regression]

Alternative solutions would need to be found for dma_sync calls in msm_gem and
to avoid abusing dma_map/unmap for cache. The commits both came from upstream
stable.


Changes since v1: fixed cover letter title that was cut off

Kelsey Skunberg (2):
  Revert "drm/msm: Use the correct dma_sync calls in msm_gem"
  Revert "drm/msm: stop abusing dma_map/unmap for cache"

 drivers/gpu/drm/msm/msm_gem.c | 47 ++++-------------------------------
 1 file changed, 5 insertions(+), 42 deletions(-)

Comments

Khalid Elmously May 8, 2020, 9:20 p.m. UTC | #1
On 2020-05-08 15:04:35 , Kelsey Skunberg wrote:
> BugLink: https://bugs.launchpad.net/bugs/1877657
> 
> [SRU Justification]
> 
> [Impact]
> 
> snap certification testing failed with bionic/linux-snapdragon
> 
> https://bugs.launchpad.net/bugs/1874763
> 
> After investigations by Kleber, failure was found to be from a drm driver which
> is compiled when CONFIG_DRM_MSM is set.
> 
> Information reported from Paul Larson [1]:
> 
> We have a cold reboot test in checkbox that seems to be failing with this
> kernel. The test runs the following commands to try to trigger a cold reboot:
> rtcwake --mode no -s 120 sleep 5 rtcwake -m show sleep 5 dbus-send --system
> --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1
> "org.freedesktop.login1.Manager.PowerOff" boolean:true
> 
> However, the system never fully reboots. On the serial console, I just see:
> ...
> Press enter to configure.
> [ 137.402465] systemd-shutdown[1]: Failed to wait for process: Protocol error
> [ 137.406163] systemd-shutdown[1]: Failed to wait for process: Protocol error
> 
> I do have the ability to remotely remove power from the device and restore it,
> however after doing that, I get an oops on the serial console and the system
> never comes up.
> 
> [1] https://bugs.launchpad.net/kernel-sru-workflow/+bug/1874763/comments/1
> 
> [Test]
> Run Certification Testing
> 
> The tests are ran only with UC18, so a kernel snap is needed to either build a
> new image or promote it to edge.
> 
> [Fix]
> 
> Revert upstream commits on Bionic/linux:
> 
> 0519bad6f34f drm/msm: Use the correct dma_sync calls in msm_gem
> 7318c5ef642b drm/msm: stop abusing dma_map/unmap for cache
> 
> [Risk of Regression]
> 
> Alternative solutions would need to be found for dma_sync calls in msm_gem and
> to avoid abusing dma_map/unmap for cache. The commits both came from upstream
> stable.
> 
> 
> Changes since v1: fixed cover letter title that was cut off
> 
> Kelsey Skunberg (2):
>   Revert "drm/msm: Use the correct dma_sync calls in msm_gem"
>   Revert "drm/msm: stop abusing dma_map/unmap for cache"
> 
>  drivers/gpu/drm/msm/msm_gem.c | 47 ++++-------------------------------
>  1 file changed, 5 insertions(+), 42 deletions(-)
>
Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Thadeu Lima de Souza Cascardo May 8, 2020, 11:08 p.m. UTC | #2
Good test results.

Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Kelsey Skunberg May 9, 2020, 12:20 a.m. UTC | #3
Kamal caught that the incorrect upstream commits are referenced and
need to be fixed. sending a v3...

third times the charm, right?

Thank you Cascardo and Khaled for reviewing :)

- Kelsey

On Fri, May 8, 2020 at 3:04 PM Kelsey Skunberg
<kelsey.skunberg@canonical.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/1877657
>
> [SRU Justification]
>
> [Impact]
>
> snap certification testing failed with bionic/linux-snapdragon
>
> https://bugs.launchpad.net/bugs/1874763
>
> After investigations by Kleber, failure was found to be from a drm driver which
> is compiled when CONFIG_DRM_MSM is set.
>
> Information reported from Paul Larson [1]:
>
> We have a cold reboot test in checkbox that seems to be failing with this
> kernel. The test runs the following commands to try to trigger a cold reboot:
> rtcwake --mode no -s 120 sleep 5 rtcwake -m show sleep 5 dbus-send --system
> --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1
> "org.freedesktop.login1.Manager.PowerOff" boolean:true
>
> However, the system never fully reboots. On the serial console, I just see:
> ...
> Press enter to configure.
> [ 137.402465] systemd-shutdown[1]: Failed to wait for process: Protocol error
> [ 137.406163] systemd-shutdown[1]: Failed to wait for process: Protocol error
>
> I do have the ability to remotely remove power from the device and restore it,
> however after doing that, I get an oops on the serial console and the system
> never comes up.
>
> [1] https://bugs.launchpad.net/kernel-sru-workflow/+bug/1874763/comments/1
>
> [Test]
> Run Certification Testing
>
> The tests are ran only with UC18, so a kernel snap is needed to either build a
> new image or promote it to edge.
>
> [Fix]
>
> Revert upstream commits on Bionic/linux:
>
> 0519bad6f34f drm/msm: Use the correct dma_sync calls in msm_gem
> 7318c5ef642b drm/msm: stop abusing dma_map/unmap for cache
>
> [Risk of Regression]
>
> Alternative solutions would need to be found for dma_sync calls in msm_gem and
> to avoid abusing dma_map/unmap for cache. The commits both came from upstream
> stable.
>
>
> Changes since v1: fixed cover letter title that was cut off
>
> Kelsey Skunberg (2):
>   Revert "drm/msm: Use the correct dma_sync calls in msm_gem"
>   Revert "drm/msm: stop abusing dma_map/unmap for cache"
>
>  drivers/gpu/drm/msm/msm_gem.c | 47 ++++-------------------------------
>  1 file changed, 5 insertions(+), 42 deletions(-)
>
> --
> 2.20.1
>