X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=drivers%2Fmedia%2Fpci%2Fintel%2Fipu6%2Fipu6-ppg.c;h=c6acf9cb70ef38b796ad4f11336e74e2a1415a15;hb=fad9119b95b10d02fae6bac52d60e60bb8a1d346;hp=a6860df5db180304c3aa8076ea2e908a30c9dd68;hpb=85301793534e54c882bcf98a5d63d14c7380166e;p=mirror_ubuntu-jammy-kernel.git diff --git a/drivers/media/pci/intel/ipu6/ipu6-ppg.c b/drivers/media/pci/intel/ipu6/ipu6-ppg.c index a6860df5db18..c6acf9cb70ef 100644 --- a/drivers/media/pci/intel/ipu6/ipu6-ppg.c +++ b/drivers/media/pci/intel/ipu6/ipu6-ppg.c @@ -503,8 +503,11 @@ void ipu_psys_enter_power_gating(struct ipu_psys *psys) list_for_each_entry_safe(kppg, tmp, &sched->ppgs, list) { mutex_lock(&kppg->mutex); - /* kppg has already power down */ - if (kppg->state == PPG_STATE_STOPPED) { + /* + * Only for SUSPENDED kppgs, STOPPED kppgs has already + * power down and new kppgs might come now. + */ + if (kppg->state != PPG_STATE_SUSPENDED) { mutex_unlock(&kppg->mutex); continue; } @@ -539,9 +542,8 @@ void ipu_psys_exit_power_gating(struct ipu_psys *psys) list_for_each_entry_safe(kppg, tmp, &sched->ppgs, list) { mutex_lock(&kppg->mutex); - /* kppg is not started and power up */ - if (kppg->state == PPG_STATE_START || - kppg->state == PPG_STATE_STARTING) { + /* Only for SUSPENDED kppgs */ + if (kppg->state != PPG_STATE_SUSPENDED) { mutex_unlock(&kppg->mutex); continue; }