From: Guenter Roeck <linux@roeck-us.net>
To: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
Cc: patrick@stwcx.xyz, Jean Delvare <jdelvare@suse.com>,
linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] hwmon: max31790: revise the scale to write pwm
Date: Fri, 12 Apr 2024 06:03:21 -0700 [thread overview]
Message-ID: <d82d5585-ec6c-4611-ad33-9c2d00745176@roeck-us.net> (raw)
In-Reply-To: <20240412032559.3352846-1-Delphine_CC_Chiu@wiwynn.com>
On Fri, Apr 12, 2024 at 11:25:58AM +0800, Delphine CC Chiu wrote:
> Since the value for PWMOUT Target Duty Cycle register is a 9 bit
> left-justified value that ranges from 0 to 511 and is contained in 2
> bytes.
>
> There is an issue that the LSB of the 9 bit would always be zero if it
> just left shift 8 bit for the value that write to PWMOUT Target Duty
> Cycle register.
>
> Therefore, revise the scale of the value that was writen to pwm input
> from 255 to 511 and modify the value to left-justified value.
>
The only difference is that it writes 511 instead of 510. All other
values are the same. I am not sure if that is really worth the
trouble. It would have made a little more sense to me if you had
used DIV_ROUND_CLOSEST(), but you didn't do that. As it is, I really
don't understand the point. If it is really important to write 511
instead of 510, the commit description should explain that and not
talk about the last bit always being zero (which it still is after
this patch except, again, when writing 511 instead of 510).
Thanks,
Guenter
> Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
> ---
> drivers/hwmon/max31790.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/max31790.c b/drivers/hwmon/max31790.c
> index 3dc95196b229..bd201191da1c 100644
> --- a/drivers/hwmon/max31790.c
> +++ b/drivers/hwmon/max31790.c
> @@ -49,6 +49,9 @@
>
> #define NR_CHANNEL 6
>
> +#define PWM_INPUT_SCALE 255
> +#define MAX31790_REG_PWMOUT_SCALE 511
> +
> /*
> * Client data (each client gets its own)
> */
> @@ -343,10 +346,12 @@ static int max31790_write_pwm(struct device *dev, u32 attr, int channel,
> err = -EINVAL;
> break;
> }
> +
> + val = val * MAX31790_REG_PWMOUT_SCALE / PWM_INPUT_SCALE;
> data->valid = false;
> err = i2c_smbus_write_word_swapped(client,
> MAX31790_REG_PWMOUT(channel),
> - val << 8);
> + val << 7);
> break;
> case hwmon_pwm_enable:
> fan_config = data->fan_config[channel];
> --
> 2.25.1
>
next prev parent reply other threads:[~2024-04-12 13:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-12 3:25 Delphine CC Chiu
2024-04-12 13:03 ` Guenter Roeck [this message]
2024-04-16 1:48 ` Delphine_CC_Chiu/WYHQ/Wiwynn
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=d82d5585-ec6c-4611-ad33-9c2d00745176@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Delphine_CC_Chiu@wiwynn.com \
--cc=jdelvare@suse.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patrick@stwcx.xyz \
/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
all inboxes | Powered by JetHome®