|
@@ -2027,6 +2027,8 @@ static void cvp_pm_qos_update(struct iris_hfi_device *device, bool vote_on)
|
|
|
|
|
|
if (device->res->pm_qos.latency_us && device->res->pm_qos.pm_qos_hdls)
|
|
|
for (i = 0; i < device->res->pm_qos.silver_count; i++) {
|
|
|
+ if (!cpu_possible(device->res->pm_qos.silver_cores[i]))
|
|
|
+ continue;
|
|
|
err = dev_pm_qos_update_request(
|
|
|
&device->res->pm_qos.pm_qos_hdls[i],
|
|
|
latency);
|
|
@@ -2299,6 +2301,8 @@ static int iris_hfi_core_init(void *device)
|
|
|
|
|
|
for (i = 0; i < dev->res->pm_qos.silver_count; i++) {
|
|
|
cpu = dev->res->pm_qos.silver_cores[i];
|
|
|
+ if (!cpu_possible(cpu))
|
|
|
+ continue;
|
|
|
err = dev_pm_qos_add_request(
|
|
|
get_cpu_device(cpu),
|
|
|
&dev->res->pm_qos.pm_qos_hdls[i],
|
|
@@ -2355,6 +2359,8 @@ static int iris_hfi_core_release(void *dev)
|
|
|
if (device->res->pm_qos.latency_us &&
|
|
|
device->res->pm_qos.pm_qos_hdls) {
|
|
|
for (i = 0; i < device->res->pm_qos.silver_count; i++) {
|
|
|
+ if (!cpu_possible(device->res->pm_qos.silver_cores[i]))
|
|
|
+ continue;
|
|
|
qos_hdl = &device->res->pm_qos.pm_qos_hdls[i];
|
|
|
if ((qos_hdl != NULL) && dev_pm_qos_request_active(qos_hdl))
|
|
|
dev_pm_qos_remove_request(qos_hdl);
|