Commit 143584e8 authored by Zhang Rui's avatar Zhang Rui Committed by Srinivas Pandruvada
Browse files

tools/power/x86/intel-speed-select: Abstract is_punit_valid



Allow platform specific implementation to identify a valid punit.

No functional changes are expected.

Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
[srinivas.pandruvada@linux.intel.com: changelog edits]
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
parent d0d1a603
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -29,12 +29,22 @@ static char *mbox_get_trl_level_name(int level)
        }
}

static int mbox_is_punit_valid(struct isst_id *id)
{
	if (id->cpu < 0)
		return 0;

	if (id->pkg < 0 || id->die < 0 || id->punit)
		return 0;

	return 1;
}

static struct isst_platform_ops mbox_ops = {
	.get_disp_freq_multiplier = mbox_get_disp_freq_multiplier,
	.get_trl_max_levels = mbox_get_trl_max_levels,
	.get_trl_level_name = mbox_get_trl_level_name,
	.is_punit_valid = mbox_is_punit_valid,
};

struct isst_platform_ops *mbox_get_platform_ops(void)
+2 −7
Original line number Diff line number Diff line
@@ -62,13 +62,8 @@ char *isst_get_trl_level_name(int level)

int isst_is_punit_valid(struct isst_id *id)
{
	if (id->cpu < 0)
		return 0;

	if (id->pkg < 0 || id->die < 0 || id->punit)
		return 0;

	return 1;
	CHECK_CB(is_punit_valid);
	return isst_ops->is_punit_valid(id);
}

static int isst_send_mmio_command(unsigned int cpu, unsigned int reg, int write,
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ struct isst_platform_ops {
	int (*get_disp_freq_multiplier)(void);
	int (*get_trl_max_levels)(void);
	char *(*get_trl_level_name)(int level);
	int (*is_punit_valid)(struct isst_id *id);
};

extern int is_cpu_in_power_domain(int cpu, struct isst_id *id);