Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/tests: Add calls to drm_fb_blit() on supported format conversion tests

Add a call to drm_fb_blit() on existing format conversion tests that
has support.

Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net>
Reviewed-by: Maíra Canal <mairacanal@riseup.net>
Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20230918-final-gsoc-v3-1-b999c042a4cc@riseup.net

authored by

Arthur Grillo and committed by
Maíra Canal
15bda1f8 e35728d0

+142
+142
drivers/gpu/drm/tests/drm_format_helper_test.c
··· 643 643 drm_fb_xrgb8888_to_rgb565(&dst, &result->dst_pitch, &src, &fb, &params->clip, true); 644 644 buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 645 645 KUNIT_EXPECT_MEMEQ(test, buf, result->expected_swab, dst_size); 646 + 647 + buf = dst.vaddr; 648 + memset(buf, 0, dst_size); 649 + 650 + int blit_result = 0; 651 + 652 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_RGB565, &src, &fb, &params->clip); 653 + 654 + buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 655 + 656 + KUNIT_EXPECT_FALSE(test, blit_result); 657 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 646 658 } 647 659 648 660 static void drm_test_fb_xrgb8888_to_xrgb1555(struct kunit *test) ··· 688 676 689 677 drm_fb_xrgb8888_to_xrgb1555(&dst, dst_pitch, &src, &fb, &params->clip); 690 678 buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 679 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 680 + 681 + buf = dst.vaddr; /* restore original value of buf */ 682 + memset(buf, 0, dst_size); 683 + 684 + int blit_result = 0; 685 + 686 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_XRGB1555, &src, &fb, &params->clip); 687 + 688 + buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 689 + 690 + KUNIT_EXPECT_FALSE(test, blit_result); 691 691 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 692 692 } 693 693 ··· 735 711 drm_fb_xrgb8888_to_argb1555(&dst, dst_pitch, &src, &fb, &params->clip); 736 712 buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 737 713 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 714 + 715 + buf = dst.vaddr; /* restore original value of buf */ 716 + memset(buf, 0, dst_size); 717 + 718 + int blit_result = 0; 719 + 720 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_ARGB1555, &src, &fb, &params->clip); 721 + 722 + buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 723 + 724 + KUNIT_EXPECT_FALSE(test, blit_result); 725 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 738 726 } 739 727 740 728 static void drm_test_fb_xrgb8888_to_rgba5551(struct kunit *test) ··· 780 744 781 745 drm_fb_xrgb8888_to_rgba5551(&dst, dst_pitch, &src, &fb, &params->clip); 782 746 buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 747 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 748 + 749 + buf = dst.vaddr; /* restore original value of buf */ 750 + memset(buf, 0, dst_size); 751 + 752 + int blit_result = 0; 753 + 754 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_RGBA5551, &src, &fb, &params->clip); 755 + 756 + buf = le16buf_to_cpu(test, (__force const __le16 *)buf, dst_size / sizeof(__le16)); 757 + 758 + KUNIT_EXPECT_FALSE(test, blit_result); 783 759 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 784 760 } 785 761 ··· 830 782 831 783 drm_fb_xrgb8888_to_rgb888(&dst, dst_pitch, &src, &fb, &params->clip); 832 784 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 785 + 786 + buf = dst.vaddr; /* restore original value of buf */ 787 + memset(buf, 0, dst_size); 788 + 789 + int blit_result = 0; 790 + 791 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_RGB888, &src, &fb, &params->clip); 792 + 793 + KUNIT_EXPECT_FALSE(test, blit_result); 794 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 833 795 } 834 796 835 797 static void drm_test_fb_xrgb8888_to_argb8888(struct kunit *test) ··· 873 815 874 816 drm_fb_xrgb8888_to_argb8888(&dst, dst_pitch, &src, &fb, &params->clip); 875 817 buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 818 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 819 + 820 + buf = dst.vaddr; /* restore original value of buf */ 821 + memset(buf, 0, dst_size); 822 + 823 + int blit_result = 0; 824 + 825 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_ARGB8888, &src, &fb, &params->clip); 826 + 827 + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 828 + 829 + KUNIT_EXPECT_FALSE(test, blit_result); 876 830 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 877 831 } 878 832 ··· 920 850 drm_fb_xrgb8888_to_xrgb2101010(&dst, dst_pitch, &src, &fb, &params->clip); 921 851 buf = le32buf_to_cpu(test, buf, dst_size / sizeof(u32)); 922 852 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 853 + 854 + buf = dst.vaddr; /* restore original value of buf */ 855 + memset(buf, 0, dst_size); 856 + 857 + int blit_result = 0; 858 + 859 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_XRGB2101010, &src, &fb, 860 + &params->clip); 861 + 862 + KUNIT_EXPECT_FALSE(test, blit_result); 863 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 923 864 } 924 865 925 866 static void drm_test_fb_xrgb8888_to_argb2101010(struct kunit *test) ··· 964 883 965 884 drm_fb_xrgb8888_to_argb2101010(&dst, dst_pitch, &src, &fb, &params->clip); 966 885 buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 886 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 887 + 888 + buf = dst.vaddr; /* restore original value of buf */ 889 + memset(buf, 0, dst_size); 890 + 891 + int blit_result = 0; 892 + 893 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_ARGB2101010, &src, &fb, 894 + &params->clip); 895 + 896 + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 897 + 898 + KUNIT_EXPECT_FALSE(test, blit_result); 967 899 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 968 900 } 969 901 ··· 1044 950 1045 951 drm_fb_swab(&dst, dst_pitch, &src, &fb, &params->clip, false); 1046 952 buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 953 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 954 + 955 + buf = dst.vaddr; /* restore original value of buf */ 956 + memset(buf, 0, dst_size); 957 + 958 + int blit_result; 959 + 960 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_XRGB8888 | DRM_FORMAT_BIG_ENDIAN, 961 + &src, &fb, &params->clip); 962 + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 963 + 964 + KUNIT_EXPECT_FALSE(test, blit_result); 965 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 966 + 967 + buf = dst.vaddr; 968 + memset(buf, 0, dst_size); 969 + 970 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_BGRX8888, &src, &fb, &params->clip); 971 + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 972 + 973 + KUNIT_EXPECT_FALSE(test, blit_result); 974 + KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 975 + 976 + buf = dst.vaddr; 977 + memset(buf, 0, dst_size); 978 + 979 + struct drm_format_info mock_format = *fb.format; 980 + 981 + mock_format.format |= DRM_FORMAT_BIG_ENDIAN; 982 + fb.format = &mock_format; 983 + 984 + blit_result = drm_fb_blit(&dst, dst_pitch, DRM_FORMAT_XRGB8888, &src, &fb, &params->clip); 985 + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32)); 986 + 987 + KUNIT_EXPECT_FALSE(test, blit_result); 1047 988 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size); 1048 989 } 1049 990 ··· 1667 1538 1668 1539 drm_fb_memcpy(dst, dst_pitches, src, &fb, &params->clip); 1669 1540 1541 + for (size_t i = 0; i < fb.format->num_planes; i++) { 1542 + expected[i] = cpubuf_to_le32(test, params->expected[i], TEST_BUF_SIZE); 1543 + KUNIT_EXPECT_MEMEQ_MSG(test, buf[i], expected[i], dst_size[i], 1544 + "Failed expectation on plane %zu", i); 1545 + 1546 + memset(buf[i], 0, dst_size[i]); 1547 + } 1548 + 1549 + int blit_result; 1550 + 1551 + blit_result = drm_fb_blit(dst, dst_pitches, params->format, src, &fb, &params->clip); 1552 + 1553 + KUNIT_EXPECT_FALSE(test, blit_result); 1670 1554 for (size_t i = 0; i < fb.format->num_planes; i++) { 1671 1555 expected[i] = cpubuf_to_le32(test, params->expected[i], TEST_BUF_SIZE); 1672 1556 KUNIT_EXPECT_MEMEQ_MSG(test, buf[i], expected[i], dst_size[i],