|
23 | 23 |
|
24 | 24 | #include "amdgpu.h" |
25 | 25 | #include "amdgpu_jpeg.h" |
26 | | -#include "amdgpu_cs.h" |
27 | 26 | #include "amdgpu_pm.h" |
28 | 27 | #include "soc15.h" |
29 | 28 | #include "soc15d.h" |
@@ -806,7 +805,7 @@ static const struct amdgpu_ring_funcs jpeg_v2_0_dec_ring_vm_funcs = { |
806 | 805 | .get_rptr = jpeg_v2_0_dec_ring_get_rptr, |
807 | 806 | .get_wptr = jpeg_v2_0_dec_ring_get_wptr, |
808 | 807 | .set_wptr = jpeg_v2_0_dec_ring_set_wptr, |
809 | | - .parse_cs = jpeg_v2_dec_ring_parse_cs, |
| 808 | + .parse_cs = amdgpu_jpeg_dec_parse_cs, |
810 | 809 | .emit_frame_size = |
811 | 810 | SOC15_FLUSH_GPU_TLB_NUM_WREG * 6 + |
812 | 811 | SOC15_FLUSH_GPU_TLB_NUM_REG_WAIT * 8 + |
@@ -854,58 +853,3 @@ const struct amdgpu_ip_block_version jpeg_v2_0_ip_block = { |
854 | 853 | .rev = 0, |
855 | 854 | .funcs = &jpeg_v2_0_ip_funcs, |
856 | 855 | }; |
857 | | - |
858 | | -/** |
859 | | - * jpeg_v2_dec_ring_parse_cs - command submission parser |
860 | | - * |
861 | | - * @parser: Command submission parser context |
862 | | - * @job: the job to parse |
863 | | - * @ib: the IB to parse |
864 | | - * |
865 | | - * Parse the command stream, return -EINVAL for invalid packet, |
866 | | - * 0 otherwise |
867 | | - */ |
868 | | -int jpeg_v2_dec_ring_parse_cs(struct amdgpu_cs_parser *parser, |
869 | | - struct amdgpu_job *job, |
870 | | - struct amdgpu_ib *ib) |
871 | | -{ |
872 | | - u32 i, reg, res, cond, type; |
873 | | - struct amdgpu_device *adev = parser->adev; |
874 | | - |
875 | | - for (i = 0; i < ib->length_dw ; i += 2) { |
876 | | - reg = CP_PACKETJ_GET_REG(ib->ptr[i]); |
877 | | - res = CP_PACKETJ_GET_RES(ib->ptr[i]); |
878 | | - cond = CP_PACKETJ_GET_COND(ib->ptr[i]); |
879 | | - type = CP_PACKETJ_GET_TYPE(ib->ptr[i]); |
880 | | - |
881 | | - if (res) /* only support 0 at the moment */ |
882 | | - return -EINVAL; |
883 | | - |
884 | | - switch (type) { |
885 | | - case PACKETJ_TYPE0: |
886 | | - if (cond != PACKETJ_CONDITION_CHECK0 || reg < JPEG_REG_RANGE_START || |
887 | | - reg > JPEG_REG_RANGE_END) { |
888 | | - dev_err(adev->dev, "Invalid packet [0x%08x]!\n", ib->ptr[i]); |
889 | | - return -EINVAL; |
890 | | - } |
891 | | - break; |
892 | | - case PACKETJ_TYPE3: |
893 | | - if (cond != PACKETJ_CONDITION_CHECK3 || reg < JPEG_REG_RANGE_START || |
894 | | - reg > JPEG_REG_RANGE_END) { |
895 | | - dev_err(adev->dev, "Invalid packet [0x%08x]!\n", ib->ptr[i]); |
896 | | - return -EINVAL; |
897 | | - } |
898 | | - break; |
899 | | - case PACKETJ_TYPE6: |
900 | | - if (ib->ptr[i] == CP_PACKETJ_NOP) |
901 | | - continue; |
902 | | - dev_err(adev->dev, "Invalid packet [0x%08x]!\n", ib->ptr[i]); |
903 | | - return -EINVAL; |
904 | | - default: |
905 | | - dev_err(adev->dev, "Unknown packet type %d !\n", type); |
906 | | - return -EINVAL; |
907 | | - } |
908 | | - } |
909 | | - |
910 | | - return 0; |
911 | | -} |
0 commit comments