Lines Matching full:fd

47 static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg)  in legacy_addfb()  argument
52 if (igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB, arg)) in legacy_addfb()
59 static int rmfb(int fd, uint32_t id) in rmfb() argument
64 if (igt_ioctl(fd, DRM_IOCTL_MODE_RMFB, &id)) in rmfb()
71 static void invalid_tests(int fd) in invalid_tests() argument
81 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in invalid_tests()
84 gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023, in invalid_tests()
90 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in invalid_tests()
91 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in invalid_tests()
98 igt_require_fb_modifiers(fd); in invalid_tests()
101 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in invalid_tests()
107 igt_require_fb_modifiers(fd); in invalid_tests()
110 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in invalid_tests()
116 igt_require_fb_modifiers(fd); in invalid_tests()
119 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in invalid_tests()
125 igt_require_fb_modifiers(fd); in invalid_tests()
128 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in invalid_tests()
134 igt_require_intel(fd); in invalid_tests()
137 gem_set_tiling(fd, gem_bo, I915_TILING_X, 512*4); in invalid_tests()
138 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0); in invalid_tests()
139 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in invalid_tests()
175 known_formats[i].expect = legacy_addfb(fd, &arg); in invalid_tests()
179 igt_assert_eq(rmfb(fd, arg.fb_id), 0); in invalid_tests()
211 err = legacy_addfb(fd, &arg); in invalid_tests()
216 igt_assert_eq(rmfb(fd, arg.fb_id), 0); in invalid_tests()
230 err = legacy_addfb(fd, &arg); in invalid_tests()
237 igt_assert_eq(rmfb(fd, arg.fb_id), 0); in invalid_tests()
247 gem_close(fd, gem_bo); in invalid_tests()
248 gem_close(fd, gem_bo_small); in invalid_tests()
252 static void pitch_tests(int fd) in pitch_tests() argument
264 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in pitch_tests()
270 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in pitch_tests()
276 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in pitch_tests()
277 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in pitch_tests()
284 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in pitch_tests()
290 gem_close(fd, gem_bo); in pitch_tests()
293 static void tiling_tests(int fd) in tiling_tests() argument
306 igt_require_intel(fd); in tiling_tests()
307 tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in tiling_tests()
312 tiled_y_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in tiling_tests()
317 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in tiling_tests()
326 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in tiling_tests()
327 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in tiling_tests()
334 gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); in tiling_tests()
335 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in tiling_tests()
336 igt_assert(__gem_set_tiling(fd, gem_bo, I915_TILING_X, 512*4) == -EBUSY); in tiling_tests()
337 igt_assert(__gem_set_tiling(fd, gem_bo, I915_TILING_Y, 1024*4) == -EBUSY); in tiling_tests()
338 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in tiling_tests()
346 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in tiling_tests()
354 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in tiling_tests()
359 gem_close(fd, tiled_x_bo); in tiling_tests()
360 gem_close(fd, tiled_y_bo); in tiling_tests()
365 static void size_tests(int fd) in size_tests() argument
387 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in size_tests()
390 gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023, in size_tests()
400 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in size_tests()
401 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in size_tests()
403 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_16) == 0); in size_tests()
404 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f_16.fb_id) == 0); in size_tests()
406 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_8) == 0); in size_tests()
407 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f_8.fb_id) == 0); in size_tests()
415 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in size_tests()
417 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_16) == -1 && in size_tests()
419 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_8) == -1 && in size_tests()
429 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in size_tests()
431 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_16) == -1 && in size_tests()
433 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f_8) == -1 && in size_tests()
439 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in size_tests()
446 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in size_tests()
447 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in size_tests()
452 igt_require_intel(fd); in size_tests()
453 gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); in size_tests()
454 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == -1 && in size_tests()
460 gem_close(fd, gem_bo); in size_tests()
461 gem_close(fd, gem_bo_small); in size_tests()
465 static void addfb25_tests(int fd) in addfb25_tests() argument
470 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in addfb25_tests()
486 igt_require_fb_modifiers(fd); in addfb25_tests()
489 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL); in addfb25_tests()
498 igt_require_fb_modifiers(fd); in addfb25_tests()
501 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL); in addfb25_tests()
507 igt_require_intel(fd); in addfb25_tests()
508 gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); in addfb25_tests()
509 igt_require_fb_modifiers(fd); in addfb25_tests()
514 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL); in addfb25_tests()
519 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0); in addfb25_tests()
520 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in addfb25_tests()
526 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0); in addfb25_tests()
527 igt_assert(__gem_set_tiling(fd, gem_bo, I915_TILING_X, 512*4) == -EBUSY); in addfb25_tests()
528 igt_assert(__gem_set_tiling(fd, gem_bo, I915_TILING_Y, 1024*4) == -EBUSY); in addfb25_tests()
529 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in addfb25_tests()
534 gem_close(fd, gem_bo); in addfb25_tests()
537 static int addfb_expected_ret(int fd, uint64_t modifier) in addfb_expected_ret() argument
541 if (!is_i915_device(fd)) in addfb_expected_ret()
544 gen = intel_gen(intel_get_drm_devid(fd)); in addfb_expected_ret()
551 static void addfb25_ytile(int fd) in addfb25_ytile() argument
557 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in addfb25_ytile()
560 gem_bo_small = igt_create_bo_with_dimensions(fd, 1024, 1023, in addfb25_ytile()
577 igt_require_fb_modifiers(fd); in addfb25_ytile()
580 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == in addfb25_ytile()
581 addfb_expected_ret(fd, f.modifier[0])); in addfb25_ytile()
582 if (!addfb_expected_ret(fd, f.modifier[0])) in addfb25_ytile()
583 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in addfb25_ytile()
588 igt_require_fb_modifiers(fd); in addfb25_ytile()
591 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == in addfb25_ytile()
592 addfb_expected_ret(fd, f.modifier[0])); in addfb25_ytile()
593 if (!addfb_expected_ret(fd, f.modifier[0])) in addfb25_ytile()
594 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in addfb25_ytile()
599 igt_require_fb_modifiers(fd); in addfb25_ytile()
601 gen = intel_gen(intel_get_drm_devid(fd)); in addfb25_ytile()
607 igt_assert(drmIoctl(fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL); in addfb25_ytile()
612 gem_close(fd, gem_bo); in addfb25_ytile()
613 gem_close(fd, gem_bo_small); in addfb25_ytile()
617 static void prop_tests(int fd) in prop_tests() argument
630 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in prop_tests()
636 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in prop_tests()
647 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_GETPROPERTIES, in prop_tests()
654 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_GETPROPERTIES, in prop_tests()
665 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_SETPROPERTY, in prop_tests()
672 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_OBJ_SETPROPERTY, in prop_tests()
677 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in prop_tests()
681 static void master_tests(int fd) in master_tests() argument
691 gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, in master_tests()
697 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0); in master_tests()
703 igt_device_drop_master(fd); in master_tests()
712 igt_device_set_master(fd); in master_tests()
716 igt_assert(drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &f.fb_id) == 0); in master_tests()
720 static bool has_addfb2_iface(int fd) in has_addfb2_iface() argument
726 if (drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f)) in has_addfb2_iface()
743 int fd; variable
748 fd = drm_open_driver_master(DRIVER_ANY);
749 igt_require(has_addfb2_iface(fd));
752 invalid_tests(fd);
754 pitch_tests(fd);
756 size_tests(fd);
758 addfb25_tests(fd);
760 addfb25_ytile(fd);
762 tiling_tests(fd);
764 prop_tests(fd);
766 master_tests(fd);
769 close(fd);