|
@@ -127,10 +127,18 @@ static void mpc10_mpcc_remove(
|
|
|
for (z_idx = 0; z_idx < opp->mpc_tree.num_pipes; z_idx++)
|
|
|
if (opp->mpc_tree.dpp[z_idx] == dpp_id)
|
|
|
break;
|
|
|
+
|
|
|
if (z_idx == opp->mpc_tree.num_pipes) {
|
|
|
- ASSERT(0);
|
|
|
+ /* In case of resume from S3/S4, remove mpcc from bios left over */
|
|
|
+ REG_SET(MPCC_OPP_ID[dpp_id], 0,
|
|
|
+ MPCC_OPP_ID, 0xf);
|
|
|
+ REG_SET(MPCC_TOP_SEL[dpp_id], 0,
|
|
|
+ MPCC_TOP_SEL, 0xf);
|
|
|
+ REG_SET(MPCC_BOT_SEL[dpp_id], 0,
|
|
|
+ MPCC_BOT_SEL, 0xf);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
mpcc_id = opp->mpc_tree.mpcc[z_idx];
|
|
|
|
|
|
REG_SET(MPCC_OPP_ID[mpcc_id], 0,
|