summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2026-09-20 18:12:45 +0300
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2026-09-21 23:25:37 +0200
commitb7e849313eba3c6ecadb89961b0abb431278a5ac (patch)
tree8bb5176ef4cf725a55c4216a2e53533f1483cb71 /tools/lib/python
parent8fe4a1b93aa909639fb1da76850294b220e3b763 (diff)
downloadlinux-next-b7e849313eba3c6ecadb89961b0abb431278a5ac.tar.gz
linux-next-b7e849313eba3c6ecadb89961b0abb431278a5ac.zip
i3c: mipi-i3c-hci: Support configurable device NACK retries
Implement the .set_dev_nack_retry() master operation using the DAT_0_DEV_NACK_RETRY_CNT field in Device Address Table entries. Since the retry count is programmed per DAT entry, update all allocated entries when the setting changes. Also initialize newly allocated entries with the current retry count so that a consistent retry policy is applied across all devices. Add a DAT helper to update the retry count of an individual entry. Return -ERANGE if the requested retry count exceeds the hardware field width and -EOPNOTSUPP when the active command descriptor model does not use DAT entries. In addition, default the retry count to 1. The I3C specification mandates a retry when a Target NACKs its Dynamic Address. HCI v1.1 explicitly preserves that behaviour for Direct CCCs even when DEV_NACK_RETRY_CNT is programmed to 0, but HCI v1.0 defines the field only as a device-specific retry count and does not provide the same exception. As a result, a v1.0 controller left at the reset value of 0 may perform no retry whereas a v1.1 controller will retry once. Promoting 0 to 1 at probe time makes the behaviour consistent across controller versions. Userspace can still select 0 retries explicitly via dev_nack_retry_count. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260920151248.46936-16-adrian.hunter@intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions