Lines Matching refs:drrs
72 dev_priv->drrs.type != SEAMLESS_DRRS_SUPPORT) in intel_dp_drrs_compute_config()
107 struct intel_dp *intel_dp = dev_priv->drrs.dp; in intel_dp_set_drrs_state()
128 if (dev_priv->drrs.type < SEAMLESS_DRRS_SUPPORT) { in intel_dp_set_drrs_state()
137 if (index == dev_priv->drrs.refresh_rate_type) { in intel_dp_set_drrs_state()
181 dev_priv->drrs.refresh_rate_type = index; in intel_dp_set_drrs_state()
192 dev_priv->drrs.busy_frontbuffer_bits = 0; in intel_edp_drrs_enable_locked()
193 dev_priv->drrs.dp = intel_dp; in intel_edp_drrs_enable_locked()
213 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_enable()
215 if (dev_priv->drrs.dp) { in intel_edp_drrs_enable()
223 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_enable()
232 if (dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR) { in intel_edp_drrs_disable_locked()
239 dev_priv->drrs.dp = NULL; in intel_edp_drrs_disable_locked()
256 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_disable()
257 if (!dev_priv->drrs.dp) { in intel_edp_drrs_disable()
258 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_disable()
263 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_disable()
265 cancel_delayed_work_sync(&dev_priv->drrs.work); in intel_edp_drrs_disable()
283 if (dev_priv->drrs.type != SEAMLESS_DRRS_SUPPORT) in intel_edp_drrs_update()
286 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_update()
289 if (crtc_state->has_drrs == !!dev_priv->drrs.dp) in intel_edp_drrs_update()
298 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_update()
304 container_of(work, typeof(*dev_priv), drrs.work.work); in intel_edp_drrs_downclock_work()
307 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_downclock_work()
309 intel_dp = dev_priv->drrs.dp; in intel_edp_drrs_downclock_work()
319 if (dev_priv->drrs.busy_frontbuffer_bits) in intel_edp_drrs_downclock_work()
322 if (dev_priv->drrs.refresh_rate_type != DRRS_LOW_RR) { in intel_edp_drrs_downclock_work()
330 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_downclock_work()
350 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) in intel_edp_drrs_invalidate()
353 cancel_delayed_work(&dev_priv->drrs.work); in intel_edp_drrs_invalidate()
355 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_invalidate()
357 intel_dp = dev_priv->drrs.dp; in intel_edp_drrs_invalidate()
359 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_invalidate()
367 dev_priv->drrs.busy_frontbuffer_bits |= frontbuffer_bits; in intel_edp_drrs_invalidate()
370 if (frontbuffer_bits && dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR) in intel_edp_drrs_invalidate()
374 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_invalidate()
396 if (dev_priv->drrs.type == DRRS_NOT_SUPPORTED) in intel_edp_drrs_flush()
399 cancel_delayed_work(&dev_priv->drrs.work); in intel_edp_drrs_flush()
401 mutex_lock(&dev_priv->drrs.mutex); in intel_edp_drrs_flush()
403 intel_dp = dev_priv->drrs.dp; in intel_edp_drrs_flush()
405 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_flush()
413 dev_priv->drrs.busy_frontbuffer_bits &= ~frontbuffer_bits; in intel_edp_drrs_flush()
416 if (frontbuffer_bits && dev_priv->drrs.refresh_rate_type == DRRS_LOW_RR) in intel_edp_drrs_flush()
424 if (!dev_priv->drrs.busy_frontbuffer_bits) in intel_edp_drrs_flush()
425 schedule_delayed_work(&dev_priv->drrs.work, in intel_edp_drrs_flush()
427 mutex_unlock(&dev_priv->drrs.mutex); in intel_edp_drrs_flush()
451 INIT_DELAYED_WORK(&dev_priv->drrs.work, intel_edp_drrs_downclock_work); in intel_dp_drrs_init()
452 mutex_init(&dev_priv->drrs.mutex); in intel_dp_drrs_init()
479 dev_priv->drrs.type = dev_priv->vbt.drrs_type; in intel_dp_drrs_init()
481 dev_priv->drrs.refresh_rate_type = DRRS_HIGH_RR; in intel_dp_drrs_init()