[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1763747151.git.adrianhoyin.ng@altera.com>
Date: Sat, 22 Nov 2025 02:00:38 +0800
From: adrianhoyin.ng@...era.com
To: alexandre.belloni@...tlin.com,
Frank.Li@....com,
linux-i3c@...ts.infradead.org,
linux-kernel@...r.kernel.org
Cc: adrianhoyin.ng@...era.com
Subject: [PATCH v3 0/3] i3c: dw-i3c: Enable support for dw-i3c controller NACK retry sysfs and DAT restore fix
From: Adrian Ng Ho Yin <adrianhoyin.ng@...era.com>
This patch series adds a controller-wide sysfs attribute
dev_nack_retry_count for the DesignWare I3C controller, allowing runtime
control of the automatic retry mechanism when a device NACKs. Some I3C
slave devices may temporarily be busy and unable to respond immediately;
automatic retries improve robustness in such cases. Writes are clamped to
the hardware maximum of 3, and the value is applied to all active DAT
entries.
The series also fixes dw_i3c_master_restore_addrs() to preserve existing
DAT entry bits, preventing overwrites during runtime PM resume.
---
changelog:
v2->v3
* Update commit message for better clarity
* Update function name to maintain consistency.
* Update store function to return error when retry value exceeds hw limit.
* Add lock to protect DAT to avoid concurrent during transfers.
* Clear the address field in the DAT entry before setting new values to
ensure correct dynamic/static address configuration
v2 patch link:
https://lore.kernel.org/all/cover.1763703573.git.adrianhoyin.ng@altera.com/
v1->v2
* Drop dev_nack_retry_cnt binding and device tree changes.
* Update commit message for better clarity.
* Update to use controller wide sysfs attribute that configures
dev_nack_retry_cnt during runtime.
v1 patch link:
https://lore.kernel.org/all/cover.1762245890.git.adrianhoyin.ng@altera.com/
---
Adrian Ng Ho Yin (3):
i3c: add sysfs entry for Device NACK Retry count
i3c: dw: Add sysfs support for Device NACK Retry count
i3c: dw: Preserve DAT entry bits when restoring addresses
Documentation/ABI/testing/sysfs-bus-i3c | 12 ++++
drivers/i3c/master/dw-i3c-master.c | 82 +++++++++++++++++++++++--
drivers/i3c/master/dw-i3c-master.h | 1 +
3 files changed, 91 insertions(+), 4 deletions(-)
--
2.49.GIT
Powered by blists - more mailing lists