media: ipu6: Export the ipu7 firmware boot state

Export a boot state accessor, so subsystem interrupt handler can detect
a firmware error state.

Assisted-by: LLM
Signed-off-by: Antti Laakso <antti.laakso@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
This commit is contained in:
Antti Laakso 2026-10-01 15:45:38 +03:00 committed by Sakari Ailus
parent 91e25ccee7
commit b173b44e0d
2 changed files with 11 additions and 3 deletions

View File

@ -18,9 +18,6 @@
#define IPU7_FW_START_STOP_TIMEOUT 2000
#define IPU7_BOOT_CELL_RESET_TIMEOUT (2 * USEC_PER_SEC)
#define IPU7_BOOT_STATE_CRITICAL(s) (((s) & 0xffff0000U) == 0xdead0000U)
#define IPU7_BOOT_STATE_READY(s) ((s) == 0x57a7e100U)
#define IPU7_BOOT_STATE_INACTIVE(s) ((s) == 0x57a7e300U)
#define IPU7_BUTTRESS_REG_FW_BOOT_PARAMS0 0x4000
#define IPU7_BUTTRESS_FW_BOOT_PARAMS_ENTRY(i) \
(IPU7_BUTTRESS_REG_FW_BOOT_PARAMS0 + ((i) * 4U))
@ -395,3 +392,9 @@ int ipu6_ipu7_boot_stop_fw(const struct ipu6_bus_device *adev)
return 0;
}
EXPORT_SYMBOL_NS_GPL(ipu6_ipu7_boot_stop_fw, "INTEL_IPU6");
u32 ipu6_ipu7_boot_get_state(const struct ipu6_bus_device *adev)
{
return read_fw_boot_param(adev, IPU7_FW_BOOT_STATE_ID);
}
EXPORT_SYMBOL_NS_GPL(ipu6_ipu7_boot_get_state, "INTEL_IPU6");

View File

@ -8,6 +8,10 @@
#define IPU7_BOOT_MSG_VER_MAX_ENTRIES 3U
#define IPU7_BOOT_STATE_CRITICAL(s) (((s) & 0xffff0000U) == 0xdead0000U)
#define IPU7_BOOT_STATE_READY(s) ((s) == 0x57a7e100U)
#define IPU7_BOOT_STATE_INACTIVE(s) ((s) == 0x57a7e300U)
struct ipu7_boot_abi_version {
u8 patch;
u8 subminor;
@ -45,5 +49,6 @@ void ipu6_ipu7_release_boot_config(struct ipu6_bus_device *adev,
int ipu6_ipu7_boot_start_fw(const struct ipu6_bus_device *adev,
struct ipu7_fw_com_context *fwctx);
int ipu6_ipu7_boot_stop_fw(const struct ipu6_bus_device *adev);
u32 ipu6_ipu7_boot_get_state(const struct ipu6_bus_device *adev);
#endif