Files
linux-cryptodev-2.6/drivers/gpu/drm/xe/xe_devcoredump.h
John Harrison ec1455ce7e drm/xe/devcoredump: Add ASCII85 dump helper function
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
2024-10-07 18:12:12 -07:00

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