@@ -277,11 +277,13 @@ static int psp_v11_0_ring_stop(struct psp_context *psp,
277277
278278 /* Wait for response flag (bit 31) */
279279 if (amdgpu_sriov_vf (adev ))
280- ret = psp_wait_for (psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_101 ),
281- 0x80000000 , 0x80000000 , false);
280+ ret = psp_wait_for (
281+ psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_101 ),
282+ MBOX_TOS_RESP_FLAG , MBOX_TOS_RESP_MASK , false);
282283 else
283- ret = psp_wait_for (psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
284- 0x80000000 , 0x80000000 , false);
284+ ret = psp_wait_for (
285+ psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
286+ MBOX_TOS_RESP_FLAG , MBOX_TOS_RESP_MASK , false);
285287
286288 return ret ;
287289}
@@ -317,13 +319,15 @@ static int psp_v11_0_ring_create(struct psp_context *psp,
317319 mdelay (20 );
318320
319321 /* Wait for response flag (bit 31) in C2PMSG_101 */
320- ret = psp_wait_for (psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_101 ),
321- 0x80000000 , 0x8000FFFF , false);
322+ ret = psp_wait_for (
323+ psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_101 ),
324+ MBOX_TOS_RESP_FLAG , MBOX_TOS_RESP_MASK , false);
322325
323326 } else {
324327 /* Wait for sOS ready for ring creation */
325- ret = psp_wait_for (psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
326- 0x80000000 , 0x80000000 , false);
328+ ret = psp_wait_for (
329+ psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
330+ MBOX_TOS_READY_FLAG , MBOX_TOS_READY_MASK , false);
327331 if (ret ) {
328332 DRM_ERROR ("Failed to wait for sOS ready for ring creation\n" );
329333 return ret ;
@@ -347,8 +351,9 @@ static int psp_v11_0_ring_create(struct psp_context *psp,
347351 mdelay (20 );
348352
349353 /* Wait for response flag (bit 31) in C2PMSG_64 */
350- ret = psp_wait_for (psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
351- 0x80000000 , 0x8000FFFF , false);
354+ ret = psp_wait_for (
355+ psp , SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 ),
356+ MBOX_TOS_RESP_FLAG , MBOX_TOS_RESP_MASK , false);
352357 }
353358
354359 return ret ;
@@ -381,7 +386,8 @@ static int psp_v11_0_mode1_reset(struct psp_context *psp)
381386
382387 offset = SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_64 );
383388
384- ret = psp_wait_for (psp , offset , 0x80000000 , 0x8000FFFF , false);
389+ ret = psp_wait_for (psp , offset , MBOX_TOS_READY_FLAG ,
390+ MBOX_TOS_READY_MASK , false);
385391
386392 if (ret ) {
387393 DRM_INFO ("psp is not working correctly before mode1 reset!\n" );
@@ -395,7 +401,8 @@ static int psp_v11_0_mode1_reset(struct psp_context *psp)
395401
396402 offset = SOC15_REG_OFFSET (MP0 , 0 , mmMP0_SMN_C2PMSG_33 );
397403
398- ret = psp_wait_for (psp , offset , 0x80000000 , 0x80000000 , false);
404+ ret = psp_wait_for (psp , offset , MBOX_TOS_RESP_FLAG , MBOX_TOS_RESP_MASK ,
405+ false);
399406
400407 if (ret ) {
401408 DRM_INFO ("psp mode 1 reset failed!\n" );
0 commit comments