Message ID | 20211021183704.1171140-1-siva.mullati@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: abstraction for iosf to compile on all archs | expand |
On Fri, Oct 22, 2021 at 12:07:04AM +0530, Mullati Siva wrote: >From: "Mullati, Siva" <siva.mullati@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@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@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 >
On Thu, 21 Oct 2021, Lucas De Marchi <lucas.demarchi@intel.com> wrote: > On Fri, Oct 22, 2021 at 12:07:04AM +0530, Mullati Siva wrote: >>From: "Mullati, Siva" <siva.mullati@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@intel.com> > > but it would be good to wait for an a-b/r-b from Jani as well. Sorry, one more nitpick below, otherwise LGTM. > > thanks > Lucas De Marchi > >> >>Signed-off-by: Mullati, Siva <siva.mullati@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 It's all new, we can't claim it's 2013-. BR, Jani. >>+ */ >>+ >>+#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 >>
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" /*