Contributors: 14
Author Tokens Token Proportion Commits Commit Proportion
Jani Nikula 104 39.25% 8 22.86%
Andi Shyti 41 15.47% 1 2.86%
Ville Syrjälä 40 15.09% 7 20.00%
Ander Conselvan de Oliveira 14 5.28% 1 2.86%
Imre Deak 13 4.91% 4 11.43%
Jesse Barnes 11 4.15% 2 5.71%
Paulo Zanoni 10 3.77% 2 5.71%
Chris Wilson 9 3.40% 3 8.57%
Oscar Mateo 8 3.02% 2 5.71%
Rodrigo Vivi 4 1.51% 1 2.86%
Thomas Zimmermann 4 1.51% 1 2.86%
Tvrtko A. Ursulin 3 1.13% 1 2.86%
Daniel Vetter 2 0.75% 1 2.86%
Egbert Eich 2 0.75% 1 2.86%
Total 265 35


/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2019 Intel Corporation
 */

#ifndef __I915_IRQ_H__
#define __I915_IRQ_H__

#include <linux/types.h>

#include "i915_reg_defs.h"

struct drm_i915_private;
struct intel_uncore;

void intel_irq_init(struct drm_i915_private *dev_priv);
void intel_irq_fini(struct drm_i915_private *dev_priv);
int intel_irq_install(struct drm_i915_private *dev_priv);
void intel_irq_uninstall(struct drm_i915_private *dev_priv);

void gen5_enable_gt_irq(struct drm_i915_private *dev_priv, u32 mask);
void gen5_disable_gt_irq(struct drm_i915_private *dev_priv, u32 mask);
void gen11_reset_rps_interrupts(struct drm_i915_private *dev_priv);
void gen6_reset_rps_interrupts(struct drm_i915_private *dev_priv);
void gen6_enable_rps_interrupts(struct drm_i915_private *dev_priv);
void gen6_disable_rps_interrupts(struct drm_i915_private *dev_priv);
void gen6_rps_reset_ei(struct drm_i915_private *dev_priv);
u32 gen6_sanitize_rps_pm_mask(const struct drm_i915_private *i915, u32 mask);

void intel_irq_suspend(struct drm_i915_private *i915);
void intel_irq_resume(struct drm_i915_private *i915);
bool intel_irqs_enabled(struct drm_i915_private *dev_priv);
void intel_synchronize_irq(struct drm_i915_private *i915);
void intel_synchronize_hardirq(struct drm_i915_private *i915);

void gen2_assert_iir_is_zero(struct intel_uncore *uncore, i915_reg_t reg);

void gen2_irq_reset(struct intel_uncore *uncore, struct i915_irq_regs regs);

void gen2_irq_init(struct intel_uncore *uncore, struct i915_irq_regs regs,
		   u32 imr_val, u32 ier_val);

void gen2_error_reset(struct intel_uncore *uncore, struct i915_error_regs regs);
void gen2_error_init(struct intel_uncore *uncore, struct i915_error_regs regs,
		     u32 emr_val);

extern const struct intel_display_irq_interface i915_display_irq_interface;

#endif /* __I915_IRQ_H__ */