drm/i915/guc: Add a helper for log buffer size
Add a helper to get GuC log buffer size. Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com> Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220728022028.2190627-2-John.C.Harrison@Intel.com
This commit is contained in:
parent
6dc85721df
commit
5ce27d6210
@ -15,6 +15,32 @@
|
||||
|
||||
static void guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log);
|
||||
|
||||
static u32 intel_guc_log_size(struct intel_guc_log *log)
|
||||
{
|
||||
/*
|
||||
* GuC Log buffer Layout:
|
||||
*
|
||||
* NB: Ordering must follow "enum guc_log_buffer_type".
|
||||
*
|
||||
* +===============================+ 00B
|
||||
* | Debug state header |
|
||||
* +-------------------------------+ 32B
|
||||
* | Crash dump state header |
|
||||
* +-------------------------------+ 64B
|
||||
* | Capture state header |
|
||||
* +-------------------------------+ 96B
|
||||
* | |
|
||||
* +===============================+ PAGE_SIZE (4KB)
|
||||
* | Debug logs |
|
||||
* +===============================+ + DEBUG_SIZE
|
||||
* | Crash Dump logs |
|
||||
* +===============================+ + CRASH_SIZE
|
||||
* | Capture logs |
|
||||
* +===============================+ + CAPTURE_SIZE
|
||||
*/
|
||||
return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + CAPTURE_BUFFER_SIZE;
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC: GuC firmware log
|
||||
*
|
||||
@ -461,32 +487,11 @@ int intel_guc_log_create(struct intel_guc_log *log)
|
||||
|
||||
GEM_BUG_ON(log->vma);
|
||||
|
||||
/*
|
||||
* GuC Log buffer Layout
|
||||
* (this ordering must follow "enum guc_log_buffer_type" definition)
|
||||
*
|
||||
* +===============================+ 00B
|
||||
* | Debug state header |
|
||||
* +-------------------------------+ 32B
|
||||
* | Crash dump state header |
|
||||
* +-------------------------------+ 64B
|
||||
* | Capture state header |
|
||||
* +-------------------------------+ 96B
|
||||
* | |
|
||||
* +===============================+ PAGE_SIZE (4KB)
|
||||
* | Debug logs |
|
||||
* +===============================+ + DEBUG_SIZE
|
||||
* | Crash Dump logs |
|
||||
* +===============================+ + CRASH_SIZE
|
||||
* | Capture logs |
|
||||
* +===============================+ + CAPTURE_SIZE
|
||||
*/
|
||||
if (intel_guc_capture_output_min_size_est(guc) > CAPTURE_BUFFER_SIZE)
|
||||
DRM_WARN("GuC log buffer for state_capture maybe too small. %d < %d\n",
|
||||
CAPTURE_BUFFER_SIZE, intel_guc_capture_output_min_size_est(guc));
|
||||
|
||||
guc_log_size = PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE +
|
||||
CAPTURE_BUFFER_SIZE;
|
||||
guc_log_size = intel_guc_log_size(log);
|
||||
|
||||
vma = intel_guc_allocate_vma(guc, guc_log_size);
|
||||
if (IS_ERR(vma)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user