summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>2026-07-13 16:05:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-09-07 17:37:24 +0200
commit7ea5b0ca2f39c8d5ffda3dd7d39526861a729b34 (patch)
tree972dfd2333442ae656f60b257b83ad63fc0d4f33
parentec631aff93261c6d031f953549802322032f2aba (diff)
downloadlinux-7ea5b0ca2f39c8d5ffda3dd7d39526861a729b34.tar.gz
linux-7ea5b0ca2f39c8d5ffda3dd7d39526861a729b34.zip
i3c: renesas: Clean DATBAS register on detach
commit 797ed83c0cd495be4b345750c59e0363bf4d6207 upstream. The controller uses DATBAS registers on TX/RX logic. Clean the DATBAS register for the detached I3C device to avoid issues. Fixes: d028219a9f14 ("i3c: master: Add basic driver for the Renesas I3C controller") Cc: stable@vger.kernel.org Reviewed-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Link: https://patch.msgid.link/20260713130545.568657-8-claudiu.beznea+renesas@tuxon.dev Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/i3c/master/renesas-i3c.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c
index 1aa245c6886a..9439295ee30f 100644
--- a/drivers/i3c/master/renesas-i3c.c
+++ b/drivers/i3c/master/renesas-i3c.c
@@ -924,6 +924,8 @@ static void renesas_i3c_detach_i3c_dev(struct i3c_dev_desc *dev)
struct i3c_master_controller *m = i3c_dev_get_master(dev);
struct renesas_i3c *i3c = to_renesas_i3c(m);
+ renesas_writel(i3c->regs, DATBAS(data->index), 0);
+
i3c_dev_set_master_data(dev, NULL);
i3c->addrs[data->index] = 0;
i3c->free_pos |= BIT(data->index);