From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: jani.nikula@intel.com, Dave Airlie <airlied@redhat.com>
Subject: [Intel-gfx] [CI 16/24] drm/i915: constify hotplug function vtable.
Date: Fri, 24 Sep 2021 14:47:33 +0300 [thread overview]
Message-ID: <20210924114741.15940-16-jani.nikula@intel.com> (raw)
In-Reply-To: <20210924114741.15940-1-jani.nikula@intel.com>
From: Dave Airlie <airlied@redhat.com>
Use a macro to avoid mistakes, this type of macro is only used
in a couple of places.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_hotplug.c | 4 +--
drivers/gpu/drm/i915/i915_drv.h | 2 +-
drivers/gpu/drm/i915/i915_irq.c | 28 +++++++++++++++-----
3 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 05f76aba4f8a..3c1cec953b42 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -215,8 +215,8 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
static void intel_hpd_irq_setup(struct drm_i915_private *i915)
{
- if (i915->display_irqs_enabled && i915->hotplug_funcs.hpd_irq_setup)
- i915->hotplug_funcs.hpd_irq_setup(i915);
+ if (i915->display_irqs_enabled && i915->hotplug_funcs->hpd_irq_setup)
+ i915->hotplug_funcs->hpd_irq_setup(i915);
}
static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index a31738dd6378..5f1eb471abd8 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -988,7 +988,7 @@ struct drm_i915_private {
struct drm_i915_wm_disp_funcs wm_disp;
/* irq display functions */
- struct intel_hotplug_funcs hotplug_funcs;
+ const struct intel_hotplug_funcs *hotplug_funcs;
/* fdi display functions */
const struct intel_fdi_funcs *fdi_funcs;
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index c35065f8f429..77680bca46ee 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -4345,6 +4345,20 @@ static irqreturn_t i965_irq_handler(int irq, void *arg)
return ret;
}
+#define HPD_FUNCS(platform) \
+static const struct intel_hotplug_funcs platform##_hpd_funcs = { \
+ .hpd_irq_setup = platform##_hpd_irq_setup, \
+}
+
+HPD_FUNCS(i915);
+HPD_FUNCS(dg1);
+HPD_FUNCS(gen11);
+HPD_FUNCS(bxt);
+HPD_FUNCS(icp);
+HPD_FUNCS(spt);
+HPD_FUNCS(ilk);
+#undef HPD_FUNCS
+
/**
* intel_irq_init - initializes irq support
* @dev_priv: i915 device instance
@@ -4395,20 +4409,20 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
if (HAS_GMCH(dev_priv)) {
if (I915_HAS_HOTPLUG(dev_priv))
- dev_priv->hotplug_funcs.hpd_irq_setup = i915_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &i915_hpd_funcs;
} else {
if (HAS_PCH_DG1(dev_priv))
- dev_priv->hotplug_funcs.hpd_irq_setup = dg1_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &dg1_hpd_funcs;
else if (DISPLAY_VER(dev_priv) >= 11)
- dev_priv->hotplug_funcs.hpd_irq_setup = gen11_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &gen11_hpd_funcs;
else if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
- dev_priv->hotplug_funcs.hpd_irq_setup = bxt_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &bxt_hpd_funcs;
else if (INTEL_PCH_TYPE(dev_priv) >= PCH_ICP)
- dev_priv->hotplug_funcs.hpd_irq_setup = icp_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &icp_hpd_funcs;
else if (INTEL_PCH_TYPE(dev_priv) >= PCH_SPT)
- dev_priv->hotplug_funcs.hpd_irq_setup = spt_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &spt_hpd_funcs;
else
- dev_priv->hotplug_funcs.hpd_irq_setup = ilk_hpd_irq_setup;
+ dev_priv->hotplug_funcs = &ilk_hpd_funcs;
}
}
--
2.30.2
next prev parent reply other threads:[~2021-09-24 11:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-24 11:47 [Intel-gfx] [CI 01/24] drm/i915/uncore: split the fw get function into separate vfunc Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 02/24] drm/i915/pm: drop get_fifo_size vfunc Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 03/24] drm/i915: make update_wm take a dev_priv Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 04/24] drm/i915/wm: provide wrappers around watermark vfuncs calls (v2) Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 05/24] drm/i915: add wrappers around cdclk vtable funcs Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 06/24] drm/i915/display: add intel_fdi_link_train wrapper Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 07/24] drm/i915: split clock gating init from display vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 08/24] drm/i915: split watermark vfuncs " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 09/24] drm/i915: split color functions " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 10/24] drm/i915: split audio " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 11/24] drm/i915: split cdclk " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 12/24] drm/i915: split irq hotplug function " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 13/24] drm/i915: split fdi link training " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 14/24] drm/i915: split the dpll clock compute out " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 15/24] drm/i915: constify fdi link training vtable Jani Nikula
2021-09-24 11:47 ` Jani Nikula [this message]
2021-09-24 11:47 ` [Intel-gfx] [CI 17/24] drm/i915: constify color function vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 18/24] drm/i915: constify the audio " Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 19/24] drm/i915: constify the dpll clock vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 20/24] drm/i915: constify the cdclk vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 21/24] drm/i915: drop unused function ptr and comments Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 22/24] drm/i915: constify display function vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 23/24] drm/i915: constify clock gating init vtable Jani Nikula
2021-09-24 11:47 ` [Intel-gfx] [CI 24/24] drm/i915: constify display wm vtable Jani Nikula
2021-09-24 14:46 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,01/24] drm/i915/uncore: split the fw get function into separate vfunc Patchwork
2021-09-24 15:17 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2021-09-27 13:46 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,01/24] drm/i915/uncore: split the fw get function into separate vfunc (rev2) Patchwork
2021-09-27 14:18 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210924114741.15940-16-jani.nikula@intel.com \
--to=jani.nikula@intel.com \
--cc=airlied@redhat.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox