From: Claudiu Beznea <claudiu.beznea@kernel.org>
To: Frank Li <Frank.li@nxp.com>
Cc: wsa+renesas@sang-engineering.com,
tommaso.merciai.xr@bp.renesas.com, alexandre.belloni@bootlin.com,
p.zabel@pengutronix.de, claudiu.beznea@tuxon.dev,
linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 03/17] i3c: renesas: Restore STDBR and EXTBR registers on resume
Date: Thu, 28 May 2026 11:29:46 +0300 [thread overview]
Message-ID: <560f3365-8a22-477b-ae3d-61e8f4103e83@kernel.org> (raw)
In-Reply-To: <ahCqF-OHFbV9b5ul@lizhi-Precision-Tower-5810>
Hi, Frank,
On 5/22/26 22:10, Frank Li wrote:
> On Fri, May 22, 2026 at 01:18:01PM +0300, Claudiu Beznea wrote:
>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>
>> The Renesas RZ/G3S supports a power saving state where power to the most
>> SoC componentes (including I3C) is lost.
>>
>> The STDBR and EXTBR are configured in initialization phase though the
>> struct i3c_master_controller_ops::bus_init. Set them on resume function
>> as well to keep the same state of the controller after a suspend with
>> power loss and a similar initialization sequence as in bus_init.
>>
>> Fixes: e7218986319b ("i3c: renesas: Add suspend/resume support")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>> ---
>> drivers/i3c/master/renesas-i3c.c | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c
>> index 1917549cf6d5..6c23f956ad2a 100644
>> --- a/drivers/i3c/master/renesas-i3c.c
>> +++ b/drivers/i3c/master/renesas-i3c.c
>> @@ -260,6 +260,7 @@ struct renesas_i3c {
>> u32 dyn_addr;
>> u32 i2c_STDBR;
>> u32 i3c_STDBR;
>> + u32 extbr;
>
> can you keep consisent with above 2 register, use upcase EXTBR,
Using upper case for this will mislead the compiler. There is already a macro
defined for EXTBR:
#define EXTBR 0x78
Defining this member as:
u32 EXTBR;
will make the compiler try to replace the EXTBR in "i3c->EXTBR" at preprocessing
time:
CC [M] drivers/i3c/master/renesas-i3c.o
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier or ‘(’
before numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:263:6: note: in expansion of macro ‘EXTBR’
263 | u32 EXTBR;
| ^~~~~
../drivers/i3c/master/renesas-i3c.c: In function ‘renesas_i3c_bus_init’:
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:611:7: note: in expansion of macro ‘EXTBR’
611 | i3c->EXTBR = EXTBR_EBRLO(od_low_ticks) | EXTBR_EBRHO(od_high_ticks) |
| ^~~~~
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:613:40: note: in expansion of macro ‘EXTBR’
613 | renesas_writel(i3c->regs, EXTBR, i3c->EXTBR);
| ^~~~~
../drivers/i3c/master/renesas-i3c.c: In function ‘renesas_i3c_resume_noirq’:
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:1451:40: note: in expansion of macro ‘EXTBR’
1451 | renesas_writel(i3c->regs, EXTBR, i3c->EXTBR);
| ^~~~~
The register contains both i3c and i2c specific fields. I'm not sure using
i2c_i3c_EXTBR is the best way to go forward for this or just keeping it as is.
--
Thank you,
Claudiu
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
WARNING: multiple messages have this Message-ID (diff)
From: Claudiu Beznea <claudiu.beznea@kernel.org>
To: Frank Li <Frank.li@nxp.com>
Cc: wsa+renesas@sang-engineering.com,
tommaso.merciai.xr@bp.renesas.com, alexandre.belloni@bootlin.com,
p.zabel@pengutronix.de, claudiu.beznea@tuxon.dev,
linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 03/17] i3c: renesas: Restore STDBR and EXTBR registers on resume
Date: Thu, 28 May 2026 11:29:46 +0300 [thread overview]
Message-ID: <560f3365-8a22-477b-ae3d-61e8f4103e83@kernel.org> (raw)
In-Reply-To: <ahCqF-OHFbV9b5ul@lizhi-Precision-Tower-5810>
Hi, Frank,
On 5/22/26 22:10, Frank Li wrote:
> On Fri, May 22, 2026 at 01:18:01PM +0300, Claudiu Beznea wrote:
>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>
>> The Renesas RZ/G3S supports a power saving state where power to the most
>> SoC componentes (including I3C) is lost.
>>
>> The STDBR and EXTBR are configured in initialization phase though the
>> struct i3c_master_controller_ops::bus_init. Set them on resume function
>> as well to keep the same state of the controller after a suspend with
>> power loss and a similar initialization sequence as in bus_init.
>>
>> Fixes: e7218986319b ("i3c: renesas: Add suspend/resume support")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>> ---
>> drivers/i3c/master/renesas-i3c.c | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c
>> index 1917549cf6d5..6c23f956ad2a 100644
>> --- a/drivers/i3c/master/renesas-i3c.c
>> +++ b/drivers/i3c/master/renesas-i3c.c
>> @@ -260,6 +260,7 @@ struct renesas_i3c {
>> u32 dyn_addr;
>> u32 i2c_STDBR;
>> u32 i3c_STDBR;
>> + u32 extbr;
>
> can you keep consisent with above 2 register, use upcase EXTBR,
Using upper case for this will mislead the compiler. There is already a macro
defined for EXTBR:
#define EXTBR 0x78
Defining this member as:
u32 EXTBR;
will make the compiler try to replace the EXTBR in "i3c->EXTBR" at preprocessing
time:
CC [M] drivers/i3c/master/renesas-i3c.o
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier or ‘(’
before numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:263:6: note: in expansion of macro ‘EXTBR’
263 | u32 EXTBR;
| ^~~~~
../drivers/i3c/master/renesas-i3c.c: In function ‘renesas_i3c_bus_init’:
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:611:7: note: in expansion of macro ‘EXTBR’
611 | i3c->EXTBR = EXTBR_EBRLO(od_low_ticks) | EXTBR_EBRHO(od_high_ticks) |
| ^~~~~
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:613:40: note: in expansion of macro ‘EXTBR’
613 | renesas_writel(i3c->regs, EXTBR, i3c->EXTBR);
| ^~~~~
../drivers/i3c/master/renesas-i3c.c: In function ‘renesas_i3c_resume_noirq’:
../drivers/i3c/master/renesas-i3c.c:65:17: error: expected identifier before
numeric constant
65 | #define EXTBR 0x78
| ^~~~
../drivers/i3c/master/renesas-i3c.c:1451:40: note: in expansion of macro ‘EXTBR’
1451 | renesas_writel(i3c->regs, EXTBR, i3c->EXTBR);
| ^~~~~
The register contains both i3c and i2c specific fields. I'm not sure using
i2c_i3c_EXTBR is the best way to go forward for this or just keeping it as is.
--
Thank you,
Claudiu
next prev parent reply other threads:[~2026-05-28 8:29 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 10:17 [PATCH 00/17] i3c: renesas: Suspend to RAM with power loss and runtime PM Claudiu Beznea
2026-05-22 10:17 ` Claudiu Beznea
2026-05-22 10:17 ` [PATCH 01/17] i3c: renesas: Check that the transfer is valid before accessing it Claudiu Beznea
2026-05-22 10:17 ` Claudiu Beznea
2026-05-22 19:02 ` Frank Li
2026-05-22 19:02 ` Frank Li
2026-05-22 10:18 ` [PATCH 02/17] i3c: renesas: Use the divider 128 Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:06 ` Frank Li
2026-05-22 19:06 ` Frank Li
2026-05-23 8:14 ` Claudiu Beznea
2026-05-23 8:14 ` Claudiu Beznea
2026-05-22 10:18 ` [PATCH 03/17] i3c: renesas: Restore STDBR and EXTBR registers on resume Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:10 ` Frank Li
2026-05-22 19:10 ` Frank Li
2026-05-28 8:29 ` Claudiu Beznea [this message]
2026-05-28 8:29 ` Claudiu Beznea
2026-05-28 19:13 ` Frank Li
2026-05-28 19:13 ` Frank Li
2026-05-22 10:18 ` [PATCH 04/17] i3c: renesas: Follow the reset deassert order used in probe Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:11 ` Frank Li
2026-05-22 19:11 ` Frank Li
2026-05-22 10:18 ` [PATCH 05/17] i3c: renesas: Fix re-attach Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:13 ` Frank Li
2026-05-22 19:13 ` Frank Li
2026-05-22 10:18 ` [PATCH 06/17] i3c: renesas: Reset the controller on resume Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:15 ` Frank Li
2026-05-22 19:15 ` Frank Li
2026-05-23 10:24 ` Claudiu Beznea
2026-05-23 10:24 ` Claudiu Beznea
2026-05-22 10:18 ` [PATCH 07/17] i3c: renesas: Perform Dynamic Address Assignment " Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:16 ` Frank Li
2026-05-22 19:16 ` Frank Li
2026-05-23 10:26 ` Claudiu Beznea
2026-05-23 10:26 ` Claudiu Beznea
2026-05-22 10:18 ` [PATCH 08/17] i3c: renesas: Clean DATBAS register on detach Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:17 ` Frank Li
2026-05-22 19:17 ` Frank Li
2026-05-22 10:18 ` [PATCH 09/17] i3c: renesas: Use reset_control_bulk_{assert, deassert}() Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:19 ` Frank Li
2026-05-22 19:19 ` Frank Li
2026-05-23 10:26 ` Claudiu Beznea
2026-05-23 10:26 ` Claudiu Beznea
2026-05-22 10:18 ` [PATCH 10/17] i3c: renesas: Return immediately if there is nothing to transfer Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:20 ` Frank Li
2026-05-22 19:20 ` Frank Li
2026-05-22 10:18 ` [PATCH 11/17] i3c: renesas: Follow a unified pattern for transfer and command initialization Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:21 ` Frank Li
2026-05-22 19:21 ` Frank Li
2026-05-22 10:18 ` [PATCH 12/17] i3c: renesas: Drop the explicit memset() call Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:43 ` Frank Li
2026-05-22 19:43 ` Frank Li
2026-05-22 10:18 ` [PATCH 13/17] i3c: renesas: Update HW registers after SW computations are done Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:48 ` Frank Li
2026-05-22 19:48 ` Frank Li
2026-05-22 10:18 ` [PATCH 14/17] i3c: renesas: Organize structures to avoid unnecessary padding Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:50 ` Frank Li
2026-05-22 19:50 ` Frank Li
2026-05-22 10:18 ` [PATCH 15/17] i3c: renesas: Use the "dev_name:irq_name" format for the interrupt name Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:51 ` Frank Li
2026-05-22 19:51 ` Frank Li
2026-05-22 10:18 ` [PATCH 16/17] i3c: renesas: Drop unnecessary tab Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 19:52 ` Frank Li
2026-05-22 19:52 ` Frank Li
2026-05-22 10:18 ` [PATCH 17/17] i3c: renesas: Add runtime PM support Claudiu Beznea
2026-05-22 10:18 ` Claudiu Beznea
2026-05-22 20:01 ` Frank Li
2026-05-22 20:01 ` Frank Li
2026-05-23 10:23 ` Claudiu Beznea
2026-05-23 10:23 ` Claudiu Beznea
2026-06-02 11:49 ` Claudiu Beznea
2026-06-02 11:49 ` Claudiu Beznea
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=560f3365-8a22-477b-ae3d-61e8f4103e83@kernel.org \
--to=claudiu.beznea@kernel.org \
--cc=Frank.li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=claudiu.beznea.uj@bp.renesas.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=linux-i3c@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=stable@vger.kernel.org \
--cc=tommaso.merciai.xr@bp.renesas.com \
--cc=wsa+renesas@sang-engineering.com \
/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.