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 |
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);
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 --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);
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(-)