@@ -1612,9 +1612,9 @@ static int gfx_v11_0_sw_init(struct amdgpu_ip_block *ip_block)
16121612 case IP_VERSION (11 , 0 , 2 ):
16131613 case IP_VERSION (11 , 0 , 3 ):
16141614 if (!adev -> gfx .disable_uq &&
1615- adev -> gfx .me_fw_version >= 2390 &&
1616- adev -> gfx .pfp_fw_version >= 2530 &&
1617- adev -> gfx .mec_fw_version >= 2600 &&
1615+ adev -> gfx .me_fw_version >= 2420 &&
1616+ adev -> gfx .pfp_fw_version >= 2580 &&
1617+ adev -> gfx .mec_fw_version >= 2650 &&
16181618 adev -> mes .fw_version [0 ] >= 120 ) {
16191619 adev -> userq_funcs [AMDGPU_HW_IP_GFX ] = & userq_mes_funcs ;
16201620 adev -> userq_funcs [AMDGPU_HW_IP_COMPUTE ] = & userq_mes_funcs ;
@@ -4129,6 +4129,8 @@ static int gfx_v11_0_gfx_mqd_init(struct amdgpu_device *adev, void *m,
41294129#endif
41304130 if (prop -> tmz_queue )
41314131 tmp = REG_SET_FIELD (tmp , CP_GFX_HQD_CNTL , TMZ_MATCH , 1 );
4132+ if (!prop -> kernel_queue )
4133+ tmp = REG_SET_FIELD (tmp , CP_GFX_HQD_CNTL , RB_NON_PRIV , 1 );
41324134 mqd -> cp_gfx_hqd_cntl = tmp ;
41334135
41344136 /* set up cp_doorbell_control */
@@ -4281,8 +4283,10 @@ static int gfx_v11_0_compute_mqd_init(struct amdgpu_device *adev, void *m,
42814283 tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , UNORD_DISPATCH , 1 );
42824284 tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , TUNNEL_DISPATCH ,
42834285 prop -> allow_tunneling );
4284- tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , PRIV_STATE , 1 );
4285- tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , KMD_QUEUE , 1 );
4286+ if (prop -> kernel_queue ) {
4287+ tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , PRIV_STATE , 1 );
4288+ tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , KMD_QUEUE , 1 );
4289+ }
42864290 if (prop -> tmz_queue )
42874291 tmp = REG_SET_FIELD (tmp , CP_HQD_PQ_CONTROL , TMZ , 1 );
42884292 mqd -> cp_hqd_pq_control = tmp ;
0 commit comments