[PATCH v2 0/2] Add firmware debug logging support for the qcom Iris driver

From: Renjiang Han

Date: Thu Sep 10 2026 - 22:46:31 EST


The driver currently has no way to configure firmware debug
logging at runtime. This makes firmware-side issues harder to
debug, because changing the firmware debug mask requires a
rebuild or reload.

The patch adds a debugfs fw_level file under the Iris debugfs
directory. The value is stored per Iris core and is normalized
on write, so userspace reads back the same mask that is
programmed to firmware.

The firmware debug configuration is sent during core
initialization and before opening a new session. This allows a
fw_level value written before a session starts to take effect for
that session.

HFI Gen1 and Gen2 paths are added for programming the debug
configuration and reading firmware debug messages from the debug
queue. Firmware error and fatal messages are printed with
dev_err_ratelimited(), while other firmware messages use
dev_dbg().

The default mask enables only firmware error and fatal messages
to avoid enabling verbose firmware logging by default.

Failure to configure firmware debug logging is treated as non-fatal
and does not block normal video operation.

Signed-off-by: Renjiang Han <renjiang.han@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- 1. Increase response timeout for verbose firmware logging.
- 2. Increase runtime PM autosuspend delay for verbose firmware logging.
- 3. Drain message and debug queues until both queues are empty.
- 4. Fix checkpatch alignment warning in iris_hfi_common.c.
- 5. Drop direct iris_hfi_common.h includes from response files.
- 6. Keep bounded firmware log printing with %.*s.
- Link to v1: https://lore.kernel.org/r/20260815-media-qcom-iris-fw-log-v1-1-c8a70eb08849@xxxxxxxxxxxxxxxx

---
Renjiang Han (2):
media: qcom: iris: add firmware debug logging support
media: qcom: iris: reduce impact of verbose firmware logging

drivers/media/platform/qcom/iris/Makefile | 1 +
drivers/media/platform/qcom/iris/iris_core.c | 2 +-
drivers/media/platform/qcom/iris/iris_core.h | 9 +++-
drivers/media/platform/qcom/iris/iris_debugfs.c | 56 ++++++++++++++++++++++
drivers/media/platform/qcom/iris/iris_debugfs.h | 14 ++++++
drivers/media/platform/qcom/iris/iris_hfi_common.c | 43 +++++++++++++++++
drivers/media/platform/qcom/iris/iris_hfi_common.h | 11 +++++
.../platform/qcom/iris/iris_hfi_gen1_command.c | 30 ++++++++++++
.../platform/qcom/iris/iris_hfi_gen1_defines.h | 8 ++++
.../platform/qcom/iris/iris_hfi_gen1_response.c | 55 ++++++++++++++++-----
.../platform/qcom/iris/iris_hfi_gen2_command.c | 21 ++++++++
.../platform/qcom/iris/iris_hfi_gen2_defines.h | 3 ++
.../platform/qcom/iris/iris_hfi_gen2_packet.c | 29 +++++++++++
.../platform/qcom/iris/iris_hfi_gen2_packet.h | 1 +
.../platform/qcom/iris/iris_hfi_gen2_response.c | 36 ++++++++++----
drivers/media/platform/qcom/iris/iris_probe.c | 7 +++
drivers/media/platform/qcom/iris/iris_utils.c | 4 +-
drivers/media/platform/qcom/iris/iris_vb2.c | 7 ++-
18 files changed, 311 insertions(+), 26 deletions(-)
---
base-commit: 28d012efb4327f9c75d5e042a7c91e9a542efa98
change-id: 20260815-media-qcom-iris-fw-log-3b62b8645b7a

Best regards,
--
Renjiang Han <renjiang.han@xxxxxxxxxxxxxxxx>