> -----Original Message----- > From: Tauro, Riana <riana.tauro@xxxxxxxxx> > Sent: Monday, November 21, 2022 1:00 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Tauro, Riana <riana.tauro@xxxxxxxxx>; Gupta, Anshuman > <anshuman.gupta@xxxxxxxxx>; Dixit, Ashutosh <ashutosh.dixit@xxxxxxxxx>; > Tangudu, Tilak <tilak.tangudu@xxxxxxxxx>; Nilawar, Badal > <badal.nilawar@xxxxxxxxx> > Subject: [PATCH v3 2/3] drm/i915/hwmon: Add helper function to obtain > energy values > > Add an interface to obtain hwmon energy values. This is used by selftest to > verify power consumption > > v2 : use i915_hwmon prefix (Anshuman) > v3 : re-use is_visible function of energy to remove > redundant code (Anshuman) > > Signed-off-by: Riana Tauro <riana.tauro@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_hwmon.c | 17 +++++++++++++++++ > drivers/gpu/drm/i915/i915_hwmon.h | 1 + > 2 files changed, 18 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_hwmon.c > b/drivers/gpu/drm/i915/i915_hwmon.c > index c588a17f97e9..d45d1cbce886 100644 > --- a/drivers/gpu/drm/i915/i915_hwmon.c > +++ b/drivers/gpu/drm/i915/i915_hwmon.c > @@ -442,6 +442,23 @@ hwm_energy_read(struct hwm_drvdata *ddat, u32 > attr, long *val) > } > } > > +/* > + * i915_hwmon_get_energy - obtains energy value > + * Returns: 0 on success or a negative error code */ int Adding comment for exported function should be Kennel Doc comments. https://docs.kernel.org/doc-guide/kernel-doc.html With that Reviewed-by: Anshuman Gupta <anshuman.gupta@xxxxxxxxx> > +i915_hwmon_get_energy(struct drm_i915_private *i915, long *energy) { > + struct i915_hwmon *hwmon = i915->hwmon; > + struct hwm_drvdata *ddat = &hwmon->ddat; > + > + if (!hwm_energy_is_visible(ddat, hwmon_energy_input)) > + return -EOPNOTSUPP; > + > + hwm_energy(ddat, energy); > + return 0; > +} > + > static umode_t > hwm_curr_is_visible(const struct hwm_drvdata *ddat, u32 attr) { diff --git > a/drivers/gpu/drm/i915/i915_hwmon.h > b/drivers/gpu/drm/i915/i915_hwmon.h > index 7ca9cf2c34c9..a6c8efeb868d 100644 > --- a/drivers/gpu/drm/i915/i915_hwmon.h > +++ b/drivers/gpu/drm/i915/i915_hwmon.h > @@ -12,6 +12,7 @@ struct drm_i915_private; #if > IS_REACHABLE(CONFIG_HWMON) void i915_hwmon_register(struct > drm_i915_private *i915); void i915_hwmon_unregister(struct > drm_i915_private *i915); > +int i915_hwmon_get_energy(struct drm_i915_private *i915, long *energy); > #else > static inline void i915_hwmon_register(struct drm_i915_private *i915) { }; > static inline void i915_hwmon_unregister(struct drm_i915_private *i915) { }; > -- > 2.25.1