drm/print: Add drm_coredump_printer_is_full

Add drm_coredump_printer_is_full which indicates if a drm printer's
output is full. Useful to short circuit coredump printing once printer's
output is full.

v2:
 - s/drm_printer_is_full/drm_coredump_printer_is_full (Jani)
v3:
 - Bail if not a coredump printer (Michal)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://lore.kernel.org/r/20250423171725.597955-4-matthew.brost@intel.com
pull/1112/head
Matthew Brost 2025-04-23 10:17:24 -07:00
parent 270172f64b
commit fa4b8b3e3a
1 changed files with 20 additions and 0 deletions

View File

@ -344,6 +344,26 @@ drm_coredump_printer(struct drm_print_iterator *iter)
return p;
}
/**
* drm_coredump_printer_is_full() - DRM coredump printer output is full
* @p: DRM coredump printer
*
* DRM printer output is full, useful to short circuit coredump printing once
* printer is full.
*
* RETURNS:
* True if DRM coredump printer output buffer is full, False otherwise
*/
static inline bool drm_coredump_printer_is_full(struct drm_printer *p)
{
struct drm_print_iterator *iterator = p->arg;
if (p->printfn != __drm_printfn_coredump)
return true;
return !iterator->remain;
}
/**
* drm_seq_file_printer - construct a &drm_printer that outputs to &seq_file
* @f: the &struct seq_file to output to