mirror of
https://github.com/torvalds/linux.git
synced 2026-05-13 08:39:31 +02:00
drm/amdgpu: Add VCN v5_0_2
Add support for VCN_5_0_2 v2: squash in RRMT enable bit fix from Sonny (Alex) v3: sqaush in doorbell enablement patch (Alex) v4: drop some bringup leftovers (Alex) Signed-off-by: Sonny Jiang <sonjiang@amd.com> Reviewed-by: Leo Liu <leo.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
49b4b0c6af
commit
8433398c78
|
|
@ -213,6 +213,7 @@ amdgpu-y += \
|
|||
vcn_v4_0_5.o \
|
||||
vcn_v5_0_0.o \
|
||||
vcn_v5_0_1.o \
|
||||
vcn_v5_0_2.o \
|
||||
amdgpu_jpeg.o \
|
||||
jpeg_v1_0.o \
|
||||
jpeg_v2_0.o \
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@
|
|||
#include "smuio_v15_0_8.h"
|
||||
#include "vcn_v5_0_0.h"
|
||||
#include "vcn_v5_0_1.h"
|
||||
#include "vcn_v5_0_2.h"
|
||||
#include "jpeg_v5_0_0.h"
|
||||
#include "jpeg_v5_0_1.h"
|
||||
#include "jpeg_v5_3_0.h"
|
||||
|
|
@ -2649,6 +2650,9 @@ static int amdgpu_discovery_set_mm_ip_blocks(struct amdgpu_device *adev)
|
|||
amdgpu_device_ip_block_add(adev, &vcn_v5_0_1_ip_block);
|
||||
amdgpu_device_ip_block_add(adev, &jpeg_v5_0_1_ip_block);
|
||||
break;
|
||||
case IP_VERSION(5, 0, 2):
|
||||
amdgpu_device_ip_block_add(adev, &vcn_v5_0_2_ip_block);
|
||||
break;
|
||||
default:
|
||||
dev_err(adev->dev,
|
||||
"Failed to add vcn/jpeg ip block(UVD_HWIP:0x%x)\n",
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
#define FIRMWARE_VCN4_0_6_1 "amdgpu/vcn_4_0_6_1.bin"
|
||||
#define FIRMWARE_VCN5_0_0 "amdgpu/vcn_5_0_0.bin"
|
||||
#define FIRMWARE_VCN5_0_1 "amdgpu/vcn_5_0_1.bin"
|
||||
#define FIRMWARE_VCN5_0_2 "amdgpu/vcn_5_0_2.bin"
|
||||
#define FIRMWARE_VCN5_3_0 "amdgpu/vcn_5_3_0.bin"
|
||||
|
||||
MODULE_FIRMWARE(FIRMWARE_RAVEN);
|
||||
|
|
@ -91,6 +92,7 @@ MODULE_FIRMWARE(FIRMWARE_VCN4_0_6);
|
|||
MODULE_FIRMWARE(FIRMWARE_VCN4_0_6_1);
|
||||
MODULE_FIRMWARE(FIRMWARE_VCN5_0_0);
|
||||
MODULE_FIRMWARE(FIRMWARE_VCN5_0_1);
|
||||
MODULE_FIRMWARE(FIRMWARE_VCN5_0_2);
|
||||
MODULE_FIRMWARE(FIRMWARE_VCN5_3_0);
|
||||
|
||||
static void amdgpu_vcn_idle_work_handler(struct work_struct *work);
|
||||
|
|
@ -1095,7 +1097,8 @@ int amdgpu_vcn_unified_ring_test_ib(struct amdgpu_ring *ring, long timeout)
|
|||
long r;
|
||||
|
||||
if ((amdgpu_ip_version(adev, UVD_HWIP, 0) != IP_VERSION(4, 0, 3)) &&
|
||||
(amdgpu_ip_version(adev, UVD_HWIP, 0) != IP_VERSION(5, 0, 1))) {
|
||||
(amdgpu_ip_version(adev, UVD_HWIP, 0) != IP_VERSION(5, 0, 1)) &&
|
||||
(amdgpu_ip_version(adev, UVD_HWIP, 0) != IP_VERSION(5, 0, 2))) {
|
||||
r = amdgpu_vcn_enc_ring_test_ib(ring, timeout);
|
||||
if (r)
|
||||
goto error;
|
||||
|
|
@ -1132,7 +1135,8 @@ void amdgpu_vcn_setup_ucode(struct amdgpu_device *adev, int i)
|
|||
return;
|
||||
|
||||
if ((amdgpu_ip_version(adev, UVD_HWIP, 0) == IP_VERSION(4, 0, 3) ||
|
||||
amdgpu_ip_version(adev, UVD_HWIP, 0) == IP_VERSION(5, 0, 1))
|
||||
amdgpu_ip_version(adev, UVD_HWIP, 0) == IP_VERSION(5, 0, 1) ||
|
||||
amdgpu_ip_version(adev, UVD_HWIP, 0) == IP_VERSION(5, 0, 2))
|
||||
&& (i > 0))
|
||||
return;
|
||||
|
||||
|
|
|
|||
1219
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c
Normal file
1219
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.c
Normal file
File diff suppressed because it is too large
Load Diff
29
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.h
Normal file
29
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_2.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright 2025-2026 Advanced Micro Devices, Inc. All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __VCN_v5_0_2_H__
|
||||
#define __VCN_v5_0_2_H__
|
||||
|
||||
extern const struct amdgpu_ip_block_version vcn_v5_0_2_ip_block;
|
||||
|
||||
#endif /* __VCN_v5_0_2_H__ */
|
||||
Loading…
Reference in New Issue
Block a user