From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 110674] Crashes / Resets From AMDGPU / Radeon VII Date: Sat, 17 Aug 2019 13:37:15 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0290949404==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id 918546E4FE for ; Sat, 17 Aug 2019 13:37:15 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0290949404== Content-Type: multipart/alternative; boundary="15660490355.BC70a8360.7193" Content-Transfer-Encoding: 7bit --15660490355.BC70a8360.7193 Date: Sat, 17 Aug 2019 13:37:15 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D110674 --- Comment #115 from Tom B --- I should have noted it earlier, but I had already tried reverting both "gol= den values" commits. I've no idea what it does but it didn't fix this crash. One thing that would be insightful would be logging every call to smum_send_msg_to_smc_with_parameter and printing out message/parameter: int smum_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t parameter) { This would cause a very busy log but we could see the last successful messa= ge that was sent and with the same log in 5.0.13 see if there are any obvious differences. It might be that the previous message causes the invalid state= so knowing what that is could lead us towards the solution. I don't think I have time to try it today but if anyone is recompiling the = code adding pr_err("msg: %d / parameter: %d\n", msg, parameter);=20 to this function in smumgr.c would be a useful addition. Also, wants to try re-compiling, here's a quick guide for arch: 1. Get the kernel sources using asp as described here: https://wiki.archlinux.org/index.php/Kernel/Arch_Build_System navigate to t= he created linux/repos/core-x86_64 directory.=20 2. You will need to run makepkg -s once to get it to download the sources. 3. You can set the kernel version in PKGBUILD: e.g. _srcver=3D5.2.7-arch1 or _srcver=3D5.0.13-arch1 4. If you want to revert one or more commits put it in the prepare() block before local src: echo "$_kernelname" > localversion.20-pkgname git revert db64a2f43c1bc22c5ff2d22606000b8c3587d0ec --no-edit git revert f5e79735cab448981e245a41ee6cbebf0e334f61 --no-edit local src It will open your editor, if you don't want to use vi set: 5. For making changes to the code you need to make a patch. Open the src/archlinux-linux directory. The files you're interested in are in drivers/drm/gpu/drm/amd/powerplay likely hwmgr/vega20_hwmgr.c Make your cha= nges to the code. You can't just re-run makepkg as it checks out the original version of the code. After making changes, navigate to the archlinux-linux directory and run git diff > ../../vii.patch 6. Add your patch to PKGBUILD source:=20 source=3D( "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=3Dv$_srcve= r" config # the main kernel config file 60-linux.hook # pacman hook for depmod 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk vii.patch ) 7. I've been cheating with makepkg and getting it to skip hash checks as otherwise you have to generate the sha256sums for each patch you create. Th= is is an extra step that only slows down testing. To compile/install run makep= kg -si --skipinteg Because of the way makepkg works, it keeps the compiled code in the src directory. That means that although the first compile will take a few minut= es, subsequent compiles will be a lot faster as it'll probably only be recompil= ing vega20_hwmgr.c --=20 You are receiving this mail because: You are the assignee for the bug.= --15660490355.BC70a8360.7193 Date: Sat, 17 Aug 2019 13:37:15 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Comm= ent # 115 on bug 11067= 4 from Tom = B
I should have noted it earlier, but I had already tried revert=
ing both "golden
values" commits. I've no idea what it does but it didn't fix this cras=
h.

One thing that would be insightful would be logging every call to
smum_send_msg_to_smc_with_parameter and printing out message/parameter:

int smum_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr,
                                        uint16_t msg, uint32_t parameter)
{

This would cause a very busy log but we could see the last successful messa=
ge
that was sent and with the same log in 5.0.13 see if there are any obvious
differences. It might be that the previous message causes the invalid state=
 so
knowing what that is could lead us towards the solution.

I don't think I have time to try it today but if anyone is recompiling the =
code
adding

pr_err("msg: %d / parameter: %d\n", msg, parameter);=20

to this function in smumgr.c would be a useful addition.

Also, wants to try re-compiling, here's a quick guide for arch:

1. Get the kernel sources using asp as described here:
h=
ttps://wiki.archlinux.org/index.php/Kernel/Arch_Build_System navigate t=
o the
created linux/repos/core-x86_64 directory.=20

2. You will need to run makepkg -s once to get it to download the sources.

3. You can set the kernel version in PKGBUILD: e.g. _srcver=3D5.2.7-arch1 or
_srcver=3D5.0.13-arch1

4. If you want to revert one or more commits put it in the prepare() block
before local src:

  echo "$_kernelname" > localversion.20-pkgname

  git revert db64a2f43c1bc22c5ff2d22606000b8c3587d0ec --no-edit
  git revert f5e79735cab448981e245a41ee6cbebf0e334f61 --no-edit

  local src

It will open your editor, if you don't want to use vi set:


5. For making changes to the code you need to make a patch. Open the
src/archlinux-linux directory. The files you're interested in are in
drivers/drm/gpu/drm/amd/powerplay likely hwmgr/vega20_hwmgr.c Make your cha=
nges
to the code. You can't just re-run makepkg as it checks out the original
version of the code. After making changes, navigate to the archlinux-linux
directory and run git diff > ../../vii.patch

6. Add your patch to PKGBUILD source:=20

source=3D(
  "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=3Dv$_srcv=
er"
  config         # the main kernel config file
  60-linux.hook  # pacman hook for depmod
  90-linux.hook  # pacman hook for initramfs regeneration
  linux.preset   # standard config files for mkinitcpio ramdisk
  vii.patch
)

7. I've been cheating with makepkg and getting it to skip hash checks as
otherwise you have to generate the sha256sums for each patch you create. Th=
is
is an extra step that only slows down testing. To compile/install run makep=
kg
-si --skipinteg

Because of the way makepkg works, it keeps the compiled code in the src
directory. That means that although the first compile will take a few minut=
es,
subsequent compiles will be a lot faster as it'll probably only be recompil=
ing
vega20_hwmgr.c


You are receiving this mail because:
  • You are the assignee for the bug.
= --15660490355.BC70a8360.7193-- --===============0290949404== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0290949404==--