* [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-05 12:59 ` Alain Volmat
0 siblings, 0 replies; 8+ messages in thread
From: Alain Volmat @ 2020-03-05 12:59 UTC (permalink / raw)
To: wsa, pierre-yves.mordret
Cc: alain.volmat, alexandre.torgue, linux-i2c, linux-stm32,
linux-arm-kernel, linux-kernel, fabrice.gasnier
The PECR register provides received packet computed PEC value.
It makes no sense restoring its value after a reset, and anyway,
as read-only register it cannot be restored.
Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
Signed-off-by: Alain Volmat <alain.volmat@st.com>
---
drivers/i2c/busses/i2c-stm32f7.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
index 378956ac6d1d..4d7401d62b71 100644
--- a/drivers/i2c/busses/i2c-stm32f7.c
+++ b/drivers/i2c/busses/i2c-stm32f7.c
@@ -176,7 +176,6 @@
* @cr2: Control register 2
* @oar1: Own address 1 register
* @oar2: Own address 2 register
- * @pecr: PEC register
* @tmgr: Timing register
*/
struct stm32f7_i2c_regs {
@@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
u32 cr2;
u32 oar1;
u32 oar2;
- u32 pecr;
u32 tmgr;
};
@@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
- backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
pm_runtime_put_sync(i2c_dev->dev);
@@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
- writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
pm_runtime_put_sync(i2c_dev->dev);
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-05 12:59 ` Alain Volmat
0 siblings, 0 replies; 8+ messages in thread
From: Alain Volmat @ 2020-03-05 12:59 UTC (permalink / raw)
To: wsa, pierre-yves.mordret
Cc: alain.volmat, alexandre.torgue, linux-i2c, linux-stm32,
linux-arm-kernel, linux-kernel, fabrice.gasnier
The PECR register provides received packet computed PEC value.
It makes no sense restoring its value after a reset, and anyway,
as read-only register it cannot be restored.
Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
Signed-off-by: Alain Volmat <alain.volmat@st.com>
---
drivers/i2c/busses/i2c-stm32f7.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
index 378956ac6d1d..4d7401d62b71 100644
--- a/drivers/i2c/busses/i2c-stm32f7.c
+++ b/drivers/i2c/busses/i2c-stm32f7.c
@@ -176,7 +176,6 @@
* @cr2: Control register 2
* @oar1: Own address 1 register
* @oar2: Own address 2 register
- * @pecr: PEC register
* @tmgr: Timing register
*/
struct stm32f7_i2c_regs {
@@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
u32 cr2;
u32 oar1;
u32 oar2;
- u32 pecr;
u32 tmgr;
};
@@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
- backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
pm_runtime_put_sync(i2c_dev->dev);
@@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
- writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
pm_runtime_put_sync(i2c_dev->dev);
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-05 12:59 ` Alain Volmat
0 siblings, 0 replies; 8+ messages in thread
From: Alain Volmat @ 2020-03-05 12:59 UTC (permalink / raw)
To: wsa, pierre-yves.mordret
Cc: alexandre.torgue, linux-kernel, alain.volmat, linux-i2c,
fabrice.gasnier, linux-stm32, linux-arm-kernel
The PECR register provides received packet computed PEC value.
It makes no sense restoring its value after a reset, and anyway,
as read-only register it cannot be restored.
Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
Signed-off-by: Alain Volmat <alain.volmat@st.com>
---
drivers/i2c/busses/i2c-stm32f7.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
index 378956ac6d1d..4d7401d62b71 100644
--- a/drivers/i2c/busses/i2c-stm32f7.c
+++ b/drivers/i2c/busses/i2c-stm32f7.c
@@ -176,7 +176,6 @@
* @cr2: Control register 2
* @oar1: Own address 1 register
* @oar2: Own address 2 register
- * @pecr: PEC register
* @tmgr: Timing register
*/
struct stm32f7_i2c_regs {
@@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
u32 cr2;
u32 oar1;
u32 oar2;
- u32 pecr;
u32 tmgr;
};
@@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
- backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
pm_runtime_put_sync(i2c_dev->dev);
@@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
- writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
pm_runtime_put_sync(i2c_dev->dev);
--
2.7.4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] i2c: stm32f7: do not backup read-only PECR register
2020-03-05 12:59 ` Alain Volmat
(?)
@ 2020-03-09 14:52 ` Pierre Yves MORDRET
-1 siblings, 0 replies; 8+ messages in thread
From: Pierre Yves MORDRET @ 2020-03-09 14:52 UTC (permalink / raw)
To: Alain Volmat, wsa
Cc: alexandre.torgue, linux-i2c, linux-stm32, linux-arm-kernel,
linux-kernel, fabrice.gasnier
Hi Alain
Look good for me
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Regards
On 3/5/20 1:59 PM, Alain Volmat wrote:
> The PECR register provides received packet computed PEC value.
> It makes no sense restoring its value after a reset, and anyway,
> as read-only register it cannot be restored.
>
> Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
> Signed-off-by: Alain Volmat <alain.volmat@st.com>
> ---
> drivers/i2c/busses/i2c-stm32f7.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
> index 378956ac6d1d..4d7401d62b71 100644
> --- a/drivers/i2c/busses/i2c-stm32f7.c
> +++ b/drivers/i2c/busses/i2c-stm32f7.c
> @@ -176,7 +176,6 @@
> * @cr2: Control register 2
> * @oar1: Own address 1 register
> * @oar2: Own address 2 register
> - * @pecr: PEC register
> * @tmgr: Timing register
> */
> struct stm32f7_i2c_regs {
> @@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
> u32 cr2;
> u32 oar1;
> u32 oar2;
> - u32 pecr;
> u32 tmgr;
> };
>
> @@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
> backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
> backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
> backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
> - backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
> backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
>
> pm_runtime_put_sync(i2c_dev->dev);
> @@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
> writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
> writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
> writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
> - writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
>
> pm_runtime_put_sync(i2c_dev->dev);
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-09 14:52 ` Pierre Yves MORDRET
0 siblings, 0 replies; 8+ messages in thread
From: Pierre Yves MORDRET @ 2020-03-09 14:52 UTC (permalink / raw)
To: Alain Volmat, wsa
Cc: alexandre.torgue, linux-i2c, linux-stm32, linux-arm-kernel,
linux-kernel, fabrice.gasnier
Hi Alain
Look good for me
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Regards
On 3/5/20 1:59 PM, Alain Volmat wrote:
> The PECR register provides received packet computed PEC value.
> It makes no sense restoring its value after a reset, and anyway,
> as read-only register it cannot be restored.
>
> Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
> Signed-off-by: Alain Volmat <alain.volmat@st.com>
> ---
> drivers/i2c/busses/i2c-stm32f7.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
> index 378956ac6d1d..4d7401d62b71 100644
> --- a/drivers/i2c/busses/i2c-stm32f7.c
> +++ b/drivers/i2c/busses/i2c-stm32f7.c
> @@ -176,7 +176,6 @@
> * @cr2: Control register 2
> * @oar1: Own address 1 register
> * @oar2: Own address 2 register
> - * @pecr: PEC register
> * @tmgr: Timing register
> */
> struct stm32f7_i2c_regs {
> @@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
> u32 cr2;
> u32 oar1;
> u32 oar2;
> - u32 pecr;
> u32 tmgr;
> };
>
> @@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
> backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
> backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
> backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
> - backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
> backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
>
> pm_runtime_put_sync(i2c_dev->dev);
> @@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
> writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
> writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
> writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
> - writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
>
> pm_runtime_put_sync(i2c_dev->dev);
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-09 14:52 ` Pierre Yves MORDRET
0 siblings, 0 replies; 8+ messages in thread
From: Pierre Yves MORDRET @ 2020-03-09 14:52 UTC (permalink / raw)
To: Alain Volmat, wsa
Cc: alexandre.torgue, linux-kernel, linux-i2c, fabrice.gasnier,
linux-stm32, linux-arm-kernel
Hi Alain
Look good for me
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Regards
On 3/5/20 1:59 PM, Alain Volmat wrote:
> The PECR register provides received packet computed PEC value.
> It makes no sense restoring its value after a reset, and anyway,
> as read-only register it cannot be restored.
>
> Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
> Signed-off-by: Alain Volmat <alain.volmat@st.com>
> ---
> drivers/i2c/busses/i2c-stm32f7.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
> index 378956ac6d1d..4d7401d62b71 100644
> --- a/drivers/i2c/busses/i2c-stm32f7.c
> +++ b/drivers/i2c/busses/i2c-stm32f7.c
> @@ -176,7 +176,6 @@
> * @cr2: Control register 2
> * @oar1: Own address 1 register
> * @oar2: Own address 2 register
> - * @pecr: PEC register
> * @tmgr: Timing register
> */
> struct stm32f7_i2c_regs {
> @@ -184,7 +183,6 @@ struct stm32f7_i2c_regs {
> u32 cr2;
> u32 oar1;
> u32 oar2;
> - u32 pecr;
> u32 tmgr;
> };
>
> @@ -2146,7 +2144,6 @@ static int stm32f7_i2c_regs_backup(struct stm32f7_i2c_dev *i2c_dev)
> backup_regs->cr2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_CR2);
> backup_regs->oar1 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR1);
> backup_regs->oar2 = readl_relaxed(i2c_dev->base + STM32F7_I2C_OAR2);
> - backup_regs->pecr = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR);
> backup_regs->tmgr = readl_relaxed(i2c_dev->base + STM32F7_I2C_TIMINGR);
>
> pm_runtime_put_sync(i2c_dev->dev);
> @@ -2178,7 +2175,6 @@ static int stm32f7_i2c_regs_restore(struct stm32f7_i2c_dev *i2c_dev)
> writel_relaxed(backup_regs->cr2, i2c_dev->base + STM32F7_I2C_CR2);
> writel_relaxed(backup_regs->oar1, i2c_dev->base + STM32F7_I2C_OAR1);
> writel_relaxed(backup_regs->oar2, i2c_dev->base + STM32F7_I2C_OAR2);
> - writel_relaxed(backup_regs->pecr, i2c_dev->base + STM32F7_I2C_PECR);
>
> pm_runtime_put_sync(i2c_dev->dev);
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] i2c: stm32f7: do not backup read-only PECR register
2020-03-05 12:59 ` Alain Volmat
@ 2020-03-10 11:18 ` Wolfram Sang
-1 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2020-03-10 11:18 UTC (permalink / raw)
To: Alain Volmat
Cc: pierre-yves.mordret, alexandre.torgue, linux-i2c, linux-stm32,
linux-arm-kernel, linux-kernel, fabrice.gasnier
[-- Attachment #1: Type: text/plain, Size: 462 bytes --]
On Thu, Mar 05, 2020 at 01:59:01PM +0100, Alain Volmat wrote:
> The PECR register provides received packet computed PEC value.
> It makes no sense restoring its value after a reset, and anyway,
> as read-only register it cannot be restored.
>
> Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
> Signed-off-by: Alain Volmat <alain.volmat@st.com>
Looks good, but I can't apply. Please rebase on top of your other
patches.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] i2c: stm32f7: do not backup read-only PECR register
@ 2020-03-10 11:18 ` Wolfram Sang
0 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2020-03-10 11:18 UTC (permalink / raw)
To: Alain Volmat
Cc: alexandre.torgue, linux-kernel, pierre-yves.mordret, linux-i2c,
fabrice.gasnier, linux-stm32, linux-arm-kernel
[-- Attachment #1.1: Type: text/plain, Size: 462 bytes --]
On Thu, Mar 05, 2020 at 01:59:01PM +0100, Alain Volmat wrote:
> The PECR register provides received packet computed PEC value.
> It makes no sense restoring its value after a reset, and anyway,
> as read-only register it cannot be restored.
>
> Fixes: ea6dd25deeb5 ("i2c: stm32f7: add PM_SLEEP suspend/resume support")
> Signed-off-by: Alain Volmat <alain.volmat@st.com>
Looks good, but I can't apply. Please rebase on top of your other
patches.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-03-10 11:18 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-05 12:59 [PATCH] i2c: stm32f7: do not backup read-only PECR register Alain Volmat
2020-03-05 12:59 ` Alain Volmat
2020-03-05 12:59 ` Alain Volmat
2020-03-09 14:52 ` Pierre Yves MORDRET
2020-03-09 14:52 ` Pierre Yves MORDRET
2020-03-09 14:52 ` Pierre Yves MORDRET
2020-03-10 11:18 ` Wolfram Sang
2020-03-10 11:18 ` Wolfram Sang
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.