mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 11:21:33 +00:00
accel/ivpu: Reset fw log on cold boot
Add ivpu_fw_log_reset() that resets the read_index of all FW logs on cold boot so logs are properly read. Signed-off-by: Tomasz Rusinowicz <tomasz.rusinowicz@intel.com> Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com> Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240930195322.461209-4-jacek.lawrynowicz@linux.intel.com Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
This commit is contained in:
parent
3a3fb8110c
commit
4b4d9e394b
@ -140,3 +140,17 @@ void ivpu_fw_log_clear(struct ivpu_device *vdev)
|
||||
while (fw_log_ptr(vdev, vdev->fw->mem_log_verb, &next, &log_header) == 0)
|
||||
log_header->read_index = log_header->write_index;
|
||||
}
|
||||
|
||||
void ivpu_fw_log_reset(struct ivpu_device *vdev)
|
||||
{
|
||||
struct vpu_tracing_buffer_header *log_header;
|
||||
u32 next;
|
||||
|
||||
next = 0;
|
||||
while (fw_log_ptr(vdev, vdev->fw->mem_log_crit, &next, &log_header) == 0)
|
||||
log_header->read_index = 0;
|
||||
|
||||
next = 0;
|
||||
while (fw_log_ptr(vdev, vdev->fw->mem_log_verb, &next, &log_header) == 0)
|
||||
log_header->read_index = 0;
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ extern unsigned int ivpu_fw_log_level;
|
||||
|
||||
void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p);
|
||||
void ivpu_fw_log_clear(struct ivpu_device *vdev);
|
||||
void ivpu_fw_log_reset(struct ivpu_device *vdev);
|
||||
|
||||
static inline void ivpu_fw_log_dump(struct ivpu_device *vdev)
|
||||
{
|
||||
|
@ -37,6 +37,7 @@ static void ivpu_pm_prepare_cold_boot(struct ivpu_device *vdev)
|
||||
|
||||
ivpu_cmdq_reset_all_contexts(vdev);
|
||||
ivpu_ipc_reset(vdev);
|
||||
ivpu_fw_log_reset(vdev);
|
||||
ivpu_fw_load(vdev);
|
||||
fw->entry_point = fw->cold_boot_entry_point;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user