Merge tag 'amd-drm-fixes-5.9-2020-09-30' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
amd-drm-fixes-5.9-2020-09-30: amdgpu: - Fix potential double free in userptr handling - Sienna Cichlid and Navy Flounder udpates - Add Sienna Cichlid PCI IDs - Drop experimental flag for navi12 - Raven fixes - Renoir fixes - HDCP fix - DCN3 fix for clang and older versions of gcc - Fix a runtime pm refcount issue Signed-off-by: Dave Airlie <airlied@redhat.com> From: Alex Deucher <alexdeucher@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200930161326.4243-1-alexander.deucher@amd.com
This commit is contained in:
Коммит
132d7c8abe
|
@ -80,8 +80,6 @@ MODULE_FIRMWARE("amdgpu/renoir_gpu_info.bin");
|
|||
MODULE_FIRMWARE("amdgpu/navi10_gpu_info.bin");
|
||||
MODULE_FIRMWARE("amdgpu/navi14_gpu_info.bin");
|
||||
MODULE_FIRMWARE("amdgpu/navi12_gpu_info.bin");
|
||||
MODULE_FIRMWARE("amdgpu/sienna_cichlid_gpu_info.bin");
|
||||
MODULE_FIRMWARE("amdgpu/navy_flounder_gpu_info.bin");
|
||||
|
||||
#define AMDGPU_RESUME_MS 2000
|
||||
|
||||
|
@ -1600,6 +1598,8 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
|
|||
case CHIP_CARRIZO:
|
||||
case CHIP_STONEY:
|
||||
case CHIP_VEGA20:
|
||||
case CHIP_SIENNA_CICHLID:
|
||||
case CHIP_NAVY_FLOUNDER:
|
||||
default:
|
||||
return 0;
|
||||
case CHIP_VEGA10:
|
||||
|
@ -1631,12 +1631,6 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
|
|||
case CHIP_NAVI12:
|
||||
chip_name = "navi12";
|
||||
break;
|
||||
case CHIP_SIENNA_CICHLID:
|
||||
chip_name = "sienna_cichlid";
|
||||
break;
|
||||
case CHIP_NAVY_FLOUNDER:
|
||||
chip_name = "navy_flounder";
|
||||
break;
|
||||
}
|
||||
|
||||
snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_gpu_info.bin", chip_name);
|
||||
|
|
|
@ -297,7 +297,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
|
|||
take the current one */
|
||||
if (active && !adev->have_disp_power_ref) {
|
||||
adev->have_disp_power_ref = true;
|
||||
goto out;
|
||||
return ret;
|
||||
}
|
||||
/* if we have no active crtcs, then drop the power ref
|
||||
we got before */
|
||||
|
|
|
@ -1044,8 +1044,16 @@ static const struct pci_device_id pciidlist[] = {
|
|||
{0x1002, 0x1636, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU},
|
||||
|
||||
/* Navi12 */
|
||||
{0x1002, 0x7360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI12|AMD_EXP_HW_SUPPORT},
|
||||
{0x1002, 0x7362, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI12|AMD_EXP_HW_SUPPORT},
|
||||
{0x1002, 0x7360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI12},
|
||||
{0x1002, 0x7362, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_NAVI12},
|
||||
|
||||
/* Sienna_Cichlid */
|
||||
{0x1002, 0x73A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
{0x1002, 0x73A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
{0x1002, 0x73A3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
{0x1002, 0x73AB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
{0x1002, 0x73AE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
{0x1002, 0x73BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
|
||||
|
||||
{0, 0, 0}
|
||||
};
|
||||
|
|
|
@ -1076,6 +1076,7 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_tt *ttm)
|
|||
|
||||
release_sg:
|
||||
kfree(ttm->sg);
|
||||
ttm->sg = NULL;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
|
@ -3595,6 +3595,9 @@ static void gfx_v10_0_check_gfxoff_flag(struct amdgpu_device *adev)
|
|||
if (!gfx_v10_0_navi10_gfxoff_should_enable(adev))
|
||||
adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
|
||||
break;
|
||||
case CHIP_NAVY_FLOUNDER:
|
||||
adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -746,18 +746,18 @@ static void vcn_v3_0_disable_clock_gating(struct amdgpu_device *adev, int inst)
|
|||
| UVD_SUVD_CGC_GATE__IME_HEVC_MASK
|
||||
| UVD_SUVD_CGC_GATE__EFC_MASK
|
||||
| UVD_SUVD_CGC_GATE__SAOE_MASK
|
||||
| 0x08000000
|
||||
| UVD_SUVD_CGC_GATE__SRE_AV1_MASK
|
||||
| UVD_SUVD_CGC_GATE__FBC_PCLK_MASK
|
||||
| UVD_SUVD_CGC_GATE__FBC_CCLK_MASK
|
||||
| 0x40000000
|
||||
| UVD_SUVD_CGC_GATE__SCM_AV1_MASK
|
||||
| UVD_SUVD_CGC_GATE__SMPA_MASK);
|
||||
WREG32_SOC15(VCN, inst, mmUVD_SUVD_CGC_GATE, data);
|
||||
|
||||
data = RREG32_SOC15(VCN, inst, mmUVD_SUVD_CGC_GATE2);
|
||||
data |= (UVD_SUVD_CGC_GATE2__MPBE0_MASK
|
||||
| UVD_SUVD_CGC_GATE2__MPBE1_MASK
|
||||
| 0x00000004
|
||||
| 0x00000008
|
||||
| UVD_SUVD_CGC_GATE2__SIT_AV1_MASK
|
||||
| UVD_SUVD_CGC_GATE2__SDB_AV1_MASK
|
||||
| UVD_SUVD_CGC_GATE2__MPC1_MASK);
|
||||
WREG32_SOC15(VCN, inst, mmUVD_SUVD_CGC_GATE2, data);
|
||||
|
||||
|
@ -776,8 +776,8 @@ static void vcn_v3_0_disable_clock_gating(struct amdgpu_device *adev, int inst)
|
|||
| UVD_SUVD_CGC_CTRL__SMPA_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPBE0_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPBE1_MODE_MASK
|
||||
| 0x00008000
|
||||
| 0x00010000
|
||||
| UVD_SUVD_CGC_CTRL__SIT_AV1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__SDB_AV1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPC1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__FBC_PCLK_MASK
|
||||
| UVD_SUVD_CGC_CTRL__FBC_CCLK_MASK);
|
||||
|
@ -892,8 +892,8 @@ static void vcn_v3_0_enable_clock_gating(struct amdgpu_device *adev, int inst)
|
|||
| UVD_SUVD_CGC_CTRL__SMPA_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPBE0_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPBE1_MODE_MASK
|
||||
| 0x00008000
|
||||
| 0x00010000
|
||||
| UVD_SUVD_CGC_CTRL__SIT_AV1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__SDB_AV1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__MPC1_MODE_MASK
|
||||
| UVD_SUVD_CGC_CTRL__FBC_PCLK_MASK
|
||||
| UVD_SUVD_CGC_CTRL__FBC_CCLK_MASK);
|
||||
|
|
|
@ -604,7 +604,7 @@ struct hdcp_workqueue *hdcp_create_workqueue(struct amdgpu_device *adev, struct
|
|||
int i = 0;
|
||||
|
||||
hdcp_work = kcalloc(max_caps, sizeof(*hdcp_work), GFP_KERNEL);
|
||||
if (hdcp_work == NULL)
|
||||
if (ZERO_OR_NULL_PTR(hdcp_work))
|
||||
return NULL;
|
||||
|
||||
hdcp_work->srm = kcalloc(PSP_HDCP_SRM_FIRST_GEN_MAX_SIZE, sizeof(*hdcp_work->srm), GFP_KERNEL);
|
||||
|
|
|
@ -783,7 +783,6 @@ void rn_clk_mgr_construct(
|
|||
} else {
|
||||
struct clk_log_info log_info = {0};
|
||||
|
||||
clk_mgr->smu_ver = rn_vbios_smu_get_smu_version(clk_mgr);
|
||||
clk_mgr->periodic_retraining_disabled = rn_vbios_smu_is_periodic_retraining_disabled(clk_mgr);
|
||||
|
||||
/* SMU Version 55.51.0 and up no longer have an issue
|
||||
|
|
|
@ -31,9 +31,21 @@ DCN30 = dcn30_init.o dcn30_hubbub.o dcn30_hubp.o dcn30_dpp.o dcn30_optc.o \
|
|||
dcn30_dio_link_encoder.o dcn30_resource.o
|
||||
|
||||
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o := -mhard-float -msse -mpreferred-stack-boundary=4
|
||||
|
||||
ifdef CONFIG_X86
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_resource.o := -mhard-float -msse
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o := -mhard-float -msse
|
||||
endif
|
||||
|
||||
ifdef CONFIG_PPC64
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_resource.o := -mhard-float -maltivec
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o := -mhard-float -maltivec
|
||||
endif
|
||||
|
||||
ifdef CONFIG_ARM64
|
||||
CFLAGS_REMOVE_$(AMDDALPATH)/dc/dcn30/dcn30_resource.o := -mgeneral-regs-only
|
||||
CFLAGS_REMOVE_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o := -mgeneral-regs-only
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
ifeq ($(call cc-ifversion, -lt, 0701, y), y)
|
||||
IS_OLD_GCC = 1
|
||||
|
@ -45,8 +57,10 @@ ifdef IS_OLD_GCC
|
|||
# GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3
|
||||
# (8B stack alignment).
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_resource.o += -mpreferred-stack-boundary=4
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o += -mpreferred-stack-boundary=4
|
||||
else
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_resource.o += -msse2
|
||||
CFLAGS_$(AMDDALPATH)/dc/dcn30/dcn30_optc.o += -msse2
|
||||
endif
|
||||
|
||||
AMD_DAL_DCN30 = $(addprefix $(AMDDALPATH)/dc/dcn30/,$(DCN30))
|
||||
|
|
|
@ -2727,6 +2727,7 @@
|
|||
#define mmDB_STENCIL_WRITE_BASE_DEFAULT 0x00000000
|
||||
#define mmDB_RESERVED_REG_1_DEFAULT 0x00000000
|
||||
#define mmDB_RESERVED_REG_3_DEFAULT 0x00000000
|
||||
#define mmDB_VRS_OVERRIDE_CNTL_DEFAULT 0x00000000
|
||||
#define mmDB_Z_READ_BASE_HI_DEFAULT 0x00000000
|
||||
#define mmDB_STENCIL_READ_BASE_HI_DEFAULT 0x00000000
|
||||
#define mmDB_Z_WRITE_BASE_HI_DEFAULT 0x00000000
|
||||
|
@ -3062,6 +3063,7 @@
|
|||
#define mmPA_SU_OVER_RASTERIZATION_CNTL_DEFAULT 0x00000000
|
||||
#define mmPA_STEREO_CNTL_DEFAULT 0x00000000
|
||||
#define mmPA_STATE_STEREO_X_DEFAULT 0x00000000
|
||||
#define mmPA_CL_VRS_CNTL_DEFAULT 0x00000000
|
||||
#define mmPA_SU_POINT_SIZE_DEFAULT 0x00000000
|
||||
#define mmPA_SU_POINT_MINMAX_DEFAULT 0x00000000
|
||||
#define mmPA_SU_LINE_CNTL_DEFAULT 0x00000000
|
||||
|
|
|
@ -5379,6 +5379,8 @@
|
|||
#define mmDB_RESERVED_REG_1_BASE_IDX 1
|
||||
#define mmDB_RESERVED_REG_3 0x0017
|
||||
#define mmDB_RESERVED_REG_3_BASE_IDX 1
|
||||
#define mmDB_VRS_OVERRIDE_CNTL 0x0019
|
||||
#define mmDB_VRS_OVERRIDE_CNTL_BASE_IDX 1
|
||||
#define mmDB_Z_READ_BASE_HI 0x001a
|
||||
#define mmDB_Z_READ_BASE_HI_BASE_IDX 1
|
||||
#define mmDB_STENCIL_READ_BASE_HI 0x001b
|
||||
|
@ -6049,6 +6051,8 @@
|
|||
#define mmPA_STEREO_CNTL_BASE_IDX 1
|
||||
#define mmPA_STATE_STEREO_X 0x0211
|
||||
#define mmPA_STATE_STEREO_X_BASE_IDX 1
|
||||
#define mmPA_CL_VRS_CNTL 0x0212
|
||||
#define mmPA_CL_VRS_CNTL_BASE_IDX 1
|
||||
#define mmPA_SU_POINT_SIZE 0x0280
|
||||
#define mmPA_SU_POINT_SIZE_BASE_IDX 1
|
||||
#define mmPA_SU_POINT_MINMAX 0x0281
|
||||
|
|
|
@ -9777,6 +9777,7 @@
|
|||
#define DB_EXCEPTION_CONTROL__AUTO_FLUSH_HTILE__SHIFT 0x3
|
||||
#define DB_EXCEPTION_CONTROL__AUTO_FLUSH_QUAD__SHIFT 0x4
|
||||
#define DB_EXCEPTION_CONTROL__FORCE_SUMMARIZE__SHIFT 0x8
|
||||
#define DB_EXCEPTION_CONTROL__FORCE_VRS_RATE_FINE__SHIFT 0x10
|
||||
#define DB_EXCEPTION_CONTROL__DTAG_WATERMARK__SHIFT 0x18
|
||||
#define DB_EXCEPTION_CONTROL__EARLY_Z_PANIC_DISABLE_MASK 0x00000001L
|
||||
#define DB_EXCEPTION_CONTROL__LATE_Z_PANIC_DISABLE_MASK 0x00000002L
|
||||
|
@ -9784,6 +9785,7 @@
|
|||
#define DB_EXCEPTION_CONTROL__AUTO_FLUSH_HTILE_MASK 0x00000008L
|
||||
#define DB_EXCEPTION_CONTROL__AUTO_FLUSH_QUAD_MASK 0x00000010L
|
||||
#define DB_EXCEPTION_CONTROL__FORCE_SUMMARIZE_MASK 0x00000F00L
|
||||
#define DB_EXCEPTION_CONTROL__FORCE_VRS_RATE_FINE_MASK 0x00FF0000L
|
||||
#define DB_EXCEPTION_CONTROL__DTAG_WATERMARK_MASK 0x7F000000L
|
||||
//DB_DFSM_CONFIG
|
||||
#define DB_DFSM_CONFIG__BYPASS_DFSM__SHIFT 0x0
|
||||
|
@ -10076,6 +10078,7 @@
|
|||
#define CB_HW_CONTROL_3__DISABLE_NACK_PROCESSING_CM__SHIFT 0x18
|
||||
#define CB_HW_CONTROL_3__DISABLE_NACK_COLOR_RD_WR_OPT__SHIFT 0x19
|
||||
#define CB_HW_CONTROL_3__DISABLE_BLENDER_CLOCK_GATING__SHIFT 0x1a
|
||||
#define CB_HW_CONTROL_3__DISABLE_DCC_VRS_OPT__SHIFT 0x1c
|
||||
#define CB_HW_CONTROL_3__DISABLE_FMASK_NOFETCH_OPT__SHIFT 0x1e
|
||||
#define CB_HW_CONTROL_3__DISABLE_FMASK_NOFETCH_OPT_BC__SHIFT 0x1f
|
||||
#define CB_HW_CONTROL_3__DISABLE_SLOW_MODE_EMPTY_HALF_QUAD_KILL_MASK 0x00000001L
|
||||
|
@ -10103,12 +10106,15 @@
|
|||
#define CB_HW_CONTROL_3__DISABLE_NACK_PROCESSING_CM_MASK 0x01000000L
|
||||
#define CB_HW_CONTROL_3__DISABLE_NACK_COLOR_RD_WR_OPT_MASK 0x02000000L
|
||||
#define CB_HW_CONTROL_3__DISABLE_BLENDER_CLOCK_GATING_MASK 0x04000000L
|
||||
#define CB_HW_CONTROL_3__DISABLE_DCC_VRS_OPT_MASK 0x10000000L
|
||||
#define CB_HW_CONTROL_3__DISABLE_FMASK_NOFETCH_OPT_MASK 0x40000000L
|
||||
#define CB_HW_CONTROL_3__DISABLE_FMASK_NOFETCH_OPT_BC_MASK 0x80000000L
|
||||
//CB_HW_CONTROL
|
||||
#define CB_HW_CONTROL__ALLOW_MRT_WITH_DUAL_SOURCE__SHIFT 0x0
|
||||
#define CB_HW_CONTROL__DISABLE_VRS_FILLRATE_OPTIMIZATION__SHIFT 0x1
|
||||
#define CB_HW_CONTROL__DISABLE_FILLRATE_OPT_FIX_WITH_CFC__SHIFT 0x3
|
||||
#define CB_HW_CONTROL__DISABLE_POST_DCC_WITH_CFC_FIX__SHIFT 0x4
|
||||
#define CB_HW_CONTROL__DISABLE_COMPRESS_1FRAG_WHEN_VRS_RATE_HINT_EN__SHIFT 0x5
|
||||
#define CB_HW_CONTROL__RMI_CREDITS__SHIFT 0x6
|
||||
#define CB_HW_CONTROL__CHICKEN_BITS__SHIFT 0xc
|
||||
#define CB_HW_CONTROL__DISABLE_FMASK_MULTI_MGCG_DOMAINS__SHIFT 0xf
|
||||
|
@ -10129,8 +10135,10 @@
|
|||
#define CB_HW_CONTROL__DISABLE_CC_IB_SERIALIZER_STATE_OPT__SHIFT 0x1e
|
||||
#define CB_HW_CONTROL__DISABLE_PIXEL_IN_QUAD_FIX_FOR_LINEAR_SURFACE__SHIFT 0x1f
|
||||
#define CB_HW_CONTROL__ALLOW_MRT_WITH_DUAL_SOURCE_MASK 0x00000001L
|
||||
#define CB_HW_CONTROL__DISABLE_VRS_FILLRATE_OPTIMIZATION_MASK 0x00000002L
|
||||
#define CB_HW_CONTROL__DISABLE_FILLRATE_OPT_FIX_WITH_CFC_MASK 0x00000008L
|
||||
#define CB_HW_CONTROL__DISABLE_POST_DCC_WITH_CFC_FIX_MASK 0x00000010L
|
||||
#define CB_HW_CONTROL__DISABLE_COMPRESS_1FRAG_WHEN_VRS_RATE_HINT_EN_MASK 0x00000020L
|
||||
#define CB_HW_CONTROL__RMI_CREDITS_MASK 0x00000FC0L
|
||||
#define CB_HW_CONTROL__CHICKEN_BITS_MASK 0x00007000L
|
||||
#define CB_HW_CONTROL__DISABLE_FMASK_MULTI_MGCG_DOMAINS_MASK 0x00008000L
|
||||
|
@ -19881,6 +19889,7 @@
|
|||
#define DB_RENDER_OVERRIDE2__PRESERVE_SRESULTS__SHIFT 0x16
|
||||
#define DB_RENDER_OVERRIDE2__DISABLE_FAST_PASS__SHIFT 0x17
|
||||
#define DB_RENDER_OVERRIDE2__ALLOW_PARTIAL_RES_HIER_KILL__SHIFT 0x19
|
||||
#define DB_RENDER_OVERRIDE2__FORCE_VRS_RATE_FINE__SHIFT 0x1a
|
||||
#define DB_RENDER_OVERRIDE2__CENTROID_COMPUTATION_MODE__SHIFT 0x1b
|
||||
#define DB_RENDER_OVERRIDE2__PARTIAL_SQUAD_LAUNCH_CONTROL_MASK 0x00000003L
|
||||
#define DB_RENDER_OVERRIDE2__PARTIAL_SQUAD_LAUNCH_COUNTDOWN_MASK 0x0000001CL
|
||||
|
@ -19898,6 +19907,7 @@
|
|||
#define DB_RENDER_OVERRIDE2__PRESERVE_SRESULTS_MASK 0x00400000L
|
||||
#define DB_RENDER_OVERRIDE2__DISABLE_FAST_PASS_MASK 0x00800000L
|
||||
#define DB_RENDER_OVERRIDE2__ALLOW_PARTIAL_RES_HIER_KILL_MASK 0x02000000L
|
||||
#define DB_RENDER_OVERRIDE2__FORCE_VRS_RATE_FINE_MASK 0x04000000L
|
||||
#define DB_RENDER_OVERRIDE2__CENTROID_COMPUTATION_MODE_MASK 0x18000000L
|
||||
//DB_HTILE_DATA_BASE
|
||||
#define DB_HTILE_DATA_BASE__BASE_256B__SHIFT 0x0
|
||||
|
@ -20021,6 +20031,13 @@
|
|||
//DB_RESERVED_REG_3
|
||||
#define DB_RESERVED_REG_3__FIELD_1__SHIFT 0x0
|
||||
#define DB_RESERVED_REG_3__FIELD_1_MASK 0x003FFFFFL
|
||||
//DB_VRS_OVERRIDE_CNTL
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_COMBINER_MODE__SHIFT 0x0
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_X__SHIFT 0x4
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_Y__SHIFT 0x6
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_COMBINER_MODE_MASK 0x00000007L
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_X_MASK 0x00000030L
|
||||
#define DB_VRS_OVERRIDE_CNTL__VRS_OVERRIDE_RATE_Y_MASK 0x000000C0L
|
||||
//DB_Z_READ_BASE_HI
|
||||
#define DB_Z_READ_BASE_HI__BASE_HI__SHIFT 0x0
|
||||
#define DB_Z_READ_BASE_HI__BASE_HI_MASK 0x000000FFL
|
||||
|
@ -22598,6 +22615,7 @@
|
|||
#define PA_CL_VS_OUT_CNTL__VS_OUT_MISC_SIDE_BUS_ENA__SHIFT 0x18
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_GS_CUT_FLAG__SHIFT 0x19
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_LINE_WIDTH__SHIFT 0x1b
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_VRS_RATE__SHIFT 0x1c
|
||||
#define PA_CL_VS_OUT_CNTL__BYPASS_VTX_RATE_COMBINER__SHIFT 0x1d
|
||||
#define PA_CL_VS_OUT_CNTL__BYPASS_PRIM_RATE_COMBINER__SHIFT 0x1e
|
||||
#define PA_CL_VS_OUT_CNTL__CLIP_DIST_ENA_0_MASK 0x00000001L
|
||||
|
@ -22627,6 +22645,7 @@
|
|||
#define PA_CL_VS_OUT_CNTL__VS_OUT_MISC_SIDE_BUS_ENA_MASK 0x01000000L
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_GS_CUT_FLAG_MASK 0x02000000L
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_LINE_WIDTH_MASK 0x08000000L
|
||||
#define PA_CL_VS_OUT_CNTL__USE_VTX_VRS_RATE_MASK 0x10000000L
|
||||
#define PA_CL_VS_OUT_CNTL__BYPASS_VTX_RATE_COMBINER_MASK 0x20000000L
|
||||
#define PA_CL_VS_OUT_CNTL__BYPASS_PRIM_RATE_COMBINER_MASK 0x40000000L
|
||||
//PA_CL_NANINF_CNTL
|
||||
|
@ -22740,6 +22759,19 @@
|
|||
//PA_STATE_STEREO_X
|
||||
#define PA_STATE_STEREO_X__STEREO_X_OFFSET__SHIFT 0x0
|
||||
#define PA_STATE_STEREO_X__STEREO_X_OFFSET_MASK 0xFFFFFFFFL
|
||||
//PA_CL_VRS_CNTL
|
||||
#define PA_CL_VRS_CNTL__VERTEX_RATE_COMBINER_MODE__SHIFT 0x0
|
||||
#define PA_CL_VRS_CNTL__PRIMITIVE_RATE_COMBINER_MODE__SHIFT 0x3
|
||||
#define PA_CL_VRS_CNTL__HTILE_RATE_COMBINER_MODE__SHIFT 0x6
|
||||
#define PA_CL_VRS_CNTL__SAMPLE_ITER_COMBINER_MODE__SHIFT 0x9
|
||||
#define PA_CL_VRS_CNTL__EXPOSE_VRS_PIXELS_MASK__SHIFT 0xd
|
||||
#define PA_CL_VRS_CNTL__CMASK_RATE_HINT_FORCE_ZERO__SHIFT 0xe
|
||||
#define PA_CL_VRS_CNTL__VERTEX_RATE_COMBINER_MODE_MASK 0x00000007L
|
||||
#define PA_CL_VRS_CNTL__PRIMITIVE_RATE_COMBINER_MODE_MASK 0x00000038L
|
||||
#define PA_CL_VRS_CNTL__HTILE_RATE_COMBINER_MODE_MASK 0x000001C0L
|
||||
#define PA_CL_VRS_CNTL__SAMPLE_ITER_COMBINER_MODE_MASK 0x00000E00L
|
||||
#define PA_CL_VRS_CNTL__EXPOSE_VRS_PIXELS_MASK_MASK 0x00002000L
|
||||
#define PA_CL_VRS_CNTL__CMASK_RATE_HINT_FORCE_ZERO_MASK 0x00004000L
|
||||
//PA_SU_POINT_SIZE
|
||||
#define PA_SU_POINT_SIZE__HEIGHT__SHIFT 0x0
|
||||
#define PA_SU_POINT_SIZE__WIDTH__SHIFT 0x10
|
||||
|
@ -23088,6 +23120,7 @@
|
|||
#define DB_HTILE_SURFACE__DST_OUTSIDE_ZERO_TO_ONE__SHIFT 0x10
|
||||
#define DB_HTILE_SURFACE__RESERVED_FIELD_6__SHIFT 0x11
|
||||
#define DB_HTILE_SURFACE__PIPE_ALIGNED__SHIFT 0x12
|
||||
#define DB_HTILE_SURFACE__VRS_HTILE_ENCODING__SHIFT 0x13
|
||||
#define DB_HTILE_SURFACE__RESERVED_FIELD_1_MASK 0x00000001L
|
||||
#define DB_HTILE_SURFACE__FULL_CACHE_MASK 0x00000002L
|
||||
#define DB_HTILE_SURFACE__RESERVED_FIELD_2_MASK 0x00000004L
|
||||
|
@ -23097,6 +23130,7 @@
|
|||
#define DB_HTILE_SURFACE__DST_OUTSIDE_ZERO_TO_ONE_MASK 0x00010000L
|
||||
#define DB_HTILE_SURFACE__RESERVED_FIELD_6_MASK 0x00020000L
|
||||
#define DB_HTILE_SURFACE__PIPE_ALIGNED_MASK 0x00040000L
|
||||
#define DB_HTILE_SURFACE__VRS_HTILE_ENCODING_MASK 0x00180000L
|
||||
//DB_SRESULTS_COMPARE_STATE0
|
||||
#define DB_SRESULTS_COMPARE_STATE0__COMPAREFUNC0__SHIFT 0x0
|
||||
#define DB_SRESULTS_COMPARE_STATE0__COMPAREVALUE0__SHIFT 0x4
|
||||
|
@ -24954,6 +24988,7 @@
|
|||
#define CB_COLOR0_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR0_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR0_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR0_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR0_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR0_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR0_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -24962,6 +24997,7 @@
|
|||
#define CB_COLOR0_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR0_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR0_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR0_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR1_ATTRIB3
|
||||
#define CB_COLOR1_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR1_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -24971,6 +25007,7 @@
|
|||
#define CB_COLOR1_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR1_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR1_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR1_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR1_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR1_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR1_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -24979,6 +25016,7 @@
|
|||
#define CB_COLOR1_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR1_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR1_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR1_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR2_ATTRIB3
|
||||
#define CB_COLOR2_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR2_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -24988,6 +25026,7 @@
|
|||
#define CB_COLOR2_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR2_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR2_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR2_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR2_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR2_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR2_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -24996,6 +25035,7 @@
|
|||
#define CB_COLOR2_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR2_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR2_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR2_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR3_ATTRIB3
|
||||
#define CB_COLOR3_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR3_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -25005,6 +25045,7 @@
|
|||
#define CB_COLOR3_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR3_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR3_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR3_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR3_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR3_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR3_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -25013,6 +25054,7 @@
|
|||
#define CB_COLOR3_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR3_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR3_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR3_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR4_ATTRIB3
|
||||
#define CB_COLOR4_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR4_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -25022,6 +25064,7 @@
|
|||
#define CB_COLOR4_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR4_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR4_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR4_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR4_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR4_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR4_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -25030,6 +25073,7 @@
|
|||
#define CB_COLOR4_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR4_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR4_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR4_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR5_ATTRIB3
|
||||
#define CB_COLOR5_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR5_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -25039,6 +25083,7 @@
|
|||
#define CB_COLOR5_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR5_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR5_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR5_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR5_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR5_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR5_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -25047,6 +25092,7 @@
|
|||
#define CB_COLOR5_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR5_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR5_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR5_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR6_ATTRIB3
|
||||
#define CB_COLOR6_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR6_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -25056,6 +25102,7 @@
|
|||
#define CB_COLOR6_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR6_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR6_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR6_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR6_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR6_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR6_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -25064,6 +25111,7 @@
|
|||
#define CB_COLOR6_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR6_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR6_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR6_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
//CB_COLOR7_ATTRIB3
|
||||
#define CB_COLOR7_ATTRIB3__MIP0_DEPTH__SHIFT 0x0
|
||||
#define CB_COLOR7_ATTRIB3__META_LINEAR__SHIFT 0xd
|
||||
|
@ -25073,6 +25121,7 @@
|
|||
#define CB_COLOR7_ATTRIB3__CMASK_PIPE_ALIGNED__SHIFT 0x1a
|
||||
#define CB_COLOR7_ATTRIB3__RESOURCE_LEVEL__SHIFT 0x1b
|
||||
#define CB_COLOR7_ATTRIB3__DCC_PIPE_ALIGNED__SHIFT 0x1e
|
||||
#define CB_COLOR7_ATTRIB3__VRS_RATE_HINT_ENABLE__SHIFT 0x1f
|
||||
#define CB_COLOR7_ATTRIB3__MIP0_DEPTH_MASK 0x00001FFFL
|
||||
#define CB_COLOR7_ATTRIB3__META_LINEAR_MASK 0x00002000L
|
||||
#define CB_COLOR7_ATTRIB3__COLOR_SW_MODE_MASK 0x0007C000L
|
||||
|
@ -25081,6 +25130,7 @@
|
|||
#define CB_COLOR7_ATTRIB3__CMASK_PIPE_ALIGNED_MASK 0x04000000L
|
||||
#define CB_COLOR7_ATTRIB3__RESOURCE_LEVEL_MASK 0x38000000L
|
||||
#define CB_COLOR7_ATTRIB3__DCC_PIPE_ALIGNED_MASK 0x40000000L
|
||||
#define CB_COLOR7_ATTRIB3__VRS_RATE_HINT_ENABLE_MASK 0x80000000L
|
||||
|
||||
|
||||
// addressBlock: gc_gfxudec
|
||||
|
|
|
@ -2393,6 +2393,7 @@
|
|||
#define VCN_FEATURES__HAS_MJPEG2_IDCT_DEC__SHIFT 0x7
|
||||
#define VCN_FEATURES__HAS_SCLR_DEC__SHIFT 0x8
|
||||
#define VCN_FEATURES__HAS_VP9_DEC__SHIFT 0x9
|
||||
#define VCN_FEATURES__HAS_AV1_DEC__SHIFT 0xa
|
||||
#define VCN_FEATURES__HAS_EFC_ENC__SHIFT 0xb
|
||||
#define VCN_FEATURES__HAS_EFC_HDR2SDR_ENC__SHIFT 0xc
|
||||
#define VCN_FEATURES__HAS_DUAL_MJPEG_DEC__SHIFT 0xd
|
||||
|
@ -2407,6 +2408,7 @@
|
|||
#define VCN_FEATURES__HAS_MJPEG2_IDCT_DEC_MASK 0x00000080L
|
||||
#define VCN_FEATURES__HAS_SCLR_DEC_MASK 0x00000100L
|
||||
#define VCN_FEATURES__HAS_VP9_DEC_MASK 0x00000200L
|
||||
#define VCN_FEATURES__HAS_AV1_DEC_MASK 0x00000400L
|
||||
#define VCN_FEATURES__HAS_EFC_ENC_MASK 0x00000800L
|
||||
#define VCN_FEATURES__HAS_EFC_HDR2SDR_ENC_MASK 0x00001000L
|
||||
#define VCN_FEATURES__HAS_DUAL_MJPEG_DEC_MASK 0x00002000L
|
||||
|
@ -2809,8 +2811,10 @@
|
|||
#define UVD_SUVD_CGC_GATE__IME_HEVC__SHIFT 0x18
|
||||
#define UVD_SUVD_CGC_GATE__EFC__SHIFT 0x19
|
||||
#define UVD_SUVD_CGC_GATE__SAOE__SHIFT 0x1a
|
||||
#define UVD_SUVD_CGC_GATE__SRE_AV1__SHIFT 0x1b
|
||||
#define UVD_SUVD_CGC_GATE__FBC_PCLK__SHIFT 0x1c
|
||||
#define UVD_SUVD_CGC_GATE__FBC_CCLK__SHIFT 0x1d
|
||||
#define UVD_SUVD_CGC_GATE__SCM_AV1__SHIFT 0x1e
|
||||
#define UVD_SUVD_CGC_GATE__SMPA__SHIFT 0x1f
|
||||
#define UVD_SUVD_CGC_GATE__SRE_MASK 0x00000001L
|
||||
#define UVD_SUVD_CGC_GATE__SIT_MASK 0x00000002L
|
||||
|
@ -2839,8 +2843,10 @@
|
|||
#define UVD_SUVD_CGC_GATE__IME_HEVC_MASK 0x01000000L
|
||||
#define UVD_SUVD_CGC_GATE__EFC_MASK 0x02000000L
|
||||
#define UVD_SUVD_CGC_GATE__SAOE_MASK 0x04000000L
|
||||
#define UVD_SUVD_CGC_GATE__SRE_AV1_MASK 0x08000000L
|
||||
#define UVD_SUVD_CGC_GATE__FBC_PCLK_MASK 0x10000000L
|
||||
#define UVD_SUVD_CGC_GATE__FBC_CCLK_MASK 0x20000000L
|
||||
#define UVD_SUVD_CGC_GATE__SCM_AV1_MASK 0x40000000L
|
||||
#define UVD_SUVD_CGC_GATE__SMPA_MASK 0x80000000L
|
||||
//UVD_SUVD_CGC_STATUS
|
||||
#define UVD_SUVD_CGC_STATUS__SRE_VCLK__SHIFT 0x0
|
||||
|
@ -2873,6 +2879,8 @@
|
|||
#define UVD_SUVD_CGC_STATUS__IME_HEVC_DCLK__SHIFT 0x1b
|
||||
#define UVD_SUVD_CGC_STATUS__EFC_DCLK__SHIFT 0x1c
|
||||
#define UVD_SUVD_CGC_STATUS__SAOE_DCLK__SHIFT 0x1d
|
||||
#define UVD_SUVD_CGC_STATUS__SRE_AV1_VCLK__SHIFT 0x1e
|
||||
#define UVD_SUVD_CGC_STATUS__SCM_AV1_DCLK__SHIFT 0x1f
|
||||
#define UVD_SUVD_CGC_STATUS__SRE_VCLK_MASK 0x00000001L
|
||||
#define UVD_SUVD_CGC_STATUS__SRE_DCLK_MASK 0x00000002L
|
||||
#define UVD_SUVD_CGC_STATUS__SIT_DCLK_MASK 0x00000004L
|
||||
|
@ -2903,6 +2911,8 @@
|
|||
#define UVD_SUVD_CGC_STATUS__IME_HEVC_DCLK_MASK 0x08000000L
|
||||
#define UVD_SUVD_CGC_STATUS__EFC_DCLK_MASK 0x10000000L
|
||||
#define UVD_SUVD_CGC_STATUS__SAOE_DCLK_MASK 0x20000000L
|
||||
#define UVD_SUVD_CGC_STATUS__SRE_AV1_VCLK_MASK 0x40000000L
|
||||
#define UVD_SUVD_CGC_STATUS__SCM_AV1_DCLK_MASK 0x80000000L
|
||||
//UVD_SUVD_CGC_CTRL
|
||||
#define UVD_SUVD_CGC_CTRL__SRE_MODE__SHIFT 0x0
|
||||
#define UVD_SUVD_CGC_CTRL__SIT_MODE__SHIFT 0x1
|
||||
|
@ -2919,6 +2929,8 @@
|
|||
#define UVD_SUVD_CGC_CTRL__SMPA_MODE__SHIFT 0xc
|
||||
#define UVD_SUVD_CGC_CTRL__MPBE0_MODE__SHIFT 0xd
|
||||
#define UVD_SUVD_CGC_CTRL__MPBE1_MODE__SHIFT 0xe
|
||||
#define UVD_SUVD_CGC_CTRL__SIT_AV1_MODE__SHIFT 0xf
|
||||
#define UVD_SUVD_CGC_CTRL__SDB_AV1_MODE__SHIFT 0x10
|
||||
#define UVD_SUVD_CGC_CTRL__MPC1_MODE__SHIFT 0x11
|
||||
#define UVD_SUVD_CGC_CTRL__FBC_PCLK__SHIFT 0x1c
|
||||
#define UVD_SUVD_CGC_CTRL__FBC_CCLK__SHIFT 0x1d
|
||||
|
@ -2937,6 +2949,8 @@
|
|||
#define UVD_SUVD_CGC_CTRL__SMPA_MODE_MASK 0x00001000L
|
||||
#define UVD_SUVD_CGC_CTRL__MPBE0_MODE_MASK 0x00002000L
|
||||
#define UVD_SUVD_CGC_CTRL__MPBE1_MODE_MASK 0x00004000L
|
||||
#define UVD_SUVD_CGC_CTRL__SIT_AV1_MODE_MASK 0x00008000L
|
||||
#define UVD_SUVD_CGC_CTRL__SDB_AV1_MODE_MASK 0x00010000L
|
||||
#define UVD_SUVD_CGC_CTRL__MPC1_MODE_MASK 0x00020000L
|
||||
#define UVD_SUVD_CGC_CTRL__FBC_PCLK_MASK 0x10000000L
|
||||
#define UVD_SUVD_CGC_CTRL__FBC_CCLK_MASK 0x20000000L
|
||||
|
@ -3658,6 +3672,8 @@
|
|||
#define UVD_SUVD_CGC_STATUS2__SMPA_VCLK__SHIFT 0x0
|
||||
#define UVD_SUVD_CGC_STATUS2__SMPA_DCLK__SHIFT 0x1
|
||||
#define UVD_SUVD_CGC_STATUS2__MPBE1_DCLK__SHIFT 0x3
|
||||
#define UVD_SUVD_CGC_STATUS2__SIT_AV1_DCLK__SHIFT 0x4
|
||||
#define UVD_SUVD_CGC_STATUS2__SDB_AV1_DCLK__SHIFT 0x5
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_DCLK__SHIFT 0x6
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_SCLK__SHIFT 0x7
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_VCLK__SHIFT 0x8
|
||||
|
@ -3666,6 +3682,8 @@
|
|||
#define UVD_SUVD_CGC_STATUS2__SMPA_VCLK_MASK 0x00000001L
|
||||
#define UVD_SUVD_CGC_STATUS2__SMPA_DCLK_MASK 0x00000002L
|
||||
#define UVD_SUVD_CGC_STATUS2__MPBE1_DCLK_MASK 0x00000008L
|
||||
#define UVD_SUVD_CGC_STATUS2__SIT_AV1_DCLK_MASK 0x00000010L
|
||||
#define UVD_SUVD_CGC_STATUS2__SDB_AV1_DCLK_MASK 0x00000020L
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_DCLK_MASK 0x00000040L
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_SCLK_MASK 0x00000080L
|
||||
#define UVD_SUVD_CGC_STATUS2__MPC1_VCLK_MASK 0x00000100L
|
||||
|
@ -3674,25 +3692,41 @@
|
|||
//UVD_SUVD_CGC_GATE2
|
||||
#define UVD_SUVD_CGC_GATE2__MPBE0__SHIFT 0x0
|
||||
#define UVD_SUVD_CGC_GATE2__MPBE1__SHIFT 0x1
|
||||
#define UVD_SUVD_CGC_GATE2__SIT_AV1__SHIFT 0x2
|
||||
#define UVD_SUVD_CGC_GATE2__SDB_AV1__SHIFT 0x3
|
||||
#define UVD_SUVD_CGC_GATE2__MPC1__SHIFT 0x4
|
||||
#define UVD_SUVD_CGC_GATE2__MPBE0_MASK 0x00000001L
|
||||
#define UVD_SUVD_CGC_GATE2__MPBE1_MASK 0x00000002L
|
||||
#define UVD_SUVD_CGC_GATE2__SIT_AV1_MASK 0x00000004L
|
||||
#define UVD_SUVD_CGC_GATE2__SDB_AV1_MASK 0x00000008L
|
||||
#define UVD_SUVD_CGC_GATE2__MPC1_MASK 0x00000010L
|
||||
//UVD_SUVD_INT_STATUS2
|
||||
#define UVD_SUVD_INT_STATUS2__SMPA_FUNC_INT__SHIFT 0x0
|
||||
#define UVD_SUVD_INT_STATUS2__SMPA_ERR_INT__SHIFT 0x5
|
||||
#define UVD_SUVD_INT_STATUS2__SDB_AV1_FUNC_INT__SHIFT 0x6
|
||||
#define UVD_SUVD_INT_STATUS2__SDB_AV1_ERR_INT__SHIFT 0xb
|
||||
#define UVD_SUVD_INT_STATUS2__SMPA_FUNC_INT_MASK 0x0000001FL
|
||||
#define UVD_SUVD_INT_STATUS2__SMPA_ERR_INT_MASK 0x00000020L
|
||||
#define UVD_SUVD_INT_STATUS2__SDB_AV1_FUNC_INT_MASK 0x000007C0L
|
||||
#define UVD_SUVD_INT_STATUS2__SDB_AV1_ERR_INT_MASK 0x00000800L
|
||||
//UVD_SUVD_INT_EN2
|
||||
#define UVD_SUVD_INT_EN2__SMPA_FUNC_INT_EN__SHIFT 0x0
|
||||
#define UVD_SUVD_INT_EN2__SMPA_ERR_INT_EN__SHIFT 0x5
|
||||
#define UVD_SUVD_INT_EN2__SDB_AV1_FUNC_INT_EN__SHIFT 0x6
|
||||
#define UVD_SUVD_INT_EN2__SDB_AV1_ERR_INT_EN__SHIFT 0xb
|
||||
#define UVD_SUVD_INT_EN2__SMPA_FUNC_INT_EN_MASK 0x0000001FL
|
||||
#define UVD_SUVD_INT_EN2__SMPA_ERR_INT_EN_MASK 0x00000020L
|
||||
#define UVD_SUVD_INT_EN2__SDB_AV1_FUNC_INT_EN_MASK 0x000007C0L
|
||||
#define UVD_SUVD_INT_EN2__SDB_AV1_ERR_INT_EN_MASK 0x00000800L
|
||||
//UVD_SUVD_INT_ACK2
|
||||
#define UVD_SUVD_INT_ACK2__SMPA_FUNC_INT_ACK__SHIFT 0x0
|
||||
#define UVD_SUVD_INT_ACK2__SMPA_ERR_INT_ACK__SHIFT 0x5
|
||||
#define UVD_SUVD_INT_ACK2__SDB_AV1_FUNC_INT_ACK__SHIFT 0x6
|
||||
#define UVD_SUVD_INT_ACK2__SDB_AV1_ERR_INT_ACK__SHIFT 0xb
|
||||
#define UVD_SUVD_INT_ACK2__SMPA_FUNC_INT_ACK_MASK 0x0000001FL
|
||||
#define UVD_SUVD_INT_ACK2__SMPA_ERR_INT_ACK_MASK 0x00000020L
|
||||
#define UVD_SUVD_INT_ACK2__SDB_AV1_FUNC_INT_ACK_MASK 0x000007C0L
|
||||
#define UVD_SUVD_INT_ACK2__SDB_AV1_ERR_INT_ACK_MASK 0x00000800L
|
||||
|
||||
|
||||
// addressBlock: uvd0_ecpudec
|
||||
|
|
|
@ -479,17 +479,6 @@ static int smu_late_init(void *handle)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set initialized values (get from vbios) to dpm tables context such as
|
||||
* gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each
|
||||
* type of clks.
|
||||
*/
|
||||
ret = smu_set_default_dpm_table(smu);
|
||||
if (ret) {
|
||||
dev_err(adev->dev, "Failed to setup default dpm clock tables!\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = smu_populate_umd_state_clk(smu);
|
||||
if (ret) {
|
||||
dev_err(adev->dev, "Failed to populate UMD state clocks!\n");
|
||||
|
@ -984,6 +973,17 @@ static int smu_smc_hw_setup(struct smu_context *smu)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set initialized values (get from vbios) to dpm tables context such as
|
||||
* gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each
|
||||
* type of clks.
|
||||
*/
|
||||
ret = smu_set_default_dpm_table(smu);
|
||||
if (ret) {
|
||||
dev_err(adev->dev, "Failed to setup default dpm clock tables!\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = smu_notify_display_change(smu);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
@ -563,6 +563,8 @@ static int smu10_dpm_force_dpm_level(struct pp_hwmgr *hwmgr,
|
|||
struct smu10_hwmgr *data = hwmgr->backend;
|
||||
uint32_t min_sclk = hwmgr->display_config->min_core_set_clock;
|
||||
uint32_t min_mclk = hwmgr->display_config->min_mem_set_clock/100;
|
||||
uint32_t index_fclk = data->clock_vol_info.vdd_dep_on_fclk->count - 1;
|
||||
uint32_t index_socclk = data->clock_vol_info.vdd_dep_on_socclk->count - 1;
|
||||
|
||||
if (hwmgr->smu_version < 0x1E3700) {
|
||||
pr_info("smu firmware version too old, can not set dpm level\n");
|
||||
|
@ -676,13 +678,13 @@ static int smu10_dpm_force_dpm_level(struct pp_hwmgr *hwmgr,
|
|||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetHardMinFclkByFreq,
|
||||
hwmgr->display_config->num_display > 3 ?
|
||||
SMU10_UMD_PSTATE_PEAK_FCLK :
|
||||
data->clock_vol_info.vdd_dep_on_fclk->entries[0].clk :
|
||||
min_mclk,
|
||||
NULL);
|
||||
|
||||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetHardMinSocclkByFreq,
|
||||
SMU10_UMD_PSTATE_MIN_SOCCLK,
|
||||
data->clock_vol_info.vdd_dep_on_socclk->entries[0].clk,
|
||||
NULL);
|
||||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetHardMinVcn,
|
||||
|
@ -695,11 +697,11 @@ static int smu10_dpm_force_dpm_level(struct pp_hwmgr *hwmgr,
|
|||
NULL);
|
||||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetSoftMaxFclkByFreq,
|
||||
SMU10_UMD_PSTATE_PEAK_FCLK,
|
||||
data->clock_vol_info.vdd_dep_on_fclk->entries[index_fclk].clk,
|
||||
NULL);
|
||||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetSoftMaxSocclkByFreq,
|
||||
SMU10_UMD_PSTATE_PEAK_SOCCLK,
|
||||
data->clock_vol_info.vdd_dep_on_socclk->entries[index_socclk].clk,
|
||||
NULL);
|
||||
smum_send_msg_to_smc_with_parameter(hwmgr,
|
||||
PPSMC_MSG_SetSoftMaxVcn,
|
||||
|
|
|
@ -232,14 +232,16 @@ static int renoir_get_profiling_clk_mask(struct smu_context *smu,
|
|||
*sclk_mask = 0;
|
||||
} else if (level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_MCLK) {
|
||||
if (mclk_mask)
|
||||
*mclk_mask = 0;
|
||||
/* mclk levels are in reverse order */
|
||||
*mclk_mask = NUM_MEMCLK_DPM_LEVELS - 1;
|
||||
} else if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK) {
|
||||
if(sclk_mask)
|
||||
/* The sclk as gfxclk and has three level about max/min/current */
|
||||
*sclk_mask = 3 - 1;
|
||||
|
||||
if(mclk_mask)
|
||||
*mclk_mask = NUM_MEMCLK_DPM_LEVELS - 1;
|
||||
/* mclk levels are in reverse order */
|
||||
*mclk_mask = 0;
|
||||
|
||||
if(soc_mask)
|
||||
*soc_mask = NUM_SOCCLK_DPM_LEVELS - 1;
|
||||
|
@ -333,7 +335,7 @@ static int renoir_get_dpm_ultimate_freq(struct smu_context *smu,
|
|||
case SMU_UCLK:
|
||||
case SMU_FCLK:
|
||||
case SMU_MCLK:
|
||||
ret = renoir_get_dpm_clk_limited(smu, clk_type, 0, min);
|
||||
ret = renoir_get_dpm_clk_limited(smu, clk_type, NUM_MEMCLK_DPM_LEVELS - 1, min);
|
||||
if (ret)
|
||||
goto failed;
|
||||
break;
|
||||
|
|
Загрузка…
Ссылка в новой задаче