OSDN Git Service

drm/amdgpu: fix no full coverage issue for gprs initialization
authorDennis Li <Dennis.Li@amd.com>
Tue, 27 Apr 2021 14:21:03 +0000 (22:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 29 Apr 2021 03:36:05 +0000 (23:36 -0400)
commit0e0036c7d13b945260ff1ce8377eca7ea877c008
treefddc3ae9b30160ec7f8b087c540f2a584492b6af
parent8baa6018b750570e43c160874f754083e7bf7eb4
drm/amdgpu: fix no full coverage issue for gprs initialization

The wave's number per simd in aldebaran is changed to 8, so it is
impossible to use old algorithm to initiate all sgprs with one
threadgroup. The new algorithm firstly use three threadgroups to
initiate most sgprs simultaneously and then use another threadgroup with
4 waves to cover other uninitiated sgprs.

v2:
Add more description about the new algorithm to clear sgprs and add some
comment for shader binaries

Signed-off-by: Dennis Li <Dennis.Li@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c