product/juno/module/juno_pvt/src/mod_juno_pvt.c
static int unsubscribe_cluster_notif(void)
{
    struct pvt_dev_ctx *group_ctx;
    struct mod_juno_pvt_dev_config *sensor_cfg;
    fwk_id_t id;
    int status;

    for (unsigned int i = 0; i < mod_ctx.elem_count; i++) {
        if ((i != JUNO_PVT_GROUP_BIG) && (i != JUNO_PVT_GROUP_LITTLE)) {
            continue;
        }

        group_ctx = &dev_ctx[i];

        sensor_cfg = group_ctx->sensor_cfg_table;

        id = FWK_ID_ELEMENT(FWK_MODULE_IDX_JUNO_PVT, i);

        status = fwk_notification_unsubscribe(
            mod_pd_notification_id_power_state_pre_transition,
            sensor_cfg->group->pd_id,
            id);
        if (status != FWK_SUCCESS) {
            return status;
        }

        status = fwk_notification_unsubscribe(
            mod_pd_notification_id_power_state_transition,
            sensor_cfg->group->pd_id,
            id);
        if (status != FWK_SUCCESS) {
            return status;
        }

        group_ctx->pd_state_on = true;
    }

    return FWK_SUCCESS;
}
/*
 * On Juno, the PPU denies to turn off clusters when DBGSYS is turned ON.
 * In such case, disable all the notifications since no transitions for clusters
 * will take place anymore.
 */
On Juno, the PPU denies to turn off clusters when DBGSYS is turned ON.
In such case, disable all the notifications since no transitions for clusters
will take place anymore.
On Juno the PPU denies to turn off clusters when DBGSYS is turned ON . In such case disable all the notifications since no transitions for clusters will take place anymore .
static int unsubscribe_cluster_notif(void)
{
    struct pvt_dev_ctx *group_ctx;
    struct mod_juno_pvt_dev_config *sensor_cfg;
    fwk_id_t id;
    int status;
    for (unsigned int i = 0; i < mod_ctx.elem_count; i++) {
        if ((i != JUNO_PVT_GROUP_BIG) && (i != JUNO_PVT_GROUP_LITTLE)) {
            continue;
        }
        group_ctx = &dev_ctx[i];
        sensor_cfg = group_ctx->sensor_cfg_table;
        id = FWK_ID_ELEMENT(FWK_MODULE_IDX_JUNO_PVT, i);
        status = fwk_notification_unsubscribe(
            mod_pd_notification_id_power_state_pre_transition,
            sensor_cfg->group->pd_id,
            id);
        if (status != FWK_SUCCESS) {
            return status;
        }
        status = fwk_notification_unsubscribe(
            mod_pd_notification_id_power_state_transition,
            sensor_cfg->group->pd_id,
            id);
        if (status != FWK_SUCCESS) {
            return status;
        }
        group_ctx->pd_state_on = true;
    }
    return FWK_SUCCESS;
}
static int unsubscribe_cluster_notif ( void ) { struct pvt_dev_ctx * group_ctx ; struct mod_juno_pvt_dev_config * sensor_cfg ; fwk_id_t id ; int status ; for ( unsigned int i = 0 ; i < mod_ctx . elem_count ; i ++ ) { if ( ( i != JUNO_PVT_GROUP_BIG ) && ( i != JUNO_PVT_GROUP_LITTLE ) ) { continue ; } group_ctx = & dev_ctx [ i ] ; sensor_cfg = group_ctx -> sensor_cfg_table ; id = FWK_ID_ELEMENT ( FWK_MODULE_IDX_JUNO_PVT , i ) ; status = fwk_notification_unsubscribe ( mod_pd_notification_id_power_state_pre_transition , sensor_cfg -> group -> pd_id , id ) ; if ( status != FWK_SUCCESS ) { return status ; } status = fwk_notification_unsubscribe ( mod_pd_notification_id_power_state_transition , sensor_cfg -> group -> pd_id , id ) ; if ( status != FWK_SUCCESS ) { return status ; } group_ctx -> pd_state_on = true ; } return FWK_SUCCESS ; }
On Juno, the PPU denies to turn off clusters when DBGSYS is turned ON.
On Juno the PPU denies to turn off clusters when DBGSYS is turned ON .