[Intel-gfx] [PATCH 4/4] drm/i915: set pm._irqs_disabled at IRQ init time

Paulo Zanoni przanoni at gmail.com
Mon Jul 14 17:23:11 CEST 2014


2014-06-20 13:29 GMT-03:00 Jesse Barnes <jbarnes at virtuousgeek.org>:
> Before we've installed the handler, we can set this and avoid confusing
> init code that then thinks IRQs are enabled and spews complaints
> everywhere.

But then at some point the DRM layer will call our IRQ init callbacks,
which will initalize the interrupts but leave irqs_disabled as true,
which will also confuse some code somewhere at some point. And it will
only be set to false after we {runtime,}-suspend/resume.

This is why I had kept the runtime PM code only used by the runtime PM
stuff. Recently we tried to reuse the runtime PM interrupt code at
other contexts, got regressions and now we're fixing the regressions
using duct tape... Maybe the best approach would be to revert some
patches...

>
> Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index bc953cc..86638b9 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -4373,6 +4373,9 @@ void intel_irq_init(struct drm_device *dev)
>
>         pm_qos_add_request(&dev_priv->pm_qos, PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE);
>
> +       /* Haven't installed the IRQ handler yet */
> +       dev_priv->pm._irqs_disabled = true;
> +
>         if (IS_GEN2(dev)) {
>                 dev->max_vblank_count = 0;
>                 dev->driver->get_vblank_counter = i8xx_get_vblank_counter;
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni



More information about the Intel-gfx mailing list