mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 05:44:11 +00:00
drm/i915/irq: reduce inlines to reduce header dependencies
Presumably if the compiler is smart, it does not generate an extra function call to the update functions that are now static. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/594f628740717cda5ef407a26ea03129c22ddc12.1629281426.git.jani.nikula@intel.com
This commit is contained in:
parent
c00e14cd4d
commit
9e6dcf33ed
2 changed files with 50 additions and 51 deletions
|
@ -359,9 +359,8 @@ void i915_hotplug_interrupt_update(struct drm_i915_private *dev_priv,
|
|||
* @interrupt_mask: mask of interrupt bits to update
|
||||
* @enabled_irq_mask: mask of interrupt bits to enable
|
||||
*/
|
||||
void ilk_update_display_irq(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask)
|
||||
static void ilk_update_display_irq(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask, u32 enabled_irq_mask)
|
||||
{
|
||||
u32 new_val;
|
||||
|
||||
|
@ -380,6 +379,16 @@ void ilk_update_display_irq(struct drm_i915_private *dev_priv,
|
|||
}
|
||||
}
|
||||
|
||||
void ilk_enable_display_irq(struct drm_i915_private *i915, u32 bits)
|
||||
{
|
||||
ilk_update_display_irq(i915, bits, bits);
|
||||
}
|
||||
|
||||
void ilk_disable_display_irq(struct drm_i915_private *i915, u32 bits)
|
||||
{
|
||||
ilk_update_display_irq(i915, bits, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* bdw_update_port_irq - update DE port interrupt
|
||||
* @dev_priv: driver private
|
||||
|
@ -419,10 +428,9 @@ static void bdw_update_port_irq(struct drm_i915_private *dev_priv,
|
|||
* @interrupt_mask: mask of interrupt bits to update
|
||||
* @enabled_irq_mask: mask of interrupt bits to enable
|
||||
*/
|
||||
void bdw_update_pipe_irq(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask)
|
||||
static void bdw_update_pipe_irq(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe, u32 interrupt_mask,
|
||||
u32 enabled_irq_mask)
|
||||
{
|
||||
u32 new_val;
|
||||
|
||||
|
@ -444,15 +452,27 @@ void bdw_update_pipe_irq(struct drm_i915_private *dev_priv,
|
|||
}
|
||||
}
|
||||
|
||||
void bdw_enable_pipe_irq(struct drm_i915_private *i915,
|
||||
enum pipe pipe, u32 bits)
|
||||
{
|
||||
bdw_update_pipe_irq(i915, pipe, bits, bits);
|
||||
}
|
||||
|
||||
void bdw_disable_pipe_irq(struct drm_i915_private *i915,
|
||||
enum pipe pipe, u32 bits)
|
||||
{
|
||||
bdw_update_pipe_irq(i915, pipe, bits, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* ibx_display_interrupt_update - update SDEIMR
|
||||
* @dev_priv: driver private
|
||||
* @interrupt_mask: mask of interrupt bits to update
|
||||
* @enabled_irq_mask: mask of interrupt bits to enable
|
||||
*/
|
||||
void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask)
|
||||
static void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask)
|
||||
{
|
||||
u32 sdeimr = intel_uncore_read(&dev_priv->uncore, SDEIMR);
|
||||
sdeimr &= ~interrupt_mask;
|
||||
|
@ -469,6 +489,16 @@ void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
|
|||
intel_uncore_posting_read(&dev_priv->uncore, SDEIMR);
|
||||
}
|
||||
|
||||
void ibx_enable_display_interrupt(struct drm_i915_private *i915, u32 bits)
|
||||
{
|
||||
ibx_display_interrupt_update(i915, bits, bits);
|
||||
}
|
||||
|
||||
void ibx_disable_display_interrupt(struct drm_i915_private *i915, u32 bits)
|
||||
{
|
||||
ibx_display_interrupt_update(i915, bits, 0);
|
||||
}
|
||||
|
||||
u32 i915_pipestat_enable_mask(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe)
|
||||
{
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
#include <linux/ktime.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "display/intel_display.h"
|
||||
#include "i915_reg.h"
|
||||
|
||||
enum pipe;
|
||||
struct drm_crtc;
|
||||
struct drm_device;
|
||||
struct drm_display_mode;
|
||||
|
@ -40,46 +40,15 @@ void valleyview_disable_display_irqs(struct drm_i915_private *dev_priv);
|
|||
void i915_hotplug_interrupt_update(struct drm_i915_private *dev_priv,
|
||||
u32 mask,
|
||||
u32 bits);
|
||||
void ilk_update_display_irq(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask);
|
||||
static inline void
|
||||
ilk_enable_display_irq(struct drm_i915_private *dev_priv, u32 bits)
|
||||
{
|
||||
ilk_update_display_irq(dev_priv, bits, bits);
|
||||
}
|
||||
static inline void
|
||||
ilk_disable_display_irq(struct drm_i915_private *dev_priv, u32 bits)
|
||||
{
|
||||
ilk_update_display_irq(dev_priv, bits, 0);
|
||||
}
|
||||
void bdw_update_pipe_irq(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask);
|
||||
static inline void bdw_enable_pipe_irq(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe, u32 bits)
|
||||
{
|
||||
bdw_update_pipe_irq(dev_priv, pipe, bits, bits);
|
||||
}
|
||||
static inline void bdw_disable_pipe_irq(struct drm_i915_private *dev_priv,
|
||||
enum pipe pipe, u32 bits)
|
||||
{
|
||||
bdw_update_pipe_irq(dev_priv, pipe, bits, 0);
|
||||
}
|
||||
void ibx_display_interrupt_update(struct drm_i915_private *dev_priv,
|
||||
u32 interrupt_mask,
|
||||
u32 enabled_irq_mask);
|
||||
static inline void
|
||||
ibx_enable_display_interrupt(struct drm_i915_private *dev_priv, u32 bits)
|
||||
{
|
||||
ibx_display_interrupt_update(dev_priv, bits, bits);
|
||||
}
|
||||
static inline void
|
||||
ibx_disable_display_interrupt(struct drm_i915_private *dev_priv, u32 bits)
|
||||
{
|
||||
ibx_display_interrupt_update(dev_priv, bits, 0);
|
||||
}
|
||||
|
||||
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 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 ibx_enable_display_interrupt(struct drm_i915_private *i915, u32 bits);
|
||||
void ibx_disable_display_interrupt(struct drm_i915_private *i915, u32 bits);
|
||||
|
||||
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);
|
||||
|
|
Loading…
Reference in a new issue