[PATCH] drm/amdgpu: disable UVD/VCE for some polaris 12 variants
Christian König
ckoenig.leichtzumerken at gmail.com
Tue Nov 27 09:56:22 UTC 2018
Am 27.11.18 um 02:47 schrieb Zhang, Jerry(Junwei):
> On 11/26/18 5:28 PM, Christian König wrote:
>> Am 26.11.18 um 03:38 schrieb Zhang, Jerry(Junwei):
>>> On 11/24/18 3:32 AM, Deucher, Alexander wrote:
>>>>
>>>> Is this required? Are the harvesting fuses incorrect? If the
>>>> blocks are harvested, we should bail out of the blocks properly
>>>> during init. Also, please make this more explicit if we still need
>>>> it. E.g.,
>>>>
>>>>
>>>
>>> The harvest fuse is indeed disabling UVD and VCE, as it's a mining card.
>>> Then any command to UVD/VCE causing NULL pointer issue, like
>>> amdgpu_test.
>>
>> In this case we should fix the NULL pointer issue instead. Do you
>> have a backtrace for this?
>
> Sorry to miss the detail.
> The NULL pointer is caused by UVD is not initialized as it's disabled
> in VBIOS for this kind of card.
Yeah, but that should be handled correctly.
>
> When cs submit, it will check ring->funcs->parse_cs in
> amdgpu_cs_ib_fill().
> However, uvd_v6_0_early_init() skip the set ring function, as
> CC_HARVEST_FUSES is set UVD/VCE disabled.
> Then the access to UVD/VCE ring's funcs will cause NULL pointer issue.
>
> BTW, Windows driver disables UVD/VCE for it as well.
You are approaching this from the wrong side. The fact that UVD/VCE is
disabled should already be handled correctly.
The problem is rather that in a couple of places (amdgpu_ctx_init for
example) we assume that we have at least one UVD/VCE ring.
Alex is right that checking the fuses should be sufficient and we rather
need to fix the handling here instead of adding another workaround.
Regards,
Christian.
>
> Regards,
> Jerry
>
>>
>> Regards,
>> Christian.
>>
>>>
>>> AFAIW, windows also disable UVD and VCE in initialization.
>>>
>>>> if ((adev->pdev->device == 0x67df) &&
>>>> (adev->pdev->revision == 0xf7)) {
>>>>
>>>> /* Some polaris12 variants don't support UVD/VCE */
>>>>
>>>> } else {
>>>>
>>>> amdgpu_device_ip_block_add(adev, &uvd_v6_3_ip_block);
>>>>
>>>> amdgpu_device_ip_block_add(adev, &vce_v3_4_ip_block);
>>>>
>>>> }
>>>>
>>>>
>>>
>>> OK, will explicit the process.
>>>
>>> Regards,
>>> Jerry
>>>>
>>>> That way if we re-arrange the order later, it will be easier to track.
>>>>
>>>>
>>>> Alex
>>>>
>>>> ------------------------------------------------------------------------
>>>> *From:* amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf
>>>> of Junwei Zhang <Jerry.Zhang at amd.com>
>>>> *Sent:* Friday, November 23, 2018 3:32:27 AM
>>>> *To:* amd-gfx at lists.freedesktop.org
>>>> *Cc:* Zhang, Jerry
>>>> *Subject:* [PATCH] drm/amdgpu: disable UVD/VCE for some polaris 12
>>>> variants
>>>> Some variants don't support UVD and VCE.
>>>>
>>>> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
>>>> ---
>>>> drivers/gpu/drm/amd/amdgpu/vi.c | 4 ++++
>>>> 1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c
>>>> b/drivers/gpu/drm/amd/amdgpu/vi.c
>>>> index f3a4cf1f013a..3338b013ded4 100644
>>>> --- a/drivers/gpu/drm/amd/amdgpu/vi.c
>>>> +++ b/drivers/gpu/drm/amd/amdgpu/vi.c
>>>> @@ -1660,6 +1660,10 @@ int vi_set_ip_blocks(struct amdgpu_device *adev)
>>>> amdgpu_device_ip_block_add(adev, &dce_v11_2_ip_block);
>>>> amdgpu_device_ip_block_add(adev, &gfx_v8_0_ip_block);
>>>> amdgpu_device_ip_block_add(adev, &sdma_v3_1_ip_block);
>>>> + /* Some polaris12 variants don't support UVD/VCE */
>>>> + if ((adev->pdev->device == 0x67df) &&
>>>> + (adev->pdev->revision == 0xf7))
>>>> + break;
>>>> amdgpu_device_ip_block_add(adev, &uvd_v6_3_ip_block);
>>>> amdgpu_device_ip_block_add(adev, &vce_v3_4_ip_block);
>>>> break;
>>>> --
>>>> 2.17.1
>>>>
>>>> _______________________________________________
>>>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20181127/2ddef936/attachment-0001.html>
More information about the amd-gfx
mailing list