patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	Mario Limonciello <mario.limonciello@amd.com>,
	Evan Quan <evan.quan@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>
Subject: [PATCH 6.1 039/149] drm/amd/pm: fulfill powerplay peak profiling mode shader/memory clock settings
Date: Sun, 13 Aug 2023 23:18:04 +0200	[thread overview]
Message-ID: <20230813211719.976702716@linuxfoundation.org> (raw)
In-Reply-To: <20230813211718.757428827@linuxfoundation.org>

From: Evan Quan <evan.quan@amd.com>

commit b1a9557a7d00c758ed9e701fbb3445a13a49506f upstream

Enable peak profiling mode shader/memory clock reporting for powerplay
framework.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c      |   10 +-
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c  |   16 +++
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c   |   76 ++++++++++++++----
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c   |   16 +++
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c |   31 ++++++-
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega12_hwmgr.c |   22 +++++
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c |   20 +---
 drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h          |    2 
 8 files changed, 155 insertions(+), 38 deletions(-)

--- a/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
@@ -769,10 +769,16 @@ static int pp_dpm_read_sensor(void *hand
 
 	switch (idx) {
 	case AMDGPU_PP_SENSOR_STABLE_PSTATE_SCLK:
-		*((uint32_t *)value) = hwmgr->pstate_sclk;
+		*((uint32_t *)value) = hwmgr->pstate_sclk * 100;
 		return 0;
 	case AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK:
-		*((uint32_t *)value) = hwmgr->pstate_mclk;
+		*((uint32_t *)value) = hwmgr->pstate_mclk * 100;
+		return 0;
+	case AMDGPU_PP_SENSOR_PEAK_PSTATE_SCLK:
+		*((uint32_t *)value) = hwmgr->pstate_sclk_peak * 100;
+		return 0;
+	case AMDGPU_PP_SENSOR_PEAK_PSTATE_MCLK:
+		*((uint32_t *)value) = hwmgr->pstate_mclk_peak * 100;
 		return 0;
 	case AMDGPU_PP_SENSOR_MIN_FAN_RPM:
 		*((uint32_t *)value) = hwmgr->thermal_controller.fanInfo.ulMinRPM;
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
@@ -375,6 +375,17 @@ static int smu10_enable_gfx_off(struct p
 	return 0;
 }
 
+static void smu10_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
+{
+	hwmgr->pstate_sclk = SMU10_UMD_PSTATE_GFXCLK;
+	hwmgr->pstate_mclk = SMU10_UMD_PSTATE_FCLK;
+
+	smum_send_msg_to_smc(hwmgr,
+			     PPSMC_MSG_GetMaxGfxclkFrequency,
+			     &hwmgr->pstate_sclk_peak);
+	hwmgr->pstate_mclk_peak = SMU10_UMD_PSTATE_PEAK_FCLK;
+}
+
 static int smu10_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 {
 	struct amdgpu_device *adev = hwmgr->adev;
@@ -398,6 +409,8 @@ static int smu10_enable_dpm_tasks(struct
 			return ret;
 	}
 
+	smu10_populate_umdpstate_clocks(hwmgr);
+
 	return 0;
 }
 
@@ -574,9 +587,6 @@ static int smu10_hwmgr_backend_init(stru
 
 	hwmgr->platform_descriptor.minimumClocksReductionPercentage = 50;
 
-	hwmgr->pstate_sclk = SMU10_UMD_PSTATE_GFXCLK * 100;
-	hwmgr->pstate_mclk = SMU10_UMD_PSTATE_FCLK * 100;
-
 	/* enable the pp_od_clk_voltage sysfs file */
 	hwmgr->od_enabled = 1;
 	/* disabled fine grain tuning function by default */
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c
@@ -1501,6 +1501,65 @@ static int smu7_populate_edc_leakage_reg
 	return ret;
 }
 
+static void smu7_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
+{
+	struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
+	struct smu7_dpm_table *golden_dpm_table = &data->golden_dpm_table;
+	struct phm_clock_voltage_dependency_table *vddc_dependency_on_sclk =
+			hwmgr->dyn_state.vddc_dependency_on_sclk;
+	struct phm_ppt_v1_information *table_info =
+			(struct phm_ppt_v1_information *)(hwmgr->pptable);
+	struct phm_ppt_v1_clock_voltage_dependency_table *vdd_dep_on_sclk =
+			table_info->vdd_dep_on_sclk;
+	int32_t tmp_sclk, count, percentage;
+
+	if (golden_dpm_table->mclk_table.count == 1) {
+		percentage = 70;
+		hwmgr->pstate_mclk = golden_dpm_table->mclk_table.dpm_levels[0].value;
+	} else {
+		percentage = 100 * golden_dpm_table->sclk_table.dpm_levels[golden_dpm_table->sclk_table.count - 1].value /
+				golden_dpm_table->mclk_table.dpm_levels[golden_dpm_table->mclk_table.count - 1].value;
+		hwmgr->pstate_mclk = golden_dpm_table->mclk_table.dpm_levels[golden_dpm_table->mclk_table.count - 2].value;
+	}
+
+	tmp_sclk = hwmgr->pstate_mclk * percentage / 100;
+
+	if (hwmgr->pp_table_version == PP_TABLE_V0) {
+		for (count = vddc_dependency_on_sclk->count - 1; count >= 0; count--) {
+			if (tmp_sclk >= vddc_dependency_on_sclk->entries[count].clk) {
+				hwmgr->pstate_sclk = vddc_dependency_on_sclk->entries[count].clk;
+				break;
+			}
+		}
+		if (count < 0)
+			hwmgr->pstate_sclk = vddc_dependency_on_sclk->entries[0].clk;
+
+		hwmgr->pstate_sclk_peak =
+			vddc_dependency_on_sclk->entries[vddc_dependency_on_sclk->count - 1].clk;
+	} else if (hwmgr->pp_table_version == PP_TABLE_V1) {
+		for (count = vdd_dep_on_sclk->count - 1; count >= 0; count--) {
+			if (tmp_sclk >= vdd_dep_on_sclk->entries[count].clk) {
+				hwmgr->pstate_sclk = vdd_dep_on_sclk->entries[count].clk;
+				break;
+			}
+		}
+		if (count < 0)
+			hwmgr->pstate_sclk = vdd_dep_on_sclk->entries[0].clk;
+
+		hwmgr->pstate_sclk_peak =
+			vdd_dep_on_sclk->entries[vdd_dep_on_sclk->count - 1].clk;
+	}
+
+	hwmgr->pstate_mclk_peak =
+		golden_dpm_table->mclk_table.dpm_levels[golden_dpm_table->mclk_table.count - 1].value;
+
+	/* make sure the output is in Mhz */
+	hwmgr->pstate_sclk /= 100;
+	hwmgr->pstate_mclk /= 100;
+	hwmgr->pstate_sclk_peak /= 100;
+	hwmgr->pstate_mclk_peak /= 100;
+}
+
 static int smu7_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 {
 	int tmp_result = 0;
@@ -1625,6 +1684,8 @@ static int smu7_enable_dpm_tasks(struct
 	PP_ASSERT_WITH_CODE((0 == tmp_result),
 			"pcie performance request failed!", result = tmp_result);
 
+	smu7_populate_umdpstate_clocks(hwmgr);
+
 	return 0;
 }
 
@@ -3143,15 +3204,12 @@ static int smu7_get_profiling_clk(struct
 		for (count = hwmgr->dyn_state.vddc_dependency_on_sclk->count-1;
 			count >= 0; count--) {
 			if (tmp_sclk >= hwmgr->dyn_state.vddc_dependency_on_sclk->entries[count].clk) {
-				tmp_sclk = hwmgr->dyn_state.vddc_dependency_on_sclk->entries[count].clk;
 				*sclk_mask = count;
 				break;
 			}
 		}
-		if (count < 0 || level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK) {
+		if (count < 0 || level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK)
 			*sclk_mask = 0;
-			tmp_sclk = hwmgr->dyn_state.vddc_dependency_on_sclk->entries[0].clk;
-		}
 
 		if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK)
 			*sclk_mask = hwmgr->dyn_state.vddc_dependency_on_sclk->count-1;
@@ -3161,15 +3219,12 @@ static int smu7_get_profiling_clk(struct
 
 		for (count = table_info->vdd_dep_on_sclk->count-1; count >= 0; count--) {
 			if (tmp_sclk >= table_info->vdd_dep_on_sclk->entries[count].clk) {
-				tmp_sclk = table_info->vdd_dep_on_sclk->entries[count].clk;
 				*sclk_mask = count;
 				break;
 			}
 		}
-		if (count < 0 || level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK) {
+		if (count < 0 || level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK)
 			*sclk_mask = 0;
-			tmp_sclk =  table_info->vdd_dep_on_sclk->entries[0].clk;
-		}
 
 		if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK)
 			*sclk_mask = table_info->vdd_dep_on_sclk->count - 1;
@@ -3181,8 +3236,6 @@ static int smu7_get_profiling_clk(struct
 		*mclk_mask = golden_dpm_table->mclk_table.count - 1;
 
 	*pcie_mask = data->dpm_table.pcie_speed_table.count - 1;
-	hwmgr->pstate_sclk = tmp_sclk;
-	hwmgr->pstate_mclk = tmp_mclk;
 
 	return 0;
 }
@@ -3195,9 +3248,6 @@ static int smu7_force_dpm_level(struct p
 	uint32_t mclk_mask = 0;
 	uint32_t pcie_mask = 0;
 
-	if (hwmgr->pstate_sclk == 0)
-		smu7_get_profiling_clk(hwmgr, level, &sclk_mask, &mclk_mask, &pcie_mask);
-
 	switch (level) {
 	case AMD_DPM_FORCED_LEVEL_HIGH:
 		ret = smu7_force_dpm_highest(hwmgr);
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
@@ -1016,6 +1016,18 @@ static void smu8_reset_acp_boot_level(st
 	data->acp_boot_level = 0xff;
 }
 
+static void smu8_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
+{
+	struct phm_clock_voltage_dependency_table *table =
+				hwmgr->dyn_state.vddc_dependency_on_sclk;
+
+	hwmgr->pstate_sclk = table->entries[0].clk / 100;
+	hwmgr->pstate_mclk = 0;
+
+	hwmgr->pstate_sclk_peak = table->entries[table->count - 1].clk / 100;
+	hwmgr->pstate_mclk_peak = 0;
+}
+
 static int smu8_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 {
 	smu8_program_voting_clients(hwmgr);
@@ -1024,6 +1036,8 @@ static int smu8_enable_dpm_tasks(struct
 	smu8_program_bootup_state(hwmgr);
 	smu8_reset_acp_boot_level(hwmgr);
 
+	smu8_populate_umdpstate_clocks(hwmgr);
+
 	return 0;
 }
 
@@ -1167,8 +1181,6 @@ static int smu8_phm_unforce_dpm_levels(s
 
 	data->sclk_dpm.soft_min_clk = table->entries[0].clk;
 	data->sclk_dpm.hard_min_clk = table->entries[0].clk;
-	hwmgr->pstate_sclk = table->entries[0].clk;
-	hwmgr->pstate_mclk = 0;
 
 	level = smu8_get_max_sclk_level(hwmgr) - 1;
 
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c
@@ -3008,6 +3008,30 @@ static int vega10_enable_disable_PCC_lim
 	return 0;
 }
 
+static void vega10_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
+{
+	struct phm_ppt_v2_information *table_info =
+			(struct phm_ppt_v2_information *)(hwmgr->pptable);
+
+	if (table_info->vdd_dep_on_sclk->count > VEGA10_UMD_PSTATE_GFXCLK_LEVEL &&
+	    table_info->vdd_dep_on_mclk->count > VEGA10_UMD_PSTATE_MCLK_LEVEL) {
+		hwmgr->pstate_sclk = table_info->vdd_dep_on_sclk->entries[VEGA10_UMD_PSTATE_GFXCLK_LEVEL].clk;
+		hwmgr->pstate_mclk = table_info->vdd_dep_on_mclk->entries[VEGA10_UMD_PSTATE_MCLK_LEVEL].clk;
+	} else {
+		hwmgr->pstate_sclk = table_info->vdd_dep_on_sclk->entries[0].clk;
+		hwmgr->pstate_mclk = table_info->vdd_dep_on_mclk->entries[0].clk;
+	}
+
+	hwmgr->pstate_sclk_peak = table_info->vdd_dep_on_sclk->entries[table_info->vdd_dep_on_sclk->count - 1].clk;
+	hwmgr->pstate_mclk_peak = table_info->vdd_dep_on_mclk->entries[table_info->vdd_dep_on_mclk->count - 1].clk;
+
+	/* make sure the output is in Mhz */
+	hwmgr->pstate_sclk /= 100;
+	hwmgr->pstate_mclk /= 100;
+	hwmgr->pstate_sclk_peak /= 100;
+	hwmgr->pstate_mclk_peak /= 100;
+}
+
 static int vega10_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 {
 	struct vega10_hwmgr *data = hwmgr->backend;
@@ -3082,6 +3106,8 @@ static int vega10_enable_dpm_tasks(struc
 				    result = tmp_result);
 	}
 
+	vega10_populate_umdpstate_clocks(hwmgr);
+
 	return result;
 }
 
@@ -4169,8 +4195,6 @@ static int vega10_get_profiling_clk_mask
 		*sclk_mask = VEGA10_UMD_PSTATE_GFXCLK_LEVEL;
 		*soc_mask = VEGA10_UMD_PSTATE_SOCCLK_LEVEL;
 		*mclk_mask = VEGA10_UMD_PSTATE_MCLK_LEVEL;
-		hwmgr->pstate_sclk = table_info->vdd_dep_on_sclk->entries[VEGA10_UMD_PSTATE_GFXCLK_LEVEL].clk;
-		hwmgr->pstate_mclk = table_info->vdd_dep_on_mclk->entries[VEGA10_UMD_PSTATE_MCLK_LEVEL].clk;
 	}
 
 	if (level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK) {
@@ -4281,9 +4305,6 @@ static int vega10_dpm_force_dpm_level(st
 	uint32_t mclk_mask = 0;
 	uint32_t soc_mask = 0;
 
-	if (hwmgr->pstate_sclk == 0)
-		vega10_get_profiling_clk_mask(hwmgr, level, &sclk_mask, &mclk_mask, &soc_mask);
-
 	switch (level) {
 	case AMD_DPM_FORCED_LEVEL_HIGH:
 		ret = vega10_force_dpm_highest(hwmgr);
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega12_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega12_hwmgr.c
@@ -1026,6 +1026,25 @@ static int vega12_get_all_clock_ranges(s
 	return 0;
 }
 
+static void vega12_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
+{
+	struct vega12_hwmgr *data = (struct vega12_hwmgr *)(hwmgr->backend);
+	struct vega12_single_dpm_table *gfx_dpm_table = &(data->dpm_table.gfx_table);
+	struct vega12_single_dpm_table *mem_dpm_table = &(data->dpm_table.mem_table);
+
+	if (gfx_dpm_table->count > VEGA12_UMD_PSTATE_GFXCLK_LEVEL &&
+	    mem_dpm_table->count > VEGA12_UMD_PSTATE_MCLK_LEVEL) {
+		hwmgr->pstate_sclk = gfx_dpm_table->dpm_levels[VEGA12_UMD_PSTATE_GFXCLK_LEVEL].value;
+		hwmgr->pstate_mclk = mem_dpm_table->dpm_levels[VEGA12_UMD_PSTATE_MCLK_LEVEL].value;
+	} else {
+		hwmgr->pstate_sclk = gfx_dpm_table->dpm_levels[0].value;
+		hwmgr->pstate_mclk = mem_dpm_table->dpm_levels[0].value;
+	}
+
+	hwmgr->pstate_sclk_peak = gfx_dpm_table->dpm_levels[gfx_dpm_table->count].value;
+	hwmgr->pstate_mclk_peak = mem_dpm_table->dpm_levels[mem_dpm_table->count].value;
+}
+
 static int vega12_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
 {
 	int tmp_result, result = 0;
@@ -1077,6 +1096,9 @@ static int vega12_enable_dpm_tasks(struc
 	PP_ASSERT_WITH_CODE(!result,
 			"Failed to setup default DPM tables!",
 			return result);
+
+	vega12_populate_umdpstate_clocks(hwmgr);
+
 	return result;
 }
 
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c
@@ -1555,26 +1555,23 @@ static int vega20_set_mclk_od(
 	return 0;
 }
 
-static int vega20_populate_umdpstate_clocks(
-		struct pp_hwmgr *hwmgr)
+static void vega20_populate_umdpstate_clocks(struct pp_hwmgr *hwmgr)
 {
 	struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr->backend);
 	struct vega20_single_dpm_table *gfx_table = &(data->dpm_table.gfx_table);
 	struct vega20_single_dpm_table *mem_table = &(data->dpm_table.mem_table);
 
-	hwmgr->pstate_sclk = gfx_table->dpm_levels[0].value;
-	hwmgr->pstate_mclk = mem_table->dpm_levels[0].value;
-
 	if (gfx_table->count > VEGA20_UMD_PSTATE_GFXCLK_LEVEL &&
 	    mem_table->count > VEGA20_UMD_PSTATE_MCLK_LEVEL) {
 		hwmgr->pstate_sclk = gfx_table->dpm_levels[VEGA20_UMD_PSTATE_GFXCLK_LEVEL].value;
 		hwmgr->pstate_mclk = mem_table->dpm_levels[VEGA20_UMD_PSTATE_MCLK_LEVEL].value;
+	} else {
+		hwmgr->pstate_sclk = gfx_table->dpm_levels[0].value;
+		hwmgr->pstate_mclk = mem_table->dpm_levels[0].value;
 	}
 
-	hwmgr->pstate_sclk = hwmgr->pstate_sclk * 100;
-	hwmgr->pstate_mclk = hwmgr->pstate_mclk * 100;
-
-	return 0;
+	hwmgr->pstate_sclk_peak = gfx_table->dpm_levels[gfx_table->count - 1].value;
+	hwmgr->pstate_mclk_peak = mem_table->dpm_levels[mem_table->count - 1].value;
 }
 
 static int vega20_get_max_sustainable_clock(struct pp_hwmgr *hwmgr,
@@ -1753,10 +1750,7 @@ static int vega20_enable_dpm_tasks(struc
 			"[EnableDPMTasks] Failed to initialize odn settings!",
 			return result);
 
-	result = vega20_populate_umdpstate_clocks(hwmgr);
-	PP_ASSERT_WITH_CODE(!result,
-			"[EnableDPMTasks] Failed to populate umdpstate clocks!",
-			return result);
+	vega20_populate_umdpstate_clocks(hwmgr);
 
 	result = smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_GetPptLimit,
 			POWER_SOURCE_AC << 16, &hwmgr->default_power_limit);
--- a/drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h
+++ b/drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h
@@ -809,6 +809,8 @@ struct pp_hwmgr {
 	uint32_t workload_prority[Workload_Policy_Max];
 	uint32_t workload_setting[Workload_Policy_Max];
 	bool gfxoff_state_changed_by_workload;
+	uint32_t pstate_sclk_peak;
+	uint32_t pstate_mclk_peak;
 };
 
 int hwmgr_early_init(struct pp_hwmgr *hwmgr);



  parent reply	other threads:[~2023-08-13 21:34 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-13 21:17 [PATCH 6.1 000/149] 6.1.46-rc1 review Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 001/149] gcc-plugins: Reorganize gimple includes for GCC 13 Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 002/149] Revert "loongarch/cpu: Switch to arch_cpu_finalize_init()" Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 003/149] tpm: Disable RNG for all AMD fTPMs Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 004/149] tpm: Add a helper for checking hwrng enabled Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 005/149] ksmbd: validate command request size Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 006/149] ksmbd: fix wrong next length validation of ea buffer in smb2_set_ea() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 007/149] KVM: SEV: snapshot the GHCB before accessing it Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 008/149] KVM: SEV: only access GHCB fields once Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 009/149] wifi: nl80211: fix integer overflow in nl80211_parse_mbssid_elems() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 010/149] wifi: rtw89: fix 8852AE disconnection caused by RX full flags Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 011/149] selftests: forwarding: Set default IPv6 traceroute utility Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 012/149] wireguard: allowedips: expand maximum node depth Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 013/149] mmc: moxart: read scr register without changing byte order Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 014/149] ipv6: adjust ndisc_is_useropt() to also return true for PIO Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 015/149] selftests: mptcp: join: fix delete and re-add test Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 016/149] selftests: mptcp: join: fix implicit EP test Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 017/149] mptcp: avoid bogus reset on fallback close Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 018/149] mptcp: fix disconnect vs accept race Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 019/149] dmaengine: pl330: Return DMA_PAUSED when transaction is paused Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 020/149] net: mana: Fix MANA VF unload when hardware is unresponsive Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 021/149] riscv/kexec: load initrd high in available memory Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 022/149] riscv,mmio: Fix readX()-to-delay() ordering Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 023/149] riscv/kexec: handle R_RISCV_CALL_PLT relocation type Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 024/149] nvme-pci: add NVME_QUIRK_BOGUS_NID for Samsung PM9B1 256G and 512G Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 025/149] drm/nouveau/gr: enable memory loads on helper invocation on all channels Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 026/149] drm/nouveau/nvkm/dp: Add workaround to fix DP 1.3+ DPCD issues Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 027/149] drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 028/149] drm/amdgpu: fix possible UAF in amdgpu_cs_pass1() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 029/149] drm/amd/display: check attr flag before set cursor degamma on DCN3+ Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 030/149] drm/amdgpu: add S/G display parameter Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 031/149] drm/amd: Disable S/G for APUs when 64GB or more host memory Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 032/149] drm/amd/display: limit DPIA link rate to HBR3 Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 033/149] cpuidle: dt_idle_genpd: Add helper function to remove genpd topology Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 034/149] hwmon: (pmbus/bel-pfe) Enable PMBUS_SKIP_STATUS_CHECK for pfe1100 Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 035/149] radix tree test suite: fix incorrect allocation size for pthreads Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 036/149] nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 037/149] drm/amd/pm: fulfill swsmu peak profiling mode shader/memory clock settings Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 038/149] drm/amd/pm: expose swctf threshold setting for legacy powerplay Greg Kroah-Hartman
2023-08-13 21:18 ` Greg Kroah-Hartman [this message]
2023-08-13 21:18 ` [PATCH 6.1 040/149] drm/amd/pm: avoid unintentional shutdown due to temperature momentary fluctuation Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 041/149] drm/amd/display: Handle virtual hardware detect Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 042/149] drm/amd/display: Add function for validate and update new stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 043/149] drm/amd/display: Handle seamless boot stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 044/149] drm/amd/display: Update OTG instance in the commit stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 045/149] drm/amd/display: Avoid ABM when ODM combine is enabled for eDP Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 046/149] drm/amd/display: Use update plane and stream routine for DCN32x Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 047/149] drm/amd/display: Disable phantom OTG after enable for plane disable Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 048/149] drm/amd/display: Retain phantom plane/stream if validation fails Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 049/149] drm/amd/display: fix the build when DRM_AMD_DC_DCN is not set Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 050/149] drm/amd/display: trigger timing sync only if TG is running Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 051/149] io_uring: correct check for O_TMPFILE Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 052/149] iio: cros_ec: Fix the allocation size for cros_ec_command Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 053/149] iio: frequency: admv1013: propagate errors from regulator_get_voltage() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 054/149] iio: adc: ad7192: Fix ac excitation feature Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 055/149] iio: adc: ina2xx: avoid NULL pointer dereference on OF device match Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 056/149] binder: fix memory leak in binder_init() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 057/149] misc: rtsx: judge ASPM Mode to set PETXCFG Reg Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 058/149] usb-storage: alauda: Fix uninit-value in alauda_check_media() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 059/149] usb: dwc3: Properly handle processing of pending events Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 060/149] USB: Gadget: core: Help prevent panic during UVC unconfigure Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 061/149] usb: common: usb-conn-gpio: Prevent bailing out if initial role is none Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 062/149] usb: typec: tcpm: Fix response to vsafe0V event Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 063/149] usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 064/149] x86/srso: Fix build breakage with the LLVM linker Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 065/149] x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405 Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 066/149] x86/mm: Fix VDSO and VVAR placement on 5-level paging machines Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 067/149] x86/sev: Do not try to parse for the CC blob on non-AMD hardware Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 068/149] x86/speculation: Add cpu_show_gds() prototype Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 069/149] x86: Move gds_ucode_mitigated() declaration to header Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 070/149] drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 071/149] netfilter: nf_tables: dont skip expired elements during walk Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 072/149] iio: core: Prevent invalid memory access when there is no parent Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 073/149] interconnect: qcom: Add support for mask-based BCMs Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 074/149] interconnect: qcom: sm8450: add enable_mask for bcm nodes Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 075/149] selftests/rseq: Fix build with undefined __weak Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 076/149] selftests: forwarding: Add a helper to skip test when using veth pairs Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 077/149] selftests: forwarding: ethtool: Skip " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 078/149] selftests: forwarding: ethtool_extended_state: " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 079/149] selftests: forwarding: hw_stats_l3_gre: " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 080/149] selftests: forwarding: Skip test when no interfaces are specified Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 081/149] selftests: forwarding: Switch off timeout Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 082/149] selftests: forwarding: tc_flower: Relax success criterion Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 083/149] net: core: remove unnecessary frame_sz check in bpf_xdp_adjust_tail() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 084/149] bpf, sockmap: Fix map type error in sock_map_del_link Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 085/149] bpf, sockmap: Fix bug that strp_done cannot be called Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 086/149] mISDN: Update parameter type of dsp_cmx_send() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 087/149] macsec: use DEV_STATS_INC() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 088/149] mptcp: fix the incorrect judgment for msk->cb_flags Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 089/149] net/packet: annotate data-races around tp->status Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 090/149] net/smc: Use correct buffer sizes when switching between TCP and SMC Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 091/149] tcp: add missing family to tcp_set_ca_state() tracepoint Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 092/149] tunnels: fix kasan splat when generating ipv4 pmtu error Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 093/149] xsk: fix refcount underflow in error path Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 094/149] bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 095/149] dccp: fix data-race around dp->dccps_mss_cache Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 096/149] drivers: net: prevent tun_build_skb() to exceed the packet size limit Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 097/149] drivers: vxlan: vnifilter: free percpu vni stats on error path Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 098/149] iavf: fix potential races for FDIR filters Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 099/149] IB/hfi1: Fix possible panic during hotplug remove Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 100/149] drm/rockchip: Dont spam logs in atomic check Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 101/149] wifi: cfg80211: fix sband iftype data lookup for AP_VLAN Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 102/149] RDMA/umem: Set iova in ODP flow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 103/149] net: tls: avoid discarding data on record close Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 104/149] net: marvell: prestera: fix handling IPv4 routes with nhid Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 105/149] net: phy: at803x: remove set/get wol callbacks for AR8032 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 106/149] net: dsa: ocelot: call dsa_tag_8021q_unregister() under rtnl_lock() on driver remove Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 107/149] net: hns3: refactor hclge_mac_link_status_wait for interface reuse Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 108/149] net: hns3: add wait until mac link down Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 109/149] net: hns3: fix deadlock issue when externel_lb and reset are executed together Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 110/149] nexthop: Fix infinite nexthop dump when using maximum nexthop ID Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 111/149] nexthop: Make nexthop bucket dump more efficient Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 112/149] nexthop: Fix infinite nexthop bucket dump when using maximum nexthop ID Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 113/149] net: hns3: fix strscpy causing content truncation issue Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 114/149] dmaengine: mcf-edma: Fix a potential un-allocated memory access Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 115/149] dmaengine: owl-dma: Modify mismatched function name Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 116/149] net/mlx5: Allow 0 for total host VFs Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 117/149] net/mlx5: LAG, Check correct bucket when modifying LAG Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 118/149] net/mlx5: Skip clock update work when device is in error state Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 119/149] net/mlx5: Reload auxiliary devices in pci error handlers Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 120/149] ibmvnic: Enforce stronger sanity checks on login response Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 121/149] ibmvnic: Unmap DMA login rsp buffer on send login fail Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 122/149] ibmvnic: Handle DMA unmapping of login buffs in release functions Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 123/149] ibmvnic: Do partial reset on login failure Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 124/149] ibmvnic: Ensure login failure recovery is safe from other resets Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 125/149] gpio: ws16c48: Fix off-by-one error in WS16C48 resource region extent Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 126/149] gpio: sim: mark the GPIO chip as a one that can sleep Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 127/149] btrfs: wait for actual caching progress during allocation Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 128/149] btrfs: dont stop integrity writeback too early Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 129/149] btrfs: properly clear end of the unreserved range in cow_file_range Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 130/149] btrfs: exit gracefully if reloc roots dont match Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 131/149] btrfs: reject invalid reloc tree root keys with stack dump Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 132/149] btrfs: set cache_block_group_error if we find an error Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 133/149] nvme-tcp: fix potential unbalanced freeze & unfreeze Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 134/149] nvme-rdma: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 135/149] netfilter: nf_tables: report use refcount overflow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 136/149] scsi: core: Fix legacy /proc parsing buffer overflow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 137/149] scsi: storvsc: Fix handling of virtual Fibre Channel timeouts Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 138/149] scsi: ufs: renesas: Fix private allocation Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 139/149] scsi: 53c700: Check that command slot is not NULL Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 140/149] scsi: snic: Fix possible memory leak if device_add() fails Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 141/149] scsi: core: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 142/149] scsi: fnic: Replace return codes in fnic_clean_pending_aborts() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 143/149] scsi: qedi: Fix firmware halt over suspend and resume Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 144/149] scsi: qedf: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 145/149] platform/x86: serial-multi-instantiate: Auto detect IRQ resource for CSC3551 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 146/149] ACPI: scan: Create platform device for CS35L56 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 147/149] alpha: remove __init annotation from exported page_is_ram() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 148/149] sch_netem: fix issues in netem_change() vs get_dist_table() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 149/149] drm/amd/pm/smu7: move variables to where they are used Greg Kroah-Hartman
2023-08-14  5:11 ` [PATCH 6.1 000/149] 6.1.46-rc1 review Bagas Sanjaya
2023-08-14 10:33 ` Takeshi Ogasawara
2023-08-14 14:04 ` Guenter Roeck
2023-08-16 16:26   ` Greg Kroah-Hartman
2023-08-26 15:48     ` Greg Kroah-Hartman
2023-08-27 11:21       ` Guenter Roeck
2023-08-27 16:34         ` Greg Kroah-Hartman
2023-08-14 14:06 ` Conor Dooley
2023-08-14 14:50 ` Thierry Reding
2023-08-14 17:35 ` SeongJae Park
2023-08-14 18:33 ` Guenter Roeck
2023-08-15  0:30 ` Ron Economos
2023-08-15  0:48 ` Shuah Khan
2023-08-15  3:37 ` Daniel Díaz
2023-08-15 16:25 ` Florian Fainelli
2023-08-15 17:09 ` Allen Pais
2023-08-16 22:23 ` Joel Fernandes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230813211719.976702716@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alexander.deucher@amd.com \
    --cc=evan.quan@amd.com \
    --cc=mario.limonciello@amd.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).