On Thu, Jul 12, 2018 at 12:59:20PM -0600, Jordan Crouse wrote: > Add drm_puts() for a much faster path to print constant strings > into a drm_printer object with memcpy and friends. This can > shave seconds off of really large outputs such as GPU dumps. > > If the drm_printer object supports a custom puts function then > use that otherwise fall back to the slower legacy printf call. > > Signed-off-by: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_print.c | 9 +++++++++ > include/drm/drm_print.h | 2 ++ > 2 files changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c > index 03d1f98e5ac7..8fd489248a50 100644 > --- a/drivers/gpu/drm/drm_print.c > +++ b/drivers/gpu/drm/drm_print.c > @@ -122,6 +122,15 @@ void __drm_printfn_debug(struct drm_printer *p, struct va_format *vaf) > } > EXPORT_SYMBOL(__drm_printfn_debug); > Please some small kerneldoc here, with that Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> btw want commit rights for drm-misc for stuff like this? -Daniel > +void drm_puts(struct drm_printer *p, const char *str) > +{ > + if (p->puts) > + p->puts(p, str); > + else > + drm_printf(p, "%s", str); > +} > +EXPORT_SYMBOL(drm_puts); > + > /** > * drm_printf - print to a &drm_printer stream > * @p: the &drm_printer > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > index 0ea440fb5ec3..b16f4ecaa984 100644 > --- a/include/drm/drm_print.h > +++ b/include/drm/drm_print.h > @@ -69,6 +69,7 @@ > struct drm_printer { > /* private: */ > void (*printfn)(struct drm_printer *p, struct va_format *vaf); > + void (*puts)(struct drm_printer *p, const char *str); > void *arg; > const char *prefix; > }; > @@ -80,6 +81,7 @@ void __drm_printfn_debug(struct drm_printer *p, struct va_format *vaf); > > __printf(2, 3) > void drm_printf(struct drm_printer *p, const char *f, ...); > +void drm_puts(struct drm_printer *p, const char *str); > > __printf(2, 0) > /** > -- > 2.17.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html