[Intel-gfx] [PATCH] drm/i915: abstraction for iosf to compile on all archs
Lucas De Marchi
lucas.demarchi at intel.com
Thu Oct 21 18:45:19 UTC 2021
On Fri, Oct 22, 2021 at 12:07:04AM +0530, Mullati Siva wrote:
>From: "Mullati, Siva" <siva.mullati at intel.com>
>
>As Non-x86 architectures won't get compiled asm\iosf,
>abstarcting them to make compile for all archs.
I noticed a typo here, then thought we should expand a little bit. What
about something like below?
The asm/iosf_mbi.h header is x86-only. Let's make IOSF_MBI kconfig
selection conditional to x86 and provide a header with stubs for other
architectures. This helps getting i915 available for other
architectures in future.
Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
but it would be good to wait for an a-b/r-b from Jani as well.
thanks
Lucas De Marchi
>
>Signed-off-by: Mullati, Siva <siva.mullati at intel.com>
>---
> drivers/gpu/drm/i915/Kconfig | 2 +-
> drivers/gpu/drm/i915/i915_iosf_mbi.h | 42 ++++++++++++++++++++++++++++
> drivers/gpu/drm/i915/intel_uncore.c | 2 +-
> drivers/gpu/drm/i915/vlv_sideband.c | 3 +-
> 4 files changed, 45 insertions(+), 4 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/i915_iosf_mbi.h
>
>diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
>index bf041b26ffec..8bea99622dd5 100644
>--- a/drivers/gpu/drm/i915/Kconfig
>+++ b/drivers/gpu/drm/i915/Kconfig
>@@ -21,7 +21,7 @@ config DRM_I915
> select ACPI_VIDEO if ACPI
> select ACPI_BUTTON if ACPI
> select SYNC_FILE
>- select IOSF_MBI
>+ select IOSF_MBI if X86
> select CRC32
> select SND_HDA_I915 if SND_HDA_CORE
> select CEC_CORE if CEC_NOTIFIER
>diff --git a/drivers/gpu/drm/i915/i915_iosf_mbi.h b/drivers/gpu/drm/i915/i915_iosf_mbi.h
>new file mode 100644
>index 000000000000..01eed11e4a94
>--- /dev/null
>+++ b/drivers/gpu/drm/i915/i915_iosf_mbi.h
>@@ -0,0 +1,42 @@
>+/* SPDX-License-Identifier: MIT */
>+/*
>+ * Copyright © 2013-2021 Intel Corporation
>+ */
>+
>+#ifndef __I915_IOSF_MBI_H__
>+#define __I915_IOSF_MBI_H__
>+
>+#if IS_ENABLED(CONFIG_IOSF_MBI)
>+#include <asm/iosf_mbi.h>
>+#else
>+
>+/* Stubs to compile for all non-x86 archs */
>+#define MBI_PMIC_BUS_ACCESS_BEGIN 1
>+#define MBI_PMIC_BUS_ACCESS_END 2
>+
>+struct notifier_block;
>+
>+static inline void iosf_mbi_punit_acquire(void) {}
>+static inline void iosf_mbi_punit_release(void) {}
>+static inline void iosf_mbi_assert_punit_acquired(void) {}
>+
>+static inline
>+int iosf_mbi_register_pmic_bus_access_notifier(struct notifier_block *nb)
>+{
>+ return 0;
>+}
>+
>+static inline int
>+iosf_mbi_unregister_pmic_bus_access_notifier_unlocked(struct notifier_block *nb)
>+{
>+ return 0;
>+}
>+
>+static inline
>+int iosf_mbi_unregister_pmic_bus_access_notifier(struct notifier_block *nb)
>+{
>+ return 0;
>+}
>+#endif
>+
>+#endif /* __I915_IOSF_MBI_H__ */
>diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
>index e072054adac5..722910d02b5f 100644
>--- a/drivers/gpu/drm/i915/intel_uncore.c
>+++ b/drivers/gpu/drm/i915/intel_uncore.c
>@@ -22,11 +22,11 @@
> */
>
> #include <linux/pm_runtime.h>
>-#include <asm/iosf_mbi.h>
>
> #include "gt/intel_lrc_reg.h" /* for shadow reg list */
>
> #include "i915_drv.h"
>+#include "i915_iosf_mbi.h"
> #include "i915_trace.h"
> #include "i915_vgpu.h"
> #include "intel_pm.h"
>diff --git a/drivers/gpu/drm/i915/vlv_sideband.c b/drivers/gpu/drm/i915/vlv_sideband.c
>index 35380738a951..ed2ac5752ac4 100644
>--- a/drivers/gpu/drm/i915/vlv_sideband.c
>+++ b/drivers/gpu/drm/i915/vlv_sideband.c
>@@ -3,9 +3,8 @@
> * Copyright © 2013-2021 Intel Corporation
> */
>
>-#include <asm/iosf_mbi.h>
>-
> #include "i915_drv.h"
>+#include "i915_iosf_mbi.h"
> #include "vlv_sideband.h"
>
> /*
>--
>2.33.0
>
More information about the Intel-gfx
mailing list