Commit da38ba98 authored by Jani Nikula's avatar Jani Nikula

drm/i915/irq: split out hotplug irq handling

Split hotplug irq handling out of i915_irq.[ch] into
display/intel_hotplug_irq.[ch].

The line between the new intel_hotplug_irq.[ch] and the existing
intel_hotplug.[ch] needs further clarification, but the first step is to
move the stuff out of i915_irq.[ch].
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230515101738.2399816-2-jani.nikula@intel.com
parent 08d8f430
...@@ -260,6 +260,7 @@ i915-y += \ ...@@ -260,6 +260,7 @@ i915-y += \
display/intel_hdcp.o \ display/intel_hdcp.o \
display/intel_hdcp_gsc.o \ display/intel_hdcp_gsc.o \
display/intel_hotplug.o \ display/intel_hotplug.o \
display/intel_hotplug_irq.o \
display/intel_hti.o \ display/intel_hti.o \
display/intel_load_detect.o \ display/intel_load_detect.o \
display/intel_lpe_audio.o \ display/intel_lpe_audio.o \
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
#include "intel_fifo_underrun.h" #include "intel_fifo_underrun.h"
#include "intel_gmbus.h" #include "intel_gmbus.h"
#include "intel_hotplug.h" #include "intel_hotplug.h"
#include "intel_hotplug_irq.h"
#include "intel_load_detect.h" #include "intel_load_detect.h"
#include "intel_pch_display.h" #include "intel_pch_display.h"
#include "intel_pch_refclk.h" #include "intel_pch_refclk.h"
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
#include "intel_hdcp.h" #include "intel_hdcp.h"
#include "intel_hdmi.h" #include "intel_hdmi.h"
#include "intel_hotplug.h" #include "intel_hotplug.h"
#include "intel_hotplug_irq.h"
#include "intel_lspcon.h" #include "intel_lspcon.h"
#include "intel_lvds.h" #include "intel_lvds.h"
#include "intel_panel.h" #include "intel_panel.h"
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "i915_irq.h" #include "i915_irq.h"
#include "intel_display_types.h" #include "intel_display_types.h"
#include "intel_hotplug.h" #include "intel_hotplug.h"
#include "intel_hotplug_irq.h"
/** /**
* DOC: Hotplug * DOC: Hotplug
......
This diff is collapsed.
/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2023 Intel Corporation
*/
#ifndef __INTEL_HOTPLUG_IRQ_H__
#define __INTEL_HOTPLUG_IRQ_H__
#include <linux/types.h>
struct drm_i915_private;
struct intel_encoder;
u32 i9xx_hpd_irq_ack(struct drm_i915_private *i915);
void i9xx_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_status);
void ibx_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger);
void ilk_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger);
void gen11_hpd_irq_handler(struct drm_i915_private *i915, u32 iir);
void bxt_hpd_irq_handler(struct drm_i915_private *i915, u32 hotplug_trigger);
void xelpdp_pica_irq_handler(struct drm_i915_private *i915, u32 iir);
void icp_irq_handler(struct drm_i915_private *i915, u32 pch_iir);
void spt_irq_handler(struct drm_i915_private *i915, u32 pch_iir);
void i915_hotplug_interrupt_update_locked(struct drm_i915_private *i915,
u32 mask, u32 bits);
void i915_hotplug_interrupt_update(struct drm_i915_private *i915,
u32 mask, u32 bits);
void intel_hpd_enable_detection(struct intel_encoder *encoder);
void intel_hpd_irq_setup(struct drm_i915_private *i915);
void intel_hotplug_irq_init(struct drm_i915_private *i915);
#endif /* __INTEL_HOTPLUG_IRQ_H__ */
This diff is collapsed.
...@@ -38,18 +38,18 @@ i915_disable_pipestat(struct drm_i915_private *dev_priv, enum pipe pipe, ...@@ -38,18 +38,18 @@ i915_disable_pipestat(struct drm_i915_private *dev_priv, enum pipe pipe,
void valleyview_enable_display_irqs(struct drm_i915_private *dev_priv); void valleyview_enable_display_irqs(struct drm_i915_private *dev_priv);
void valleyview_disable_display_irqs(struct drm_i915_private *dev_priv); void valleyview_disable_display_irqs(struct drm_i915_private *dev_priv);
void intel_hpd_enable_detection(struct intel_encoder *encoder); void ilk_update_display_irq(struct drm_i915_private *i915,
void intel_hpd_irq_setup(struct drm_i915_private *i915); u32 interrupt_mask, u32 enabled_irq_mask);
void i915_hotplug_interrupt_update(struct drm_i915_private *dev_priv,
u32 mask,
u32 bits);
void ilk_enable_display_irq(struct drm_i915_private *i915, u32 bits); void ilk_enable_display_irq(struct drm_i915_private *i915, u32 bits);
void ilk_disable_display_irq(struct drm_i915_private *i915, u32 bits); void ilk_disable_display_irq(struct drm_i915_private *i915, u32 bits);
void bdw_update_port_irq(struct drm_i915_private *i915,
u32 interrupt_mask, u32 enabled_irq_mask);
void bdw_enable_pipe_irq(struct drm_i915_private *i915, enum pipe pipe, u32 bits); void bdw_enable_pipe_irq(struct drm_i915_private *i915, enum pipe pipe, u32 bits);
void bdw_disable_pipe_irq(struct drm_i915_private *i915, enum pipe pipe, u32 bits); void bdw_disable_pipe_irq(struct drm_i915_private *i915, enum pipe pipe, u32 bits);
void ibx_display_interrupt_update(struct drm_i915_private *i915,
u32 interrupt_mask, u32 enabled_irq_mask);
void ibx_enable_display_interrupt(struct drm_i915_private *i915, u32 bits); void ibx_enable_display_interrupt(struct drm_i915_private *i915, u32 bits);
void ibx_disable_display_interrupt(struct drm_i915_private *i915, u32 bits); void ibx_disable_display_interrupt(struct drm_i915_private *i915, u32 bits);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment