mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 30218eb77d
			
		
	
	
		30218eb77d
		
	
	
	
	
		
			
			Add selftests for drm_rect. A few basic ones for clipped and unclipped cases, and a few special ones for specific bugs we had in the code. I'm too lazy to think of more corner cases to check at this time. Maybe later. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191122175623.13565-5-ville.syrjala@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@st.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| 
 | |
| #ifndef __TEST_DRM_MODESET_COMMON_H__
 | |
| #define __TEST_DRM_MODESET_COMMON_H__
 | |
| 
 | |
| #include <linux/errno.h>
 | |
| #include <linux/printk.h>
 | |
| 
 | |
| #define FAIL(test, msg, ...) \
 | |
| 	do { \
 | |
| 		if (test) { \
 | |
| 			pr_err("%s/%u: " msg, __FUNCTION__, __LINE__, ##__VA_ARGS__); \
 | |
| 			return -EINVAL; \
 | |
| 		} \
 | |
| 	} while (0)
 | |
| 
 | |
| #define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
 | |
| 
 | |
| int igt_drm_rect_clip_scaled_div_by_zero(void *ignored);
 | |
| int igt_drm_rect_clip_scaled_not_clipped(void *ignored);
 | |
| int igt_drm_rect_clip_scaled_clipped(void *ignored);
 | |
| int igt_drm_rect_clip_scaled_signed_vs_unsigned(void *ignored);
 | |
| int igt_check_plane_state(void *ignored);
 | |
| int igt_check_drm_format_block_width(void *ignored);
 | |
| int igt_check_drm_format_block_height(void *ignored);
 | |
| int igt_check_drm_format_min_pitch(void *ignored);
 | |
| int igt_check_drm_framebuffer_create(void *ignored);
 | |
| int igt_damage_iter_no_damage(void *ignored);
 | |
| int igt_damage_iter_no_damage_fractional_src(void *ignored);
 | |
| int igt_damage_iter_no_damage_src_moved(void *ignored);
 | |
| int igt_damage_iter_no_damage_fractional_src_moved(void *ignored);
 | |
| int igt_damage_iter_no_damage_not_visible(void *ignored);
 | |
| int igt_damage_iter_no_damage_no_crtc(void *ignored);
 | |
| int igt_damage_iter_no_damage_no_fb(void *ignored);
 | |
| int igt_damage_iter_simple_damage(void *ignored);
 | |
| int igt_damage_iter_single_damage(void *ignored);
 | |
| int igt_damage_iter_single_damage_intersect_src(void *ignored);
 | |
| int igt_damage_iter_single_damage_outside_src(void *ignored);
 | |
| int igt_damage_iter_single_damage_fractional_src(void *ignored);
 | |
| int igt_damage_iter_single_damage_intersect_fractional_src(void *ignored);
 | |
| int igt_damage_iter_single_damage_outside_fractional_src(void *ignored);
 | |
| int igt_damage_iter_single_damage_src_moved(void *ignored);
 | |
| int igt_damage_iter_single_damage_fractional_src_moved(void *ignored);
 | |
| int igt_damage_iter_damage(void *ignored);
 | |
| int igt_damage_iter_damage_one_intersect(void *ignored);
 | |
| int igt_damage_iter_damage_one_outside(void *ignored);
 | |
| int igt_damage_iter_damage_src_moved(void *ignored);
 | |
| int igt_damage_iter_damage_not_visible(void *ignored);
 | |
| int igt_dp_mst_calc_pbn_mode(void *ignored);
 | |
| int igt_dp_mst_sideband_msg_req_decode(void *ignored);
 | |
| 
 | |
| #endif
 |