mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 14:02:06 -04:00
There is a need to include the GuC log and other large binary objects in core dumps and via dmesg. So add a helper for dumping to a printer function via conversion to ASCII85 encoding. Another issue with dumping such a large buffer is that it can be slow, especially if dumping to dmesg over a serial port. So add a yield to prevent the 'task has been stuck for 120s' kernel hang check feature from firing. v2: Add a prefix to the output string. Fix memory allocation bug. v3: Correct a string size calculation and clean up a define (review feedback from Julia F). Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241003004611.2323493-5-John.C.Harrison@Intel.com
33 lines
629 B
C
33 lines
629 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_DEVCOREDUMP_H_
|
|
#define _XE_DEVCOREDUMP_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct drm_printer;
|
|
struct xe_device;
|
|
struct xe_sched_job;
|
|
|
|
#ifdef CONFIG_DEV_COREDUMP
|
|
void xe_devcoredump(struct xe_sched_job *job);
|
|
int xe_devcoredump_init(struct xe_device *xe);
|
|
#else
|
|
static inline void xe_devcoredump(struct xe_sched_job *job)
|
|
{
|
|
}
|
|
|
|
static inline int xe_devcoredump_init(struct xe_device *xe)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
void xe_print_blob_ascii85(struct drm_printer *p, const char *prefix,
|
|
const void *blob, size_t offset, size_t size);
|
|
|
|
#endif
|