Allow platform specific implementation to identify a valid punit.
No functional changes are expected.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
[srinivas.pandruvada@linux.intel.com: changelog edits]
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
}
}
+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)
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,
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);