diff mbox series

drm/i915: Don't enable hwmon for selftests

Message ID 20240410045832.149779-1-ashutosh.dixit@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Don't enable hwmon for selftests | expand

Commit Message

Dixit, Ashutosh April 10, 2024, 4:58 a.m. UTC
There are no hwmon selftests so there is no need to enable hwmon for
selftests. So enable hwmon only for real driver load.

v2: Move the logic inside i915_hwmon.c

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10366
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 drivers/gpu/drm/i915/i915_hwmon.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Comments

Nilawar, Badal April 10, 2024, 5:17 a.m. UTC | #1
On 10-04-2024 10:28, Ashutosh Dixit wrote:
> There are no hwmon selftests so there is no need to enable hwmon for
> selftests. So enable hwmon only for real driver load.
> 
> v2: Move the logic inside i915_hwmon.c
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10366
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_hwmon.c | 12 +++++++++++-
>   1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_hwmon.c b/drivers/gpu/drm/i915/i915_hwmon.c
> index 8c3f443c8347..511ba9be4de5 100644
> --- a/drivers/gpu/drm/i915/i915_hwmon.c
> +++ b/drivers/gpu/drm/i915/i915_hwmon.c
> @@ -10,6 +10,7 @@
>   #include "i915_drv.h"
>   #include "i915_hwmon.h"
>   #include "i915_reg.h"
> +#include "i915_selftest.h"
>   #include "intel_mchbar_regs.h"
>   #include "intel_pcode.h"
>   #include "gt/intel_gt.h"
> @@ -778,6 +779,15 @@ hwm_get_preregistration_info(struct drm_i915_private *i915)
>   	}
>   }
>   
> +static bool is_selftest(void)
> +{
> +#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
> +	return i915_selftest.live || i915_selftest.perf || i915_selftest.mock;
> +#else
> +	return false;
> +#endif
> +}
I think you moved this function here as this is only used in 
i915_hwmon.c. In case if somewhere else this function is needed then I 
suggest to move this function to i915_selftest.h as inline function.

Regards,
Badal
> +
>   void i915_hwmon_register(struct drm_i915_private *i915)
>   {
>   	struct device *dev = i915->drm.dev;
> @@ -789,7 +799,7 @@ void i915_hwmon_register(struct drm_i915_private *i915)
>   	int i;
>   
>   	/* hwmon is available only for dGfx */
> -	if (!IS_DGFX(i915))
> +	if (!IS_DGFX(i915) || is_selftest())
>   		return;
>   
>   	hwmon = devm_kzalloc(dev, sizeof(*hwmon), GFP_KERNEL);
Dixit, Ashutosh April 10, 2024, 6:06 a.m. UTC | #2
On Tue, 09 Apr 2024 22:17:38 -0700, Nilawar, Badal wrote:
>
> > +#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
> > +	return i915_selftest.live || i915_selftest.perf || i915_selftest.mock;
> > +#else
> > +	return false;
> > +#endif
> > +}
> I think you moved this function here as this is only used in
> i915_hwmon.c. In case if somewhere else this function is needed then I
> suggest to move this function to i915_selftest.h as inline function.

Thanks, done in v3.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_hwmon.c b/drivers/gpu/drm/i915/i915_hwmon.c
index 8c3f443c8347..511ba9be4de5 100644
--- a/drivers/gpu/drm/i915/i915_hwmon.c
+++ b/drivers/gpu/drm/i915/i915_hwmon.c
@@ -10,6 +10,7 @@ 
 #include "i915_drv.h"
 #include "i915_hwmon.h"
 #include "i915_reg.h"
+#include "i915_selftest.h"
 #include "intel_mchbar_regs.h"
 #include "intel_pcode.h"
 #include "gt/intel_gt.h"
@@ -778,6 +779,15 @@  hwm_get_preregistration_info(struct drm_i915_private *i915)
 	}
 }
 
+static bool is_selftest(void)
+{
+#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
+	return i915_selftest.live || i915_selftest.perf || i915_selftest.mock;
+#else
+	return false;
+#endif
+}
+
 void i915_hwmon_register(struct drm_i915_private *i915)
 {
 	struct device *dev = i915->drm.dev;
@@ -789,7 +799,7 @@  void i915_hwmon_register(struct drm_i915_private *i915)
 	int i;
 
 	/* hwmon is available only for dGfx */
-	if (!IS_DGFX(i915))
+	if (!IS_DGFX(i915) || is_selftest())
 		return;
 
 	hwmon = devm_kzalloc(dev, sizeof(*hwmon), GFP_KERNEL);