From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Neil Armstrong" <narmstrong@baylibre.com>,
"Kevin Hilman" <khilman@baylibre.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"open list:ARM/Amlogic Meson..."
<linux-amlogic@lists.infradead.org>,
linux-pwm@vger.kernel.org
Subject: [PATCH v4 3/4] pwm: meson: change clk/pwm gate from mask to bit
Date: Thu, 13 Apr 2023 07:51:39 +0200 [thread overview]
Message-ID: <4236e082-fd21-c393-dc75-ad6bb0533249@gmail.com> (raw)
In-Reply-To: <9faca2e6-b7a1-4748-7eb0-48f8064e323e@gmail.com>
Change single-bit values from mask to bit. This facilitates
CCF initialization for the clock gate in a follow-up patch.
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/pwm/pwm-meson.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
index 2a86867c1..40a8709ff 100644
--- a/drivers/pwm/pwm-meson.c
+++ b/drivers/pwm/pwm-meson.c
@@ -49,16 +49,16 @@
#define PWM_HIGH_MASK GENMASK(31, 16)
#define REG_MISC_AB 0x8
-#define MISC_B_CLK_EN BIT(23)
-#define MISC_A_CLK_EN BIT(15)
+#define MISC_B_CLK_EN 23
+#define MISC_A_CLK_EN 15
#define MISC_CLK_DIV_MASK 0x7f
#define MISC_B_CLK_DIV_SHIFT 16
#define MISC_A_CLK_DIV_SHIFT 8
#define MISC_B_CLK_SEL_SHIFT 6
#define MISC_A_CLK_SEL_SHIFT 4
#define MISC_CLK_SEL_MASK 0x3
-#define MISC_B_EN BIT(1)
-#define MISC_A_EN BIT(0)
+#define MISC_B_EN 1
+#define MISC_A_EN 0
#define MESON_NUM_PWMS 2
#define MESON_MAX_MUX_PARENTS 4
@@ -67,22 +67,22 @@ static struct meson_pwm_channel_data {
u8 reg_offset;
u8 clk_sel_shift;
u8 clk_div_shift;
- u32 clk_en_mask;
- u32 pwm_en_mask;
+ u8 clk_en_bit;
+ u8 pwm_en_bit;
} meson_pwm_per_channel_data[MESON_NUM_PWMS] = {
{
.reg_offset = REG_PWM_A,
.clk_sel_shift = MISC_A_CLK_SEL_SHIFT,
.clk_div_shift = MISC_A_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_A_CLK_EN,
- .pwm_en_mask = MISC_A_EN,
+ .clk_en_bit = MISC_A_CLK_EN,
+ .pwm_en_bit = MISC_A_EN,
},
{
.reg_offset = REG_PWM_B,
.clk_sel_shift = MISC_B_CLK_SEL_SHIFT,
.clk_div_shift = MISC_B_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_B_CLK_EN,
- .pwm_en_mask = MISC_B_EN,
+ .clk_en_bit = MISC_B_CLK_EN,
+ .pwm_en_bit = MISC_B_EN,
}
};
@@ -231,7 +231,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
value = readl(meson->base + REG_MISC_AB);
value &= ~(MISC_CLK_DIV_MASK << channel_data->clk_div_shift);
value |= channel->pre_div << channel_data->clk_div_shift;
- value |= channel_data->clk_en_mask;
+ value |= BIT(channel_data->clk_en_bit);
writel(value, meson->base + REG_MISC_AB);
value = FIELD_PREP(PWM_HIGH_MASK, channel->hi) |
@@ -239,7 +239,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
writel(value, meson->base + channel_data->reg_offset);
value = readl(meson->base + REG_MISC_AB);
- value |= channel_data->pwm_en_mask;
+ value |= BIT(channel_data->pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -253,7 +253,7 @@ static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm)
spin_lock_irqsave(&meson->lock, flags);
value = readl(meson->base + REG_MISC_AB);
- value &= ~meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_mask;
+ value &= ~BIT(meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -335,7 +335,7 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
value = readl(meson->base + REG_MISC_AB);
- tmp = channel_data->pwm_en_mask | channel_data->clk_en_mask;
+ tmp = BIT(channel_data->pwm_en_bit) | BIT(channel_data->clk_en_bit);
state->enabled = (value & tmp) == tmp;
tmp = value >> channel_data->clk_div_shift;
--
2.40.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Neil Armstrong" <narmstrong@baylibre.com>,
"Kevin Hilman" <khilman@baylibre.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"open list:ARM/Amlogic Meson..."
<linux-amlogic@lists.infradead.org>,
linux-pwm@vger.kernel.org
Subject: [PATCH v4 3/4] pwm: meson: change clk/pwm gate from mask to bit
Date: Thu, 13 Apr 2023 07:51:39 +0200 [thread overview]
Message-ID: <4236e082-fd21-c393-dc75-ad6bb0533249@gmail.com> (raw)
In-Reply-To: <9faca2e6-b7a1-4748-7eb0-48f8064e323e@gmail.com>
Change single-bit values from mask to bit. This facilitates
CCF initialization for the clock gate in a follow-up patch.
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/pwm/pwm-meson.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
index 2a86867c1..40a8709ff 100644
--- a/drivers/pwm/pwm-meson.c
+++ b/drivers/pwm/pwm-meson.c
@@ -49,16 +49,16 @@
#define PWM_HIGH_MASK GENMASK(31, 16)
#define REG_MISC_AB 0x8
-#define MISC_B_CLK_EN BIT(23)
-#define MISC_A_CLK_EN BIT(15)
+#define MISC_B_CLK_EN 23
+#define MISC_A_CLK_EN 15
#define MISC_CLK_DIV_MASK 0x7f
#define MISC_B_CLK_DIV_SHIFT 16
#define MISC_A_CLK_DIV_SHIFT 8
#define MISC_B_CLK_SEL_SHIFT 6
#define MISC_A_CLK_SEL_SHIFT 4
#define MISC_CLK_SEL_MASK 0x3
-#define MISC_B_EN BIT(1)
-#define MISC_A_EN BIT(0)
+#define MISC_B_EN 1
+#define MISC_A_EN 0
#define MESON_NUM_PWMS 2
#define MESON_MAX_MUX_PARENTS 4
@@ -67,22 +67,22 @@ static struct meson_pwm_channel_data {
u8 reg_offset;
u8 clk_sel_shift;
u8 clk_div_shift;
- u32 clk_en_mask;
- u32 pwm_en_mask;
+ u8 clk_en_bit;
+ u8 pwm_en_bit;
} meson_pwm_per_channel_data[MESON_NUM_PWMS] = {
{
.reg_offset = REG_PWM_A,
.clk_sel_shift = MISC_A_CLK_SEL_SHIFT,
.clk_div_shift = MISC_A_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_A_CLK_EN,
- .pwm_en_mask = MISC_A_EN,
+ .clk_en_bit = MISC_A_CLK_EN,
+ .pwm_en_bit = MISC_A_EN,
},
{
.reg_offset = REG_PWM_B,
.clk_sel_shift = MISC_B_CLK_SEL_SHIFT,
.clk_div_shift = MISC_B_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_B_CLK_EN,
- .pwm_en_mask = MISC_B_EN,
+ .clk_en_bit = MISC_B_CLK_EN,
+ .pwm_en_bit = MISC_B_EN,
}
};
@@ -231,7 +231,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
value = readl(meson->base + REG_MISC_AB);
value &= ~(MISC_CLK_DIV_MASK << channel_data->clk_div_shift);
value |= channel->pre_div << channel_data->clk_div_shift;
- value |= channel_data->clk_en_mask;
+ value |= BIT(channel_data->clk_en_bit);
writel(value, meson->base + REG_MISC_AB);
value = FIELD_PREP(PWM_HIGH_MASK, channel->hi) |
@@ -239,7 +239,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
writel(value, meson->base + channel_data->reg_offset);
value = readl(meson->base + REG_MISC_AB);
- value |= channel_data->pwm_en_mask;
+ value |= BIT(channel_data->pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -253,7 +253,7 @@ static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm)
spin_lock_irqsave(&meson->lock, flags);
value = readl(meson->base + REG_MISC_AB);
- value &= ~meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_mask;
+ value &= ~BIT(meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -335,7 +335,7 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
value = readl(meson->base + REG_MISC_AB);
- tmp = channel_data->pwm_en_mask | channel_data->clk_en_mask;
+ tmp = BIT(channel_data->pwm_en_bit) | BIT(channel_data->clk_en_bit);
state->enabled = (value & tmp) == tmp;
tmp = value >> channel_data->clk_div_shift;
--
2.40.0
WARNING: multiple messages have this Message-ID (diff)
From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Neil Armstrong" <narmstrong@baylibre.com>,
"Kevin Hilman" <khilman@baylibre.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"thierry.reding@gmail.com" <thierry.reding@gmail.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"open list:ARM/Amlogic Meson..."
<linux-amlogic@lists.infradead.org>,
linux-pwm@vger.kernel.org
Subject: [PATCH v4 3/4] pwm: meson: change clk/pwm gate from mask to bit
Date: Thu, 13 Apr 2023 07:51:39 +0200 [thread overview]
Message-ID: <4236e082-fd21-c393-dc75-ad6bb0533249@gmail.com> (raw)
In-Reply-To: <9faca2e6-b7a1-4748-7eb0-48f8064e323e@gmail.com>
Change single-bit values from mask to bit. This facilitates
CCF initialization for the clock gate in a follow-up patch.
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/pwm/pwm-meson.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
index 2a86867c1..40a8709ff 100644
--- a/drivers/pwm/pwm-meson.c
+++ b/drivers/pwm/pwm-meson.c
@@ -49,16 +49,16 @@
#define PWM_HIGH_MASK GENMASK(31, 16)
#define REG_MISC_AB 0x8
-#define MISC_B_CLK_EN BIT(23)
-#define MISC_A_CLK_EN BIT(15)
+#define MISC_B_CLK_EN 23
+#define MISC_A_CLK_EN 15
#define MISC_CLK_DIV_MASK 0x7f
#define MISC_B_CLK_DIV_SHIFT 16
#define MISC_A_CLK_DIV_SHIFT 8
#define MISC_B_CLK_SEL_SHIFT 6
#define MISC_A_CLK_SEL_SHIFT 4
#define MISC_CLK_SEL_MASK 0x3
-#define MISC_B_EN BIT(1)
-#define MISC_A_EN BIT(0)
+#define MISC_B_EN 1
+#define MISC_A_EN 0
#define MESON_NUM_PWMS 2
#define MESON_MAX_MUX_PARENTS 4
@@ -67,22 +67,22 @@ static struct meson_pwm_channel_data {
u8 reg_offset;
u8 clk_sel_shift;
u8 clk_div_shift;
- u32 clk_en_mask;
- u32 pwm_en_mask;
+ u8 clk_en_bit;
+ u8 pwm_en_bit;
} meson_pwm_per_channel_data[MESON_NUM_PWMS] = {
{
.reg_offset = REG_PWM_A,
.clk_sel_shift = MISC_A_CLK_SEL_SHIFT,
.clk_div_shift = MISC_A_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_A_CLK_EN,
- .pwm_en_mask = MISC_A_EN,
+ .clk_en_bit = MISC_A_CLK_EN,
+ .pwm_en_bit = MISC_A_EN,
},
{
.reg_offset = REG_PWM_B,
.clk_sel_shift = MISC_B_CLK_SEL_SHIFT,
.clk_div_shift = MISC_B_CLK_DIV_SHIFT,
- .clk_en_mask = MISC_B_CLK_EN,
- .pwm_en_mask = MISC_B_EN,
+ .clk_en_bit = MISC_B_CLK_EN,
+ .pwm_en_bit = MISC_B_EN,
}
};
@@ -231,7 +231,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
value = readl(meson->base + REG_MISC_AB);
value &= ~(MISC_CLK_DIV_MASK << channel_data->clk_div_shift);
value |= channel->pre_div << channel_data->clk_div_shift;
- value |= channel_data->clk_en_mask;
+ value |= BIT(channel_data->clk_en_bit);
writel(value, meson->base + REG_MISC_AB);
value = FIELD_PREP(PWM_HIGH_MASK, channel->hi) |
@@ -239,7 +239,7 @@ static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
writel(value, meson->base + channel_data->reg_offset);
value = readl(meson->base + REG_MISC_AB);
- value |= channel_data->pwm_en_mask;
+ value |= BIT(channel_data->pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -253,7 +253,7 @@ static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm)
spin_lock_irqsave(&meson->lock, flags);
value = readl(meson->base + REG_MISC_AB);
- value &= ~meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_mask;
+ value &= ~BIT(meson_pwm_per_channel_data[pwm->hwpwm].pwm_en_bit);
writel(value, meson->base + REG_MISC_AB);
spin_unlock_irqrestore(&meson->lock, flags);
@@ -335,7 +335,7 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
value = readl(meson->base + REG_MISC_AB);
- tmp = channel_data->pwm_en_mask | channel_data->clk_en_mask;
+ tmp = BIT(channel_data->pwm_en_bit) | BIT(channel_data->clk_en_bit);
state->enabled = (value & tmp) == tmp;
tmp = value >> channel_data->clk_div_shift;
--
2.40.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-04-13 7:01 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 5:48 [PATCH v4 0/4] pwm: meson: make full use of common clock framework Heiner Kallweit
2023-04-13 5:48 ` Heiner Kallweit
2023-04-13 5:48 ` Heiner Kallweit
2023-04-13 5:49 ` [PATCH v4 1/4] pwm: meson: switch to using struct clk_parent_data for mux parents Heiner Kallweit
2023-04-13 5:49 ` Heiner Kallweit
2023-04-13 5:49 ` Heiner Kallweit
2023-04-13 5:50 ` [PATCH v4 2/4] pwm: meson: don't use hdmi/video clock as mux parent Heiner Kallweit
2023-04-13 5:50 ` Heiner Kallweit
2023-04-13 5:50 ` Heiner Kallweit
2023-04-13 5:51 ` Heiner Kallweit [this message]
2023-04-13 5:51 ` [PATCH v4 3/4] pwm: meson: change clk/pwm gate from mask to bit Heiner Kallweit
2023-04-13 5:51 ` Heiner Kallweit
2023-04-13 5:54 ` [PATCH v4 4/4] pwm: meson: make full use of common clock framework Heiner Kallweit
2023-04-13 5:54 ` Heiner Kallweit
2023-04-13 5:54 ` Heiner Kallweit
2023-04-14 19:39 ` Martin Blumenstingl
2023-04-14 19:39 ` Martin Blumenstingl
2023-04-14 19:39 ` Martin Blumenstingl
2023-04-15 6:39 ` Heiner Kallweit
2023-04-15 6:39 ` Heiner Kallweit
2023-04-15 6:39 ` Heiner Kallweit
2023-04-16 19:26 ` Martin Blumenstingl
2023-04-16 19:26 ` Martin Blumenstingl
2023-04-16 19:26 ` Martin Blumenstingl
2023-04-16 21:34 ` Heiner Kallweit
2023-04-16 21:34 ` Heiner Kallweit
2023-04-16 21:34 ` Heiner Kallweit
2023-04-23 20:55 ` Martin Blumenstingl
2023-04-23 20:55 ` Martin Blumenstingl
2023-04-23 20:55 ` Martin Blumenstingl
2023-04-17 7:23 ` Neil Armstrong
2023-04-17 7:23 ` Neil Armstrong
2023-04-17 7:23 ` Neil Armstrong
2023-04-17 9:17 ` Thierry Reding
2023-04-17 9:17 ` Thierry Reding
2023-04-17 9:17 ` Thierry Reding
2023-04-17 9:53 ` Heiner Kallweit
2023-04-17 9:53 ` Heiner Kallweit
2023-04-17 9:53 ` Heiner Kallweit
2023-04-17 9:59 ` neil.armstrong
2023-04-17 9:59 ` neil.armstrong
2023-04-17 9:59 ` neil.armstrong
2023-04-17 10:36 ` Heiner Kallweit
2023-04-17 10:36 ` Heiner Kallweit
2023-04-17 10:36 ` Heiner Kallweit
2023-04-17 12:21 ` neil.armstrong
2023-04-17 12:21 ` neil.armstrong
2023-04-17 12:21 ` neil.armstrong
2023-04-19 19:58 ` Heiner Kallweit
2023-04-19 19:58 ` Heiner Kallweit
2023-04-19 19:58 ` Heiner Kallweit
2023-04-21 7:39 ` neil.armstrong
2023-04-21 7:39 ` neil.armstrong
2023-04-21 7:39 ` neil.armstrong
2023-04-23 20:58 ` Martin Blumenstingl
2023-04-23 20:58 ` Martin Blumenstingl
2023-04-23 20:58 ` Martin Blumenstingl
2023-05-01 13:39 ` Heiner Kallweit
2023-05-01 13:39 ` Heiner Kallweit
2023-05-01 13:39 ` Heiner Kallweit
2023-05-19 15:30 ` Dmitry Rokosov
2023-05-19 15:30 ` Dmitry Rokosov
2023-05-19 15:30 ` Dmitry Rokosov
2023-05-19 16:53 ` Heiner Kallweit
2023-05-19 16:53 ` Heiner Kallweit
2023-05-19 16:53 ` Heiner Kallweit
2023-05-22 13:37 ` Dmitry Rokosov
2023-05-22 13:37 ` Dmitry Rokosov
2023-05-22 13:37 ` Dmitry Rokosov
2023-05-22 20:10 ` Heiner Kallweit
2023-05-22 20:10 ` Heiner Kallweit
2023-05-22 20:10 ` Heiner Kallweit
2023-05-23 10:28 ` Dmitry Rokosov
2023-05-23 10:28 ` Dmitry Rokosov
2023-05-23 10:28 ` Dmitry Rokosov
2023-05-23 19:22 ` Heiner Kallweit
2023-05-23 19:22 ` Heiner Kallweit
2023-05-23 19:22 ` Heiner Kallweit
2023-04-17 7:19 ` [PATCH v4 0/4] " Neil Armstrong
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=4236e082-fd21-c393-dc75-ad6bb0533249@gmail.com \
--to=hkallweit1@gmail.com \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pwm@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=narmstrong@baylibre.com \
--cc=thierry.reding@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.