ac/gpu_info: override ib_size_alignment for VCN_DEC and JPEG

With the commit 4f660f99 ("ac/gpu_info: pad IBs according to ib_size_alignment"),
we found kernel isn't reporting ib_base/size_alignment correctly, thus causing
VCN_DEC and JPEG functions broken. We will fix the kernel and bump the kernel
version, and now for the older kernel, we need this override.

closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9916

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25511>
This commit is contained in:
Leo Liu 2023-10-02 22:32:26 -04:00 committed by Marge Bot
parent f0762f003d
commit 867a995ce7

View file

@ -681,6 +681,14 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
info->ip[ip_type].ib_base_alignment = ip_info.ib_start_alignment;
info->ip[ip_type].ib_size_alignment = ip_info.ib_size_alignment;
/* Override ib_base/size_alignment for VCN_DEC and JPEG, after the kernel fixed,
* here will be adding kernel version check for the old kernel.
*/
if (ip_type == AMD_IP_VCN_DEC || ip_type == AMD_IP_VCN_JPEG) {
info->ip[ip_type].ib_base_alignment = 64;
info->ip[ip_type].ib_size_alignment = 64;
}
/* I guess we must align IBs due to caching on GFX9. This fixes a hang. */
if ((ip_type == AMD_IP_GFX || ip_type == AMD_IP_COMPUTE) &&
info->ip[ip_type].ver_major == 9) {