|
@@ -166,7 +166,13 @@ scmi_perf_domain_attributes_get(const struct scmi_handle *handle, u32 domain,
|
|
|
le32_to_cpu(attr->sustained_freq_khz);
|
|
|
dom_info->sustained_perf_level =
|
|
|
le32_to_cpu(attr->sustained_perf_level);
|
|
|
- dom_info->mult_factor = (dom_info->sustained_freq_khz * 1000) /
|
|
|
+ if (!dom_info->sustained_freq_khz ||
|
|
|
+ !dom_info->sustained_perf_level)
|
|
|
+ /* CPUFreq converts to kHz, hence default 1000 */
|
|
|
+ dom_info->mult_factor = 1000;
|
|
|
+ else
|
|
|
+ dom_info->mult_factor =
|
|
|
+ (dom_info->sustained_freq_khz * 1000) /
|
|
|
dom_info->sustained_perf_level;
|
|
|
memcpy(dom_info->name, attr->name, SCMI_MAX_STR_SIZE);
|
|
|
}
|