Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7272df3 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

drm: Add drm_rect_debug_print()



Add a debug function to print the rectangle in a human readable format.

v2: Renamed drm_region to drm_rect, the function from drm_region_debug
    to drm_rect_debug_print(), and use %+d instead of +%d in the format.
v3: Use %d format for width/height in the non fixed point case as well

Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 4954c428
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/errno.h>
#include <linux/export.h>
#include <linux/kernel.h>
#include <drm/drmP.h>
#include <drm/drm_rect.h>

/**
@@ -271,3 +272,24 @@ int drm_rect_calc_vscale_relaxed(struct drm_rect *src,
	return vscale;
}
EXPORT_SYMBOL(drm_rect_calc_vscale_relaxed);

/**
 * drm_rect_debug_print - print the rectangle information
 * @r: rectangle to print
 * @fixed_point: rectangle is in 16.16 fixed point format
 */
void drm_rect_debug_print(const struct drm_rect *r, bool fixed_point)
{
	int w = drm_rect_width(r);
	int h = drm_rect_height(r);

	if (fixed_point)
		DRM_DEBUG_KMS("%d.%06ux%d.%06u%+d.%06u%+d.%06u\n",
			      w >> 16, ((w & 0xffff) * 15625) >> 10,
			      h >> 16, ((h & 0xffff) * 15625) >> 10,
			      r->x1 >> 16, ((r->x1 & 0xffff) * 15625) >> 10,
			      r->y1 >> 16, ((r->y1 & 0xffff) * 15625) >> 10);
	else
		DRM_DEBUG_KMS("%dx%d%+d%+d\n", w, h, r->x1, r->y1);
}
EXPORT_SYMBOL(drm_rect_debug_print);
+1 −0
Original line number Diff line number Diff line
@@ -140,5 +140,6 @@ int drm_rect_calc_hscale_relaxed(struct drm_rect *src,
int drm_rect_calc_vscale_relaxed(struct drm_rect *src,
				 struct drm_rect *dst,
				 int min_vscale, int max_vscale);
void drm_rect_debug_print(const struct drm_rect *r, bool fixed_point);

#endif