Lines Matching refs:infopacket
575 struct dc_info_packet *infopacket, in build_vrr_infopacket_data_v1() argument
579 infopacket->sb[1] = 0x1A; in build_vrr_infopacket_data_v1()
582 infopacket->sb[2] = 0x00; in build_vrr_infopacket_data_v1()
585 infopacket->sb[3] = 0x00; in build_vrr_infopacket_data_v1()
595 infopacket->sb[6] |= 0x01; in build_vrr_infopacket_data_v1()
600 infopacket->sb[6] |= 0x02; in build_vrr_infopacket_data_v1()
606 infopacket->sb[6] |= 0x04; in build_vrr_infopacket_data_v1()
610 infopacket->sb[6] |= 0x04; in build_vrr_infopacket_data_v1()
617 infopacket->sb[7] = (unsigned char)((vrr->min_refresh_in_uhz + 500000) / 1000000); in build_vrr_infopacket_data_v1()
619 infopacket->sb[7] = (unsigned char)((vrr->max_refresh_in_uhz + 500000) / 1000000); in build_vrr_infopacket_data_v1()
625 infopacket->sb[8] = (unsigned char)((vrr->max_refresh_in_uhz + 500000) / 1000000); in build_vrr_infopacket_data_v1()
629 struct dc_info_packet *infopacket, in build_vrr_infopacket_data_v3() argument
638 infopacket->sb[1] = 0x1A; in build_vrr_infopacket_data_v3()
641 infopacket->sb[2] = 0x00; in build_vrr_infopacket_data_v3()
644 infopacket->sb[3] = 0x00; in build_vrr_infopacket_data_v3()
654 infopacket->sb[6] |= 0x01; in build_vrr_infopacket_data_v3()
659 infopacket->sb[6] |= 0x02; in build_vrr_infopacket_data_v3()
665 infopacket->sb[6] |= 0x04; in build_vrr_infopacket_data_v3()
669 infopacket->sb[6] |= 0x04; in build_vrr_infopacket_data_v3()
682 infopacket->sb[7] = min_programmed & 0xFF; in build_vrr_infopacket_data_v3()
685 infopacket->sb[8] = max_refresh & 0xFF; in build_vrr_infopacket_data_v3()
688 infopacket->sb[11] = (min_programmed >> 8) & 0x03; in build_vrr_infopacket_data_v3()
691 infopacket->sb[12] = (max_refresh >> 8) & 0x03; in build_vrr_infopacket_data_v3()
694 infopacket->sb[16] = (vrr->state == VRR_STATE_ACTIVE_FIXED) ? 1 : 0; in build_vrr_infopacket_data_v3()
698 struct dc_info_packet *infopacket) in build_vrr_infopacket_fs2_data() argument
701 infopacket->valid = true; in build_vrr_infopacket_fs2_data()
704 infopacket->sb[9] |= 0x20; // PB9 = [Bit 5 = PQ EOTF Active] in build_vrr_infopacket_fs2_data()
706 infopacket->sb[6] |= 0x08; // PB6 = [Bit 3 = Native Color Active] in build_vrr_infopacket_fs2_data()
708 infopacket->sb[9] |= 0x04; // PB9 = [Bit 2 = Gamma 2.2 EOTF Active] in build_vrr_infopacket_fs2_data()
714 struct dc_info_packet *infopacket, in build_vrr_infopacket_header_v1() argument
724 infopacket->hb0 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v1()
727 infopacket->hb1 = 0x01; in build_vrr_infopacket_header_v1()
730 infopacket->hb2 = 0x08; in build_vrr_infopacket_header_v1()
741 infopacket->hb0 = 0x00; in build_vrr_infopacket_header_v1()
746 infopacket->hb1 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v1()
751 infopacket->hb2 = 0x1B; in build_vrr_infopacket_header_v1()
756 infopacket->hb3 = 0x04; in build_vrr_infopacket_header_v1()
763 struct dc_info_packet *infopacket, in build_vrr_infopacket_header_v2() argument
773 infopacket->hb0 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v2()
776 infopacket->hb1 = 0x02; in build_vrr_infopacket_header_v2()
779 infopacket->hb2 = 0x09; in build_vrr_infopacket_header_v2()
789 infopacket->hb0 = 0x00; in build_vrr_infopacket_header_v2()
794 infopacket->hb1 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v2()
799 infopacket->hb2 = 0x1B; in build_vrr_infopacket_header_v2()
804 infopacket->hb3 = 0x08; in build_vrr_infopacket_header_v2()
811 struct dc_info_packet *infopacket, in build_vrr_infopacket_header_v3() argument
824 infopacket->hb0 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v3()
827 infopacket->hb1 = version; in build_vrr_infopacket_header_v3()
830 infopacket->hb2 = 0x10; in build_vrr_infopacket_header_v3()
840 infopacket->hb0 = 0x00; in build_vrr_infopacket_header_v3()
845 infopacket->hb1 = DC_HDMI_INFOFRAME_TYPE_SPD; in build_vrr_infopacket_header_v3()
850 infopacket->hb2 = 0x1B; in build_vrr_infopacket_header_v3()
856 infopacket->hb3 = (version & 0x3F) << 2; in build_vrr_infopacket_header_v3()
863 struct dc_info_packet *infopacket) in build_vrr_infopacket_checksum() argument
869 checksum += infopacket->hb0; in build_vrr_infopacket_checksum()
870 checksum += infopacket->hb1; in build_vrr_infopacket_checksum()
871 checksum += infopacket->hb2; in build_vrr_infopacket_checksum()
872 checksum += infopacket->hb3; in build_vrr_infopacket_checksum()
875 checksum += infopacket->sb[idx]; in build_vrr_infopacket_checksum()
878 infopacket->sb[0] = (unsigned char)(0x100 - checksum); in build_vrr_infopacket_checksum()
880 infopacket->valid = true; in build_vrr_infopacket_checksum()
885 struct dc_info_packet *infopacket, in build_vrr_infopacket_v1() argument
891 build_vrr_infopacket_header_v1(signal, infopacket, &payload_size); in build_vrr_infopacket_v1()
892 build_vrr_infopacket_data_v1(vrr, infopacket, freesync_on_desktop); in build_vrr_infopacket_v1()
893 build_vrr_infopacket_checksum(&payload_size, infopacket); in build_vrr_infopacket_v1()
895 infopacket->valid = true; in build_vrr_infopacket_v1()
901 struct dc_info_packet *infopacket, in build_vrr_infopacket_v2() argument
906 build_vrr_infopacket_header_v2(signal, infopacket, &payload_size); in build_vrr_infopacket_v2()
907 build_vrr_infopacket_data_v1(vrr, infopacket, freesync_on_desktop); in build_vrr_infopacket_v2()
909 build_vrr_infopacket_fs2_data(app_tf, infopacket); in build_vrr_infopacket_v2()
911 build_vrr_infopacket_checksum(&payload_size, infopacket); in build_vrr_infopacket_v2()
913 infopacket->valid = true; in build_vrr_infopacket_v2()
919 struct dc_info_packet *infopacket, in build_vrr_infopacket_v3() argument
924 build_vrr_infopacket_header_v3(signal, infopacket, &payload_size); in build_vrr_infopacket_v3()
925 build_vrr_infopacket_data_v3(vrr, infopacket, freesync_on_desktop); in build_vrr_infopacket_v3()
927 build_vrr_infopacket_fs2_data(app_tf, infopacket); in build_vrr_infopacket_v3()
929 build_vrr_infopacket_checksum(&payload_size, infopacket); in build_vrr_infopacket_v3()
931 infopacket->valid = true; in build_vrr_infopacket_v3()
935 struct dc_info_packet *infopacket) in build_vrr_infopacket_sdp_v1_3() argument
943 for (idx = infopacket->hb2; idx > 1; idx--) // Data Byte Count: 0x1B in build_vrr_infopacket_sdp_v1_3()
944 infopacket->sb[idx] = infopacket->sb[idx-1]; in build_vrr_infopacket_sdp_v1_3()
946 infopacket->sb[1] = size; // Length in build_vrr_infopacket_sdp_v1_3()
947 infopacket->sb[0] = (infopacket->hb3 >> 2) & 0x3F;//Version in build_vrr_infopacket_sdp_v1_3()
948 infopacket->hb3 = (0x13 << 2); // Header,SDP 1.3 in build_vrr_infopacket_sdp_v1_3()
949 infopacket->hb2 = 0x1D; in build_vrr_infopacket_sdp_v1_3()
957 struct dc_info_packet *infopacket, in mod_freesync_build_vrr_infopacket() argument
971 build_vrr_infopacket_v3(stream->signal, vrr, app_tf, infopacket, stream->freesync_on_desktop); in mod_freesync_build_vrr_infopacket()
974 build_vrr_infopacket_v2(stream->signal, vrr, app_tf, infopacket, stream->freesync_on_desktop); in mod_freesync_build_vrr_infopacket()
979 build_vrr_infopacket_v1(stream->signal, vrr, infopacket, stream->freesync_on_desktop); in mod_freesync_build_vrr_infopacket()
986 build_vrr_infopacket_sdp_v1_3(packet_type, infopacket); in mod_freesync_build_vrr_infopacket()