@@ -671,9 +671,9 @@ psp_cmd_submit_buf(struct psp_context *psp,
671671 if (psp -> adev -> no_hw_access )
672672 return 0 ;
673673
674- memset (psp -> cmd_buf_mem , 0 , PSP_CMD_BUFFER_SIZE );
674+ memset_io (psp -> cmd_buf_mem , 0 , PSP_CMD_BUFFER_SIZE );
675675
676- memcpy (psp -> cmd_buf_mem , cmd , sizeof (struct psp_gfx_cmd_resp ));
676+ memcpy_toio (psp -> cmd_buf_mem , cmd , sizeof (struct psp_gfx_cmd_resp ));
677677
678678 index = atomic_inc_return (& psp -> fence_value );
679679 ret = psp_ring_cmd_submit (psp , psp -> cmd_buf_mc_addr , fence_mc_addr , index );
@@ -702,7 +702,7 @@ psp_cmd_submit_buf(struct psp_context *psp,
702702 skip_unsupport = (psp -> cmd_buf_mem -> resp .status == TEE_ERROR_NOT_SUPPORTED ||
703703 psp -> cmd_buf_mem -> resp .status == PSP_ERR_UNKNOWN_COMMAND ) && amdgpu_sriov_vf (psp -> adev );
704704
705- memcpy (& cmd -> resp , & psp -> cmd_buf_mem -> resp , sizeof (struct psp_gfx_resp ));
705+ memcpy_fromio (& cmd -> resp , & psp -> cmd_buf_mem -> resp , sizeof (struct psp_gfx_resp ));
706706
707707 /* In some cases, psp response status is not 0 even there is no
708708 * problem while the command is submitted. Some version of PSP FW
@@ -1026,8 +1026,8 @@ static int psp_rl_load(struct amdgpu_device *adev)
10261026
10271027 cmd = acquire_psp_cmd_buf (psp );
10281028
1029- memset (psp -> fw_pri_buf , 0 , PSP_1_MEG );
1030- memcpy (psp -> fw_pri_buf , psp -> rl .start_addr , psp -> rl .size_bytes );
1029+ memset_io (psp -> fw_pri_buf , 0 , PSP_1_MEG );
1030+ memcpy_toio (psp -> fw_pri_buf , psp -> rl .start_addr , psp -> rl .size_bytes );
10311031
10321032 cmd -> cmd_id = GFX_CMD_ID_LOAD_IP_FW ;
10331033 cmd -> cmd .cmd_load_ip_fw .fw_phy_addr_lo = lower_32_bits (psp -> fw_pri_mc_addr );
@@ -2875,7 +2875,7 @@ static int psp_load_fw(struct amdgpu_device *adev)
28752875 /* should not destroy ring, only stop */
28762876 psp_ring_stop (psp , PSP_RING_TYPE__KM );
28772877 } else {
2878- memset (psp -> fence_buf , 0 , PSP_FENCE_BUFFER_SIZE );
2878+ memset_io (psp -> fence_buf , 0 , PSP_FENCE_BUFFER_SIZE );
28792879
28802880 ret = psp_ring_init (psp , PSP_RING_TYPE__KM );
28812881 if (ret ) {
@@ -3223,7 +3223,7 @@ int psp_ring_cmd_submit(struct psp_context *psp,
32233223 }
32243224
32253225 /* Initialize KM RB frame */
3226- memset (write_frame , 0 , sizeof (struct psp_gfx_rb_frame ));
3226+ memset_io (write_frame , 0 , sizeof (struct psp_gfx_rb_frame ));
32273227
32283228 /* Update KM RB frame */
32293229 write_frame -> cmd_buf_addr_hi = upper_32_bits (cmd_buf_mc_addr );
@@ -3835,8 +3835,8 @@ void psp_copy_fw(struct psp_context *psp, uint8_t *start_addr, uint32_t bin_size
38353835 if (!drm_dev_enter (adev_to_drm (psp -> adev ), & idx ))
38363836 return ;
38373837
3838- memset (psp -> fw_pri_buf , 0 , PSP_1_MEG );
3839- memcpy (psp -> fw_pri_buf , start_addr , bin_size );
3838+ memset_io (psp -> fw_pri_buf , 0 , PSP_1_MEG );
3839+ memcpy_toio (psp -> fw_pri_buf , start_addr , bin_size );
38403840
38413841 drm_dev_exit (idx );
38423842}
0 commit comments