mirror of
https://github.com/armbian/build.git
synced 2025-08-10 21:26:59 +02:00
40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: hzy <hzyitc@outlook.com>
|
|
Date: Sat, 18 Nov 2023 01:22:04 +0800
|
|
Subject: Revert "pwm: meson: modify and simplify calculation in
|
|
meson_pwm_get_state"
|
|
|
|
This reverts commit 6b9352f3f8a1a35faf0efc1ad1807ee303467796.
|
|
---
|
|
drivers/pwm/pwm-meson.c | 14 ++++++++--
|
|
1 file changed, 12 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
|
|
index 111111111111..222222222222 100644
|
|
--- a/drivers/pwm/pwm-meson.c
|
|
+++ b/drivers/pwm/pwm-meson.c
|
|
@@ -322,8 +322,18 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
|
|
channel->lo = FIELD_GET(PWM_LOW_MASK, value);
|
|
channel->hi = FIELD_GET(PWM_HIGH_MASK, value);
|
|
|
|
- state->period = meson_pwm_cnt_to_ns(chip, pwm, channel->lo + channel->hi);
|
|
- state->duty_cycle = meson_pwm_cnt_to_ns(chip, pwm, channel->hi);
|
|
+ if (channel->lo == 0) {
|
|
+ state->period = meson_pwm_cnt_to_ns(chip, pwm, channel->hi);
|
|
+ state->duty_cycle = state->period;
|
|
+ } else if (channel->lo >= channel->hi) {
|
|
+ state->period = meson_pwm_cnt_to_ns(chip, pwm,
|
|
+ channel->lo + channel->hi);
|
|
+ state->duty_cycle = meson_pwm_cnt_to_ns(chip, pwm,
|
|
+ channel->hi);
|
|
+ } else {
|
|
+ state->period = 0;
|
|
+ state->duty_cycle = 0;
|
|
+ }
|
|
|
|
state->polarity = PWM_POLARITY_NORMAL;
|
|
|
|
--
|
|
Armbian
|
|
|