diff mbox series

drm/i915: abstraction for iosf to compile on all archs

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

Commit Message

Mullati Siva Oct. 21, 2021, 6:37 p.m. UTC
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.

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

Comments

Lucas De Marchi Oct. 21, 2021, 6:45 p.m. UTC | #1
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
>
Jani Nikula Oct. 22, 2021, 7:55 a.m. UTC | #2
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 mbox series

Patch

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"
 
 /*