• Laurent Pinchart's avatar
    media: renesas: vsp1: Add and use function to dump a pipeline to the log · 03200026
    Laurent Pinchart authored
    It is useful for debugging purpose to dump a vsp1_pipeline to the kernel
    log. Add a new function to do so, and use it when initializing the video
    and DRM pipelines.
    
    As __vsp1_pipeline_dump() needs to construct the log message
    iteratively, it uses pr_cont(...) (exact equivalent to the more verbose
    "printk(KERN_CONT ..."). The function thus can't use dev_dbg() to log
    the initial part of the message, for two reasons:
    
    - pr_cont() doesn't seem to work with dev_*(). Even if the format string
      passed to dev_*() doesn't end with a '\n', pr_cont() starts a new line
      in the log. This behaviour doesn't seem to be clearly documented, and
      may or may not be on purpose.
    
    - Messages printed by dev_dbg() may be omitted if dynamic debugging is
      enabled. In that case, the continuation messages will still be
      printed, leading to confusing log messages.
    
    To still benefit from the dynamic debug infrastructure, we declare a
    vsp1_pipeline_dump() macro that uses _dynamic_func_call() when dynamic
    debugging is enabled. The whole vsp1_pipeline_dump() call can be
    selected at runtime. The __vsp1_pipeline_dump() function then uses a
    plain "printk(KERN_DEBUG ...)" to print the message header using the
    debug log level, and pr_cont() to print the rest of the message on the
    same line.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reviewed-by: default avatarJacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
    03200026
vsp1_drm.c 27.5 KB