* [PATCH] clocksource: exynos4: Fix wrong bit operation in exynos4_mct_write()
@ 2014-02-04 10:48 Jonghwa Lee
[not found] ` <CAH9JG2Ut4J=fQJ26RBafpB1WNe2Sd4Wv04L7xHns1=UxrhYoOQ@mail.gmail.com>
0 siblings, 1 reply; 2+ messages in thread
From: Jonghwa Lee @ 2014-02-04 10:48 UTC (permalink / raw)
To: linux-kernel
Cc: thomas.abraham, daniel.lezcano, tglx, Jonghwa Lee, MyungJoo Ham
There was a faulty bit operation during checking offset in exynos4_mct_write().
This patch fixes it correctly.
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
---
drivers/clocksource/exynos_mct.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 62b0de6..e60b019 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -94,8 +94,8 @@ static void exynos4_mct_write(unsigned int value, unsigned long offset)
__raw_writel(value, reg_base + offset);
if (likely(offset >= EXYNOS4_MCT_L_BASE(0))) {
- stat_addr = (offset & ~EXYNOS4_MCT_L_MASK) + MCT_L_WSTAT_OFFSET;
- switch (offset & EXYNOS4_MCT_L_MASK) {
+ stat_addr = (offset & EXYNOS4_MCT_L_MASK) + MCT_L_WSTAT_OFFSET;
+ switch (offset & ~EXYNOS4_MCT_L_MASK) {
case MCT_L_TCON_OFFSET:
mask = 1 << 3; /* L_TCON write status */
break;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] clocksource: exynos4: Fix wrong bit operation in exynos4_mct_write()
[not found] ` <CAH9JG2Ut4J=fQJ26RBafpB1WNe2Sd4Wv04L7xHns1=UxrhYoOQ@mail.gmail.com>
@ 2014-02-05 0:59 ` jonghwa3.lee
0 siblings, 0 replies; 2+ messages in thread
From: jonghwa3.lee @ 2014-02-05 0:59 UTC (permalink / raw)
To: Kyungmin Park
Cc: linux-kernel@vger.kernel.org, thomas.abraham@linaro.org,
daniel.lezcano@linaro.org, tglx@linutronix.de, MyungJoo Ham,
최찬우
On 2014년 02월 04일 22:01, Kyungmin Park wrote:
>
>
> On Tuesday, February 4, 2014, Jonghwa Lee <jonghwa3.lee@samsung.com
> <mailto:jonghwa3.lee@samsung.com>> wrote:
>
> There was a faulty bit operation during checking offset in exynos4_mct_write().
> This patch fixes it correctly.
>
> What's the issue? What's happened with current code?
Whether it would be applied or not, current code looks working fine. Because
those things are just needed to confirm writing to certain register. The
technical reference manual recommends users to check write status register for
some specified registers, e.g. control register. However current code always
skip checking write status even we access the registers required. It will just
executed writing operation only and leave write status uncleared.
Thanks,
Jonghwa
>
> Thank you,
> Kyungmin Park
>
>
> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com <javascript:;>>
> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com <javascript:;>>
> ---
> drivers/clocksource/exynos_mct.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
> index 62b0de6..e60b019 100644
> --- a/drivers/clocksource/exynos_mct.c
> +++ b/drivers/clocksource/exynos_mct.c
> @@ -94,8 +94,8 @@ static void exynos4_mct_write(unsigned int value, unsigned
> long offset)
> __raw_writel(value, reg_base + offset);
>
> if (likely(offset >= EXYNOS4_MCT_L_BASE(0))) {
> - stat_addr = (offset & ~EXYNOS4_MCT_L_MASK) + MCT_L_WSTAT_OFFSET;
> - switch (offset & EXYNOS4_MCT_L_MASK) {
> + stat_addr = (offset & EXYNOS4_MCT_L_MASK) + MCT_L_WSTAT_OFFSET;
> + switch (offset & ~EXYNOS4_MCT_L_MASK) {
> case MCT_L_TCON_OFFSET:
> mask = 1 << 3; /* L_TCON write status */
> break;
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org <javascript:;>
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-02-05 0:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-04 10:48 [PATCH] clocksource: exynos4: Fix wrong bit operation in exynos4_mct_write() Jonghwa Lee
[not found] ` <CAH9JG2Ut4J=fQJ26RBafpB1WNe2Sd4Wv04L7xHns1=UxrhYoOQ@mail.gmail.com>
2014-02-05 0:59 ` jonghwa3.lee
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox