From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Raag Jadav <raag.jadav@intel.com>
Cc: jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com,
rodrigo.vivi@intel.com, tursulin@ursulin.net, airlied@gmail.com,
daniel@ffwll.ch, linux@roeck-us.net, andi.shyti@linux.intel.com,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
anshuman.gupta@intel.com, badal.nilawar@intel.com,
riana.tauro@intel.com, ashutosh.dixit@intel.com,
karthik.poosa@intel.com
Subject: Re: [PATCH v4] drm/i915/hwmon: expose fan speed
Date: Fri, 9 Aug 2024 14:48:08 +0300 [thread overview]
Message-ID: <ZrYB-GI9L2RSc2bt@smile.fi.intel.com> (raw)
In-Reply-To: <20240809061525.1368153-1-raag.jadav@intel.com>
On Fri, Aug 09, 2024 at 11:45:25AM +0530, Raag Jadav wrote:
> Add hwmon support for fan1_input attribute, which will expose fan speed
> in RPM. With this in place we can monitor fan speed using lm-sensors tool.
>
> $ sensors
> i915-pci-0300
> Adapter: PCI adapter
> in0: 653.00 mV
> fan1: 3833 RPM
> power1: N/A (max = 43.00 W)
> energy1: 32.02 kJ
> v2:
> - Add mutex protection
> - Handle overflow
> - Add ABI documentation
> - Aesthetic adjustments (Riana)
>
> v3:
> - Declare rotations as "long" and drop redundant casting
> - Change date and version in ABI documentation
> - Add commenter name in changelog (Riana)
>
> v4:
> - Fix wakeref leak
> - Drop switch case and simplify hwm_fan_xx() (Andi)
I do not understand why we pollute Git history with changelogs, but it's
probably the ugly atavism in DRM workflow.
...
> +hwm_fan_is_visible(const struct hwm_drvdata *ddat, u32 attr)
> +{
> + struct i915_hwmon *hwmon = ddat->hwmon;
> +
> + return attr == hwmon_fan_input &&
> + i915_mmio_reg_valid(hwmon->rg.fan_speed) ? 0444 : 0;
Not sure why ternary here, it's not well readable in my opinion.
if (attr == hwmon_fan_input && i915_mmio_reg_valid(hwmon->rg.fan_speed))
return 0444;
return 0;
looks better, no?
> +}
...
> + /*
> + * HW register value is accumulated count of pulses from
> + * PWM fan with the scale of 2 pulses per rotation.
> + */
> + rotations = pulses >> 1;
In accordance with the comment the
rotations = pulses / 2;
looks better.
...
(1)
> + time = time_now - fi->time_prev;
> +
I think location of this blank line is better at (1) above.
> + if (unlikely(!time)) {
> + ret = -EAGAIN;
> + goto exit;
> + }
...
> + /* Convert to minutes for calculating RPM */
> + *val = DIV_ROUND_UP(rotations * (60 * MSEC_PER_SEC), time);
Have you considered to keep jiffies in the fi and use something from jiffies.h
here? To me it feels like we multiply and divide when it can be avoided.
Please, think about it (I haven't checked myself, just an idea to share).
Also comment probably needs to be expanded to explain the formulas behind all
this.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2024-08-09 11:48 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-09 6:15 [PATCH v4] drm/i915/hwmon: expose fan speed Raag Jadav
2024-08-09 9:33 ` Nilawar, Badal
2024-08-09 10:10 ` Raag Jadav
2024-08-09 10:16 ` Andi Shyti
2024-08-14 8:37 ` Nilawar, Badal
2024-08-19 6:50 ` Raag Jadav
2024-08-19 15:22 ` Andi Shyti
2024-08-09 11:48 ` Andy Shevchenko [this message]
2024-08-09 11:57 ` Andi Shyti
2024-08-20 9:00 ` Raag Jadav
2024-08-20 21:49 ` Rodrigo Vivi
2024-08-21 3:52 ` Raag Jadav
2024-08-21 11:39 ` Andy Shevchenko
2024-08-21 11:38 ` Andy Shevchenko
2024-08-09 14:55 ` Raag Jadav
2024-08-13 11:23 ` Raag Jadav
2024-08-13 11:47 ` Andy Shevchenko
2024-08-13 12:53 ` Raag Jadav
2024-08-13 13:07 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZrYB-GI9L2RSc2bt@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=airlied@gmail.com \
--cc=andi.shyti@linux.intel.com \
--cc=anshuman.gupta@intel.com \
--cc=ashutosh.dixit@intel.com \
--cc=badal.nilawar@intel.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=karthik.poosa@intel.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=raag.jadav@intel.com \
--cc=riana.tauro@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=tursulin@ursulin.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox