aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/cik_sdma.c27
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c27
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c30
-rw-r--r--drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c38
-rw-r--r--drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c38
5 files changed, 0 insertions, 160 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
index 7c816b5cf17a..ef5e9f9b5ab2 100644
--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
@@ -829,8 +829,6 @@ static void cik_sdma_ring_emit_vm_flush(struct amdgpu_ring *ring,
829{ 829{
830 u32 extra_bits = (SDMA_POLL_REG_MEM_EXTRA_OP(0) | 830 u32 extra_bits = (SDMA_POLL_REG_MEM_EXTRA_OP(0) |
831 SDMA_POLL_REG_MEM_EXTRA_FUNC(0)); /* always */ 831 SDMA_POLL_REG_MEM_EXTRA_FUNC(0)); /* always */
832 u32 sh_mem_cfg = REG_SET_FIELD(0, SH_MEM_CONFIG, ALIGNMENT_MODE,
833 SH_MEM_ALIGNMENT_MODE_UNALIGNED);
834 832
835 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000)); 833 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
836 if (vm_id < 8) { 834 if (vm_id < 8) {
@@ -840,31 +838,6 @@ static void cik_sdma_ring_emit_vm_flush(struct amdgpu_ring *ring,
840 } 838 }
841 amdgpu_ring_write(ring, pd_addr >> 12); 839 amdgpu_ring_write(ring, pd_addr >> 12);
842 840
843 /* update SH_MEM_* regs */
844 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
845 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
846 amdgpu_ring_write(ring, VMID(vm_id));
847
848 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
849 amdgpu_ring_write(ring, mmSH_MEM_BASES);
850 amdgpu_ring_write(ring, 0);
851
852 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
853 amdgpu_ring_write(ring, mmSH_MEM_CONFIG);
854 amdgpu_ring_write(ring, sh_mem_cfg);
855
856 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
857 amdgpu_ring_write(ring, mmSH_MEM_APE1_BASE);
858 amdgpu_ring_write(ring, 1);
859
860 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
861 amdgpu_ring_write(ring, mmSH_MEM_APE1_LIMIT);
862 amdgpu_ring_write(ring, 0);
863
864 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
865 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
866 amdgpu_ring_write(ring, VMID(0));
867
868 /* flush TLB */ 841 /* flush TLB */
869 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000)); 842 amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000));
870 amdgpu_ring_write(ring, mmVM_INVALIDATE_REQUEST); 843 amdgpu_ring_write(ring, mmVM_INVALIDATE_REQUEST);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
index 0057699cb8fa..58a20be93c14 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -3593,33 +3593,6 @@ static void gfx_v7_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
3593 amdgpu_ring_write(ring, 0); 3593 amdgpu_ring_write(ring, 0);
3594 amdgpu_ring_write(ring, pd_addr >> 12); 3594 amdgpu_ring_write(ring, pd_addr >> 12);
3595 3595
3596 /* update SH_MEM_* regs */
3597 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3598 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3599 WRITE_DATA_DST_SEL(0)));
3600 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
3601 amdgpu_ring_write(ring, 0);
3602 amdgpu_ring_write(ring, VMID(vm_id));
3603
3604 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 6));
3605 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3606 WRITE_DATA_DST_SEL(0)));
3607 amdgpu_ring_write(ring, mmSH_MEM_BASES);
3608 amdgpu_ring_write(ring, 0);
3609
3610 amdgpu_ring_write(ring, 0); /* SH_MEM_BASES */
3611 amdgpu_ring_write(ring, 0); /* SH_MEM_CONFIG */
3612 amdgpu_ring_write(ring, 1); /* SH_MEM_APE1_BASE */
3613 amdgpu_ring_write(ring, 0); /* SH_MEM_APE1_LIMIT */
3614
3615 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3616 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3617 WRITE_DATA_DST_SEL(0)));
3618 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
3619 amdgpu_ring_write(ring, 0);
3620 amdgpu_ring_write(ring, VMID(0));
3621
3622
3623 /* bits 0-15 are the VM contexts0-15 */ 3596 /* bits 0-15 are the VM contexts0-15 */
3624 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); 3597 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3625 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) | 3598 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index a7d687da10d7..c3aebdffeea1 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -3800,7 +3800,6 @@ static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
3800 unsigned vm_id, uint64_t pd_addr) 3800 unsigned vm_id, uint64_t pd_addr)
3801{ 3801{
3802 int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX); 3802 int usepfp = (ring->type == AMDGPU_RING_TYPE_GFX);
3803 u32 srbm_gfx_cntl = 0;
3804 3803
3805 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); 3804 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3806 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) | 3805 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(usepfp) |
@@ -3815,35 +3814,6 @@ static void gfx_v8_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
3815 amdgpu_ring_write(ring, 0); 3814 amdgpu_ring_write(ring, 0);
3816 amdgpu_ring_write(ring, pd_addr >> 12); 3815 amdgpu_ring_write(ring, pd_addr >> 12);
3817 3816
3818 /* update SH_MEM_* regs */
3819 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, vm_id);
3820 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3821 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3822 WRITE_DATA_DST_SEL(0)));
3823 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
3824 amdgpu_ring_write(ring, 0);
3825 amdgpu_ring_write(ring, srbm_gfx_cntl);
3826
3827 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 6));
3828 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3829 WRITE_DATA_DST_SEL(0)));
3830 amdgpu_ring_write(ring, mmSH_MEM_BASES);
3831 amdgpu_ring_write(ring, 0);
3832
3833 amdgpu_ring_write(ring, 0); /* SH_MEM_BASES */
3834 amdgpu_ring_write(ring, 0); /* SH_MEM_CONFIG */
3835 amdgpu_ring_write(ring, 1); /* SH_MEM_APE1_BASE */
3836 amdgpu_ring_write(ring, 0); /* SH_MEM_APE1_LIMIT */
3837
3838 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, 0);
3839 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
3840 amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
3841 WRITE_DATA_DST_SEL(0)));
3842 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
3843 amdgpu_ring_write(ring, 0);
3844 amdgpu_ring_write(ring, srbm_gfx_cntl);
3845
3846
3847 /* bits 0-15 are the VM contexts0-15 */ 3817 /* bits 0-15 are the VM contexts0-15 */
3848 /* invalidate the cache */ 3818 /* invalidate the cache */
3849 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3)); 3819 amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
index 64de8f60e3a5..d09aa7eeb40e 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
@@ -890,10 +890,6 @@ static void sdma_v2_4_vm_pad_ib(struct amdgpu_ib *ib)
890static void sdma_v2_4_ring_emit_vm_flush(struct amdgpu_ring *ring, 890static void sdma_v2_4_ring_emit_vm_flush(struct amdgpu_ring *ring,
891 unsigned vm_id, uint64_t pd_addr) 891 unsigned vm_id, uint64_t pd_addr)
892{ 892{
893 u32 srbm_gfx_cntl = 0;
894 u32 sh_mem_cfg = REG_SET_FIELD(0, SH_MEM_CONFIG, ALIGNMENT_MODE,
895 SH_MEM_ALIGNMENT_MODE_UNALIGNED);
896
897 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) | 893 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
898 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf)); 894 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
899 if (vm_id < 8) { 895 if (vm_id < 8) {
@@ -903,40 +899,6 @@ static void sdma_v2_4_ring_emit_vm_flush(struct amdgpu_ring *ring,
903 } 899 }
904 amdgpu_ring_write(ring, pd_addr >> 12); 900 amdgpu_ring_write(ring, pd_addr >> 12);
905 901
906 /* update SH_MEM_* regs */
907 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, vm_id);
908 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
909 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
910 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
911 amdgpu_ring_write(ring, srbm_gfx_cntl);
912
913 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
914 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
915 amdgpu_ring_write(ring, mmSH_MEM_BASES);
916 amdgpu_ring_write(ring, 0);
917
918 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
919 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
920 amdgpu_ring_write(ring, mmSH_MEM_CONFIG);
921 amdgpu_ring_write(ring, sh_mem_cfg);
922
923 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
924 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
925 amdgpu_ring_write(ring, mmSH_MEM_APE1_BASE);
926 amdgpu_ring_write(ring, 1);
927
928 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
929 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
930 amdgpu_ring_write(ring, mmSH_MEM_APE1_LIMIT);
931 amdgpu_ring_write(ring, 0);
932
933 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, 0);
934 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
935 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
936 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
937 amdgpu_ring_write(ring, srbm_gfx_cntl);
938
939
940 /* flush TLB */ 902 /* flush TLB */
941 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) | 903 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
942 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf)); 904 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
index bf3cefc447ca..555c0e1e4c97 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
@@ -953,10 +953,6 @@ static void sdma_v3_0_vm_pad_ib(struct amdgpu_ib *ib)
953static void sdma_v3_0_ring_emit_vm_flush(struct amdgpu_ring *ring, 953static void sdma_v3_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
954 unsigned vm_id, uint64_t pd_addr) 954 unsigned vm_id, uint64_t pd_addr)
955{ 955{
956 u32 srbm_gfx_cntl = 0;
957 u32 sh_mem_cfg = REG_SET_FIELD(0, SH_MEM_CONFIG, ALIGNMENT_MODE,
958 SH_MEM_ALIGNMENT_MODE_UNALIGNED);
959
960 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) | 956 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
961 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf)); 957 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
962 if (vm_id < 8) { 958 if (vm_id < 8) {
@@ -966,40 +962,6 @@ static void sdma_v3_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
966 } 962 }
967 amdgpu_ring_write(ring, pd_addr >> 12); 963 amdgpu_ring_write(ring, pd_addr >> 12);
968 964
969 /* update SH_MEM_* regs */
970 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, vm_id);
971 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
972 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
973 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
974 amdgpu_ring_write(ring, srbm_gfx_cntl);
975
976 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
977 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
978 amdgpu_ring_write(ring, mmSH_MEM_BASES);
979 amdgpu_ring_write(ring, 0);
980
981 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
982 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
983 amdgpu_ring_write(ring, mmSH_MEM_CONFIG);
984 amdgpu_ring_write(ring, sh_mem_cfg);
985
986 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
987 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
988 amdgpu_ring_write(ring, mmSH_MEM_APE1_BASE);
989 amdgpu_ring_write(ring, 1);
990
991 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
992 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
993 amdgpu_ring_write(ring, mmSH_MEM_APE1_LIMIT);
994 amdgpu_ring_write(ring, 0);
995
996 srbm_gfx_cntl = REG_SET_FIELD(srbm_gfx_cntl, SRBM_GFX_CNTL, VMID, 0);
997 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
998 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));
999 amdgpu_ring_write(ring, mmSRBM_GFX_CNTL);
1000 amdgpu_ring_write(ring, srbm_gfx_cntl);
1001
1002
1003 /* flush TLB */ 965 /* flush TLB */
1004 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) | 966 amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_SRBM_WRITE) |
1005 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf)); 967 SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(0xf));