Lines Matching defs:ib
534 struct amdgpu_ib *ib;
543 ib = &job->ibs[0];
544 ib->ptr[0] = PACKET0(adev->vcn.internal.data0, 0);
545 ib->ptr[1] = addr;
546 ib->ptr[2] = PACKET0(adev->vcn.internal.data1, 0);
547 ib->ptr[3] = addr >> 32;
548 ib->ptr[4] = PACKET0(adev->vcn.internal.cmd, 0);
549 ib->ptr[5] = 0;
551 ib->ptr[i] = PACKET0(adev->vcn.internal.nop, 0);
552 ib->ptr[i+1] = 0;
554 ib->length_dw = 16;
576 struct amdgpu_ib *ib)
582 memset(ib, 0, sizeof(*ib));
585 ib);
589 msg = (uint32_t *)AMDGPU_GPU_PAGE_ALIGN((unsigned long)ib->ptr);
611 struct amdgpu_ib *ib)
617 memset(ib, 0, sizeof(*ib));
620 ib);
624 msg = (uint32_t *)AMDGPU_GPU_PAGE_ALIGN((unsigned long)ib->ptr);
640 struct amdgpu_ib ib;
643 r = amdgpu_vcn_dec_get_create_msg(ring, 1, &ib);
647 r = amdgpu_vcn_dec_send_msg(ring, &ib, NULL);
650 r = amdgpu_vcn_dec_get_destroy_msg(ring, 1, &ib);
654 r = amdgpu_vcn_dec_send_msg(ring, &ib, &fence);
669 static uint32_t *amdgpu_vcn_unified_ring_ib_header(struct amdgpu_ib *ib,
674 ib->ptr[ib->length_dw++] = 0x00000010; /* single queue checksum */
675 ib->ptr[ib->length_dw++] = 0x30000002;
676 ib_checksum = &ib->ptr[ib->length_dw++];
677 ib->ptr[ib->length_dw++] = ib_pack_in_dw;
679 ib->ptr[ib->length_dw++] = 0x00000010; /* engine info */
680 ib->ptr[ib->length_dw++] = 0x30000001;
681 ib->ptr[ib->length_dw++] = enc ? 0x2 : 0x3;
682 ib->ptr[ib->length_dw++] = ib_pack_in_dw * sizeof(uint32_t);
708 struct amdgpu_ib *ib;
723 ib = &job->ibs[0];
724 ib->length_dw = 0;
729 + 4 + 2; /* engine info + decoding ib in dw */
730 ib_checksum = amdgpu_vcn_unified_ring_ib_header(ib, ib_pack_in_dw, false);
733 ib->ptr[ib->length_dw++] = sizeof(struct amdgpu_vcn_decode_buffer) + 8;
734 ib->ptr[ib->length_dw++] = cpu_to_le32(AMDGPU_VCN_IB_FLAG_DECODE_BUFFER);
735 decode_buffer = (struct amdgpu_vcn_decode_buffer *)&(ib->ptr[ib->length_dw]);
736 ib->length_dw += sizeof(struct amdgpu_vcn_decode_buffer) / 4;
743 for (i = ib->length_dw; i < ib_size_dw; ++i)
744 ib->ptr[i] = 0x0;
771 struct amdgpu_ib ib;
774 r = amdgpu_vcn_dec_get_create_msg(ring, 1, &ib);
778 r = amdgpu_vcn_dec_sw_send_msg(ring, &ib, NULL);
781 r = amdgpu_vcn_dec_get_destroy_msg(ring, 1, &ib);
785 r = amdgpu_vcn_dec_sw_send_msg(ring, &ib, &fence);
838 struct amdgpu_ib *ib;
853 ib = &job->ibs[0];
856 ib->length_dw = 0;
859 ib_checksum = amdgpu_vcn_unified_ring_ib_header(ib, 0x11, true);
861 ib->ptr[ib->length_dw++] = 0x00000018;
862 ib->ptr[ib->length_dw++] = 0x00000001; /* session info */
863 ib->ptr[ib->length_dw++] = handle;
864 ib->ptr[ib->length_dw++] = upper_32_bits(addr);
865 ib->ptr[ib->length_dw++] = addr;
866 ib->ptr[ib->length_dw++] = 0x0000000b;
868 ib->ptr[ib->length_dw++] = 0x00000014;
869 ib->ptr[ib->length_dw++] = 0x00000002; /* task info */
870 ib->ptr[ib->length_dw++] = 0x0000001c;
871 ib->ptr[ib->length_dw++] = 0x00000000;
872 ib->ptr[ib->length_dw++] = 0x00000000;
874 ib->ptr[ib->length_dw++] = 0x00000008;
875 ib->ptr[ib->length_dw++] = 0x08000001; /* op initialize */
877 for (i = ib->length_dw; i < ib_size_dw; ++i)
878 ib->ptr[i] = 0x0;
905 struct amdgpu_ib *ib;
920 ib = &job->ibs[0];
923 ib->length_dw = 0;
926 ib_checksum = amdgpu_vcn_unified_ring_ib_header(ib, 0x11, true);
928 ib->ptr[ib->length_dw++] = 0x00000018;
929 ib->ptr[ib->length_dw++] = 0x00000001;
930 ib->ptr[ib->length_dw++] = handle;
931 ib->ptr[ib->length_dw++] = upper_32_bits(addr);
932 ib->ptr[ib->length_dw++] = addr;
933 ib->ptr[ib->length_dw++] = 0x0000000b;
935 ib->ptr[ib->length_dw++] = 0x00000014;
936 ib->ptr[ib->length_dw++] = 0x00000002;
937 ib->ptr[ib->length_dw++] = 0x0000001c;
938 ib->ptr[ib->length_dw++] = 0x00000000;
939 ib->ptr[ib->length_dw++] = 0x00000000;
941 ib->ptr[ib->length_dw++] = 0x00000008;
942 ib->ptr[ib->length_dw++] = 0x08000002; /* op close session */
944 for (i = ib->length_dw; i < ib_size_dw; ++i)
945 ib->ptr[i] = 0x0;
969 struct amdgpu_ib ib;
972 memset(&ib, 0, sizeof(ib));
975 &ib);
979 r = amdgpu_vcn_enc_get_create_msg(ring, 1, &ib, NULL);
983 r = amdgpu_vcn_enc_get_destroy_msg(ring, 1, &ib, &fence);
994 amdgpu_ib_free(adev, &ib, fence);