2014-06-20 13:29 GMT-03:00 Jesse Barnes <[email protected]>:
> 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 <[email protected]>
> ---
>  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
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to