[RFC] Revert "drm/amdgpu/gfx8: Fix SET_RESOURCES packet"
Tom St Denis
tom.stdenis at amd.com
Wed Apr 5 13:14:11 UTC 2017
On 05/04/17 09:06 AM, Alex Deucher wrote:
> On Wed, Apr 5, 2017 at 7:30 AM, Tom St Denis <tom.stdenis at amd.com> wrote:
>> My firmware is
>>
>> fw.VCE == .feature==0 .firmware==0x34040300
>> fw.UVD == .feature==0 .firmware==0x015b0b00
>> fw.MC == .feature==0 .firmware==0x00000000
>> fw.ME == .feature==46 .firmware==0x000000a1
>> fw.PFP == .feature==46 .firmware==0x000000eb
>> fw.CE == .feature==46 .firmware==0x00000086
>> fw.RLC == .feature==1 .firmware==0x0000009c
>> fw.MEC == .feature==46 .firmware==0x000002c1
>> fw.MEC2 == .feature==46 .firmware==0x000002c1
>> fw.SOS == .feature==0 .firmware==0x00000000
>> fw.ASD == .feature==0 .firmware==0x00000000
>> fw.SMC == .feature==0 .firmware==0x00000000
>> fw.SDMA0 == .feature==0 .firmware==0x00000022
>> fw.SDMA1 == .feature==0 .firmware==0x00000022
>>
>> It seems like our all-open is behind what he has for SDMA, SMC, RLC but
>> ahead for others? Bizarre.
>
> Can you try the upstream ucode? That is what Andres is using.
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
Copying the tip of master from that to my /lib/firmware/ results in the
same firmware versions being loaded.
>
> Alex
>
>>
>> Tom
>>
>>
>> On 04/04/17 04:17 PM, Andres Rodriguez wrote:
>>>
>>> This should be the the linux-firmware repository @ commit
>>> 6d3bc8886517d171068fd1263176b8b5c51df204
>>>
>>> I reverted back to that firmware since I didn't want to deal with
>>> possible bugs when testing my patches.
>>>
>>> Regards,
>>> Andres
>>>
>>> On Tue, Apr 4, 2017 at 4:03 PM, Deucher, Alexander
>>> <Alexander.Deucher at amd.com> wrote:
>>>>>
>>>>> -----Original Message-----
>>>>> From: Andres Rodriguez [mailto:andresx7 at gmail.com]
>>>>> Sent: Tuesday, April 04, 2017 4:01 PM
>>>>> To: Tom St Denis; Deucher, Alexander; StDenis, Tom; amd-
>>>>> gfx at lists.freedesktop.org
>>>>> Subject: Re: [RFC] Revert "drm/amdgpu/gfx8: Fix SET_RESOURCES packet"
>>>>>
>>>>> This is my info in case that is useful:
>>>>>
>>>>> umr.version == ea8e49bb15ed
>>>>>
>>>>> fw.VCE == .feature==0 .firmware==0x34040300
>>>>> fw.UVD == .feature==0 .firmware==0x014f1000
>>>>> fw.MC == .feature==0 .firmware==0x00000000
>>>>> fw.ME == .feature==37 .firmware==0x00000094
>>>>> fw.PFP == .feature==37 .firmware==0x000000dc
>>>>> fw.CE == .feature==37 .firmware==0x00000080
>>>>> fw.RLC == .feature==1 .firmware==0x0000010e
>>>>> fw.MEC == .feature==37 .firmware==0x000002a2
>>>>> fw.MEC2 == .feature==37 .firmware==0x000002a2
>>>>> fw.SOS == .feature==0 .firmware==0x00000000
>>>>> fw.ASD == .feature==0 .firmware==0x00000000
>>>>> fw.SMC == .feature==0 .firmware==0x00170f00
>>>>> fw.SDMA0 == .feature==31 .firmware==0x00000036
>>>>> fw.SDMA1 == .feature==0 .firmware==0x00000036
>>>>>
>>>>> asic.instance == 0
>>>>>
>>>>>
>>>>> gfx.max_shader_engines == 4
>>>>> gfx.max_tile_pipes == 8
>>>>> gfx.max_cu_per_sh == 9
>>>>> gfx.max_sh_per_se == 1
>>>>> gfx.max_backends_per_se == 2
>>>>> gfx.max_texture_channel_caches == 8
>>>>> gfx.max_gprs == 256
>>>>> gfx.max_gs_threads == 32
>>>>> gfx.max_hw_contexts == 8
>>>>> gfx.sc_prim_fifo_size_frontend == 32
>>>>> gfx.sc_prim_fifo_size_backend == 256
>>>>> gfx.sc_hiz_tile_fifo_size == 48
>>>>> gfx.sc_earlyz_tile_fifo_size == 304
>>>>> gfx.num_tile_pipes == 8
>>>>> gfx.backend_enable_mask == 255
>>>>> gfx.mem_max_burst_length_bytes == 256
>>>>> gfx.mem_row_size_in_kb == 4
>>>>> gfx.shader_engine_tile_size == 32
>>>>> gfx.num_gpus == 1
>>>>> gfx.multi_gpu_tile_size == 64
>>>>> gfx.mc_arb_ramcfg == 24738
>>>>> gfx.gb_addr_config == 570494979
>>>>> gfx.num_rbs == 8
>>>>> gfx.family = 130, Volcanic Islands
>>>>> gfx.rev_id == 00000001
>>>>> gfx.external_rev_id == 00000051
>>>>> gfx.cg_flags == 003fffcd
>>>>> AMD_CG_SUPPORT_GFX_MGCG
>>>>> AMD_CG_SUPPORT_GFX_CGCG
>>>>> AMD_CG_SUPPORT_GFX_CGLS
>>>>> AMD_CG_SUPPORT_GFX_CP_LS
>>>>> AMD_CG_SUPPORT_GFX_RLC_LS
>>>>> AMD_CG_SUPPORT_MC_LS
>>>>> AMD_CG_SUPPORT_MC_MGCG
>>>>> AMD_CG_SUPPORT_SDMA_LS
>>>>> AMD_CG_SUPPORT_SDMA_MGCG
>>>>> AMD_CG_SUPPORT_BIF_LS
>>>>> AMD_CG_SUPPORT_UVD_MGCG
>>>>> AMD_CG_SUPPORT_VCE_MGCG
>>>>> AMD_CG_SUPPORT_HDP_LS
>>>>> AMD_CG_SUPPORT_HDP_MGCG
>>>>> AMD_CG_SUPPORT_ROM_MGCG
>>>>> gfx.pg_flags == 00000000
>>>>
>>>>
>>>> Is this the stock firmware from upstream or the stuff I pointed you to
>>>> yesterday on my fdo site?
>>>>
>>>> Alex
>>>>
>>>>>
>>>>> Regards,
>>>>> Andres
>>>>>
>>>>> On 2017-04-04 03:59 PM, Tom St Denis wrote:
>>>>>>
>>>>>> I'm using the latest from all open (our internal FC24 repo). I'll
>>>>>> fetch
>>>>>> the exact later with "umr -c".
>>>>>>
>>>>>> Tom
>>>>>>
>>>>>> On Tue, Apr 4, 2017 at 3:48 PM Deucher, Alexander
>>>>>
>>>>> <Alexander.Deucher at amd.com>
>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On
>>>>>
>>>>> Behalf
>>>>>>>>
>>>>>>>> Of Andres Rodriguez
>>>>>>>> Sent: Tuesday, April 04, 2017 3:39 PM
>>>>>>>> To: StDenis, Tom; amd-gfx at lists.freedesktop.org
>>>>>>>> Subject: Re: [RFC] Revert "drm/amdgpu/gfx8: Fix SET_RESOURCES
>>>>>
>>>>> packet"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2017-04-04 08:27 AM, Tom St Denis wrote:
>>>>>>>>>
>>>>>>>>> On 03/04/17 04:25 PM, Andres Rodriguez wrote:
>>>>>>>>>>
>>>>>>>>>> Commit e579f56 results in a KCQ initialization error for polaris10
>>>>>>>>>> cards. Providing the full SET_RESOURCES packet instead of the
>>>>>>>
>>>>>>> truncated
>>>>>>>>>>
>>>>>>>>>> version fixes the problem.
>>>>>>>>>>
>>>>>>>>>> I think this patch may have been one of the stabs at fixing the KCQ
>>>>>>>>>> suspend/resume errors. I *think* it may no longer be needed if that
>>>>>
>>>>> is
>>>>>>>>>>
>>>>>>>>>> the case.
>>>>>>>>>>
>>>>>>>>>> Sending this mostly as an FYI to get the patch removed from the
>>>>>>>
>>>>>>> 4.12-wip
>>>>>>>>>>
>>>>>>>>>> This reverts commit e579f564c333a7eaddf7e12b1b8414410c36e80f.
>>>>>>>>>> ---
>>>>>>>>>> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 6 +++++-
>>>>>>>>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>>>>>>>>>> b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>>>>>>>>>> index 2d8d7bb..4c3bf51 100644
>>>>>>>>>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>>>>>>>>>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>>>>>>>>>> @@ -4647,10 +4647,14 @@ static int gfx_v8_0_kiq_kcq_enable(struct
>>>>>>>>>> amdgpu_device *adev)
>>>>>>>>>> return r;
>>>>>>>>>> }
>>>>>>>>>> /* set resources */
>>>>>>>>>> - amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES,
>>>>>
>>>>> 2));
>>>>>>>>>>
>>>>>>>>>> + amdgpu_ring_write(kiq_ring,
>>>>>
>>>>> PACKET3(PACKET3_SET_RESOURCES,
>>>>>>>>
>>>>>>>> 6));
>>>>>>>>>>
>>>>>>>>>> amdgpu_ring_write(kiq_ring, 0); /* vmid_mask:0
>>>>>>>>>> queue_type:0
>>>>>>>>>> (KIQ) */
>>>>>>>>>> amdgpu_ring_write(kiq_ring, 0x000000FF); /* queue mask lo
>>>>>>>>>> */
>>>>>>>>>> amdgpu_ring_write(kiq_ring, 0); /* queue mask hi */
>>>>>>>>>> + amdgpu_ring_write(kiq_ring, 0); /* gws mask lo */
>>>>>>>>>> + amdgpu_ring_write(kiq_ring, 0); /* gws mask hi */
>>>>>>>>>> + amdgpu_ring_write(kiq_ring, 0); /* oac mask */
>>>>>>>>>> + amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds
>>>>>>>>>> heap
>>>>>>>>>> size:0 */
>>>>>>>>>> for (i = 0; i < adev->gfx.num_compute_rings; i++) {
>>>>>>>>>> struct amdgpu_ring *ring = &adev->gfx.compute_ring[i];
>>>>>>>>>> uint64_t mqd_addr = amdgpu_bo_gpu_offset(ring->mqd_obj);
>>>>>>>>>>
>>>>>>>>> This fixes init issues with my polaris board but there's still a
>>>>>>>>> clock
>>>>>>>>> problem (CP is pegged at 100% as read by umr) resulting in the GPU
>>>>>>>
>>>>>>> clock
>>>>>>>>>
>>>>>>>>> staying at 1200MHz the entire time.
>>>>>>>>>
>>>>>>>> Yeah I sent this out because I was having KCQ init issues on my
>>>>>>>> polaris10 card. However, I'm not seeing the CP pegged at 100% as you
>>>>>>>> mentioned. Everything sitting quietly at 0% here.
>>>>>>>
>>>>>>> Which firmware are you using?
>>>>>>>
>>>>>>> Alex
>>>>>>>
>>>>>>>>
>>>>>>>>> Tom
>>>>>>>>> _______________________________________________
>>>>>>>>> amd-gfx mailing list
>>>>>>>>> amd-gfx at lists.freedesktop.org
>>>>>>>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> amd-gfx mailing list
>>>>>>>> amd-gfx at lists.freedesktop.org
>>>>>>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> amd-gfx mailing list
>>>>>>> amd-gfx at lists.freedesktop.org
>>>>>>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>>>>>>>
>>>>
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list