On Mon, Oct 12, 2020 at 09:58:31PM -0400, Ashton Fagg wrote:
> Ashton Fagg <ash...@fagg.id.au> writes:
> 
> > Jonathan:
> >
> > Thanks for your reply.
> >
> > Jonathan Gray <j...@jsg.id.au> writes:
> >
> >> This was really 0x1002:0x15d8 for picasso, amdgpu does not match on 0x1508
> >
> > Ah, yes, you are right.
> >
> >> 6.7 has drm based on linux 4.19.  If you can try a snapshot (which are
> >> post 6.8 at the moment) you will be using a driver based on linux 5.7
> >> and fw_update will fetch more recent firmware.
> >
> > Ok, I will try this and report back.
> >
> > - af
> 
> Ok, so happy to report that `sysupgrade -s` to the current 6.8 snapshot
> does indeed resolve this. X also works fine.
> 
> Inspecting dmesg it does still appear there's a couple of drm related
> errors. I've attached that in case it is of some use.
> 
> Thank you for the help!

So it turns out Ryzen 3 3200U is handled as raven2 in the driver.
We backported support for picasso but not raven2 into the 4.19 drm in
6.7.  At least in this case raven2 shares a pci id with picasso with
raven2 detected based on a revision.

Here is a backport of a linux 5.8 commit for raven2 which should
help, from

commit 6e29c227a4976460ec6d4cc70b998e3a8c30c873
Author: Alex Deucher <alexander.deuc...@amd.com>
Date:   Fri May 15 14:04:17 2020 -0400

    drm/amdgpu: move gpu_info parsing after common early init
    
    We need to get the silicon revision id before we parse
    the firmware in order to load the correct gpu info firmware
    for raven2 variants.
    
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1103
    Acked-by: Christian König <christian.koe...@amd.com>
    Reviewed-by: Evan Quan <evan.q...@amd.com>
    Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>

Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c,v
retrieving revision 1.11
diff -u -p -r1.11 amdgpu_device.c
--- sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c  13 Jul 2020 06:25:17 -0000      
1.11
+++ sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c  13 Oct 2020 03:17:55 -0000
@@ -1767,10 +1767,6 @@ static int amdgpu_device_ip_early_init(s
                return -EINVAL;
        }
 
-       r = amdgpu_device_parse_gpu_info_fw(adev);
-       if (r)
-               return r;
-
        if (amdgpu_discovery && adev->asic_type >= CHIP_NAVI10)
                amdgpu_discovery_get_gfx_info(adev);
 
@@ -1809,6 +1805,10 @@ static int amdgpu_device_ip_early_init(s
                }
                /* get the vbios after the asic_funcs are set up */
                if (adev->ip_blocks[i].version->type == 
AMD_IP_BLOCK_TYPE_COMMON) {
+                       r = amdgpu_device_parse_gpu_info_fw(adev);
+                       if (r)
+                               return r;
+
                        /* Read BIOS */
                        if (!amdgpu_get_bios(adev))
                                return -EINVAL;

Reply via email to