drm/i915/hwmon: Accept writes of value 0 to power1_max_interval
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Tue, 28 Feb 2023 04:43:34 +0000 (20:43 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 1 Mar 2023 16:25:36 +0000 (11:25 -0500)
commit12e8ed969852c11503216115952c84f7c2f4c6b5
tree1f4dab73fb9619cb62a240764c302f6c48cc69fa
parent30c35a4ba9cd91e07825da8e2846887cb000114c
drm/i915/hwmon: Accept writes of value 0 to power1_max_interval

The value shown by power1_max_interval in millisec is essentially:
((1.x * power(2,y)) * 1000) >> 10
Where x and y are read from a HW register. On ATSM, x and y are 0 on
power-up so the value shown is 0.

Writes of 0 to power1_max_interval had previously been disallowed to avoid
computing ilog2(0) but this resulted in the corner-case bug
below. Therefore allow writes of 0 now but special case that write to
x = y = 0.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7754
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230228044334.3630391-1-ashutosh.dixit@intel.com
drivers/gpu/drm/i915/i915_hwmon.c