Loading drivers/platform/msm/mhi_dev/mhi.c +20 −3 Original line number Diff line number Diff line Loading @@ -1303,6 +1303,9 @@ static int mhi_hwc_chcmd(struct mhi_dev *mhi, uint chid, case MHI_CLIENT_ADPL_IN: connect_params.sys.client = IPA_CLIENT_MHI_DPL_CONS; break; case MHI_CLIENT_IP_HW_QDSS: connect_params.sys.client = IPA_CLIENT_MHI_QDSS_CONS; break; case MHI_CLIENT_IP_HW_0_OUT: connect_params.sys.client = IPA_CLIENT_MHI_PROD; break; Loading @@ -1315,6 +1318,12 @@ static int mhi_hwc_chcmd(struct mhi_dev *mhi, uint chid, case MHI_CLIENT_IP_HW_1_IN: connect_params.sys.client = IPA_CLIENT_MHI2_CONS; break; case MHI_CLIENT_QMAP_FLOW_CTRL_OUT: connect_params.sys.client = IPA_CLIENT_MHI_QMAP_PROD; break; case MHI_CLIENT_QMAP_FLOW_CTRL_IN: connect_params.sys.client = IPA_CLIENT_MHI_QMAP_CONS; break; default: pr_err("Invalid channel = 0x%X\n", chid); return -EINVAL; Loading Loading @@ -1538,6 +1547,10 @@ static void mhi_dev_trigger_cb(enum mhi_client_channel ch_id) struct mhi_dev_ready_cb_info *info; enum mhi_ctrl_info state_data; /* Currently no clients register for HW channel notification */ if (ch_id >= MHI_MAX_SOFTWARE_CHANNELS) return; list_for_each_entry(info, &mhi_ctx->client_cb_list, list) if (info->cb && info->cb_data.channel == ch_id) { mhi_ctrl_state_info(info->cb_data.channel, &state_data); Loading Loading @@ -2036,7 +2049,7 @@ static void mhi_update_state_info_all(enum mhi_ctrl_info info) struct mhi_dev_client_cb_reason reason; mhi_ctx->ctrl_info = info; for (i = 0; i < MHI_MAX_CHANNELS; ++i) { for (i = 0; i < MHI_MAX_SOFTWARE_CHANNELS; ++i) { channel_state_info[i].ctrl_info = info; /* Notify kernel clients */ mhi_dev_trigger_cb(i); Loading Loading @@ -3333,7 +3346,7 @@ int mhi_register_state_cb(void (*mhi_state_cb) if (WARN_ON(!mhi_ctx)) return -ENXIO; if (channel > MHI_MAX_CHANNELS) { if (channel >= MHI_MAX_SOFTWARE_CHANNELS) { pr_err("Invalid channel :%d\n", channel); return -EINVAL; } Loading Loading @@ -3373,6 +3386,10 @@ static void mhi_update_state_info_ch(uint32_t ch_id, enum mhi_ctrl_info info) { struct mhi_dev_client_cb_reason reason; /* Currently no clients register for HW channel notification */ if (ch_id >= MHI_MAX_SOFTWARE_CHANNELS) return; channel_state_info[ch_id].ctrl_info = info; if (ch_id == MHI_CLIENT_QMI_OUT || ch_id == MHI_CLIENT_QMI_IN) { /* For legacy reasons for QTI client */ Loading @@ -3392,7 +3409,7 @@ int mhi_ctrl_state_info(uint32_t idx, uint32_t *info) if (idx == MHI_DEV_UEVENT_CTRL) *info = mhi_ctx->ctrl_info; else if (idx < MHI_MAX_CHANNELS) if (idx < MHI_MAX_SOFTWARE_CHANNELS) *info = channel_state_info[idx].ctrl_info; else return -EINVAL; Loading include/linux/msm_mhi_dev.h +4 −3 Original line number Diff line number Diff line Loading @@ -133,11 +133,12 @@ enum mhi_client_channel { MHI_CLIENT_IP_HW_0_OUT = 100, MHI_CLIENT_IP_HW_0_IN = 101, MHI_CLIENT_ADPL_IN = 102, MHI_CLIENT_IP_HW_QDSS = 103, MHI_CLIENT_IP_HW_1_OUT = 105, MHI_CLIENT_IP_HW_1_IN = 106, MHI_CLIENT_RESERVED_2_LOWER = 107, MHI_CLIENT_RESERVED_2_UPPER = 127, MHI_MAX_CHANNELS = 107, MHI_CLIENT_QMAP_FLOW_CTRL_OUT = 109, MHI_CLIENT_QMAP_FLOW_CTRL_IN = 110, MHI_MAX_CHANNELS = 255, MHI_CLIENT_INVALID = 0xFFFFFFFF }; Loading Loading
drivers/platform/msm/mhi_dev/mhi.c +20 −3 Original line number Diff line number Diff line Loading @@ -1303,6 +1303,9 @@ static int mhi_hwc_chcmd(struct mhi_dev *mhi, uint chid, case MHI_CLIENT_ADPL_IN: connect_params.sys.client = IPA_CLIENT_MHI_DPL_CONS; break; case MHI_CLIENT_IP_HW_QDSS: connect_params.sys.client = IPA_CLIENT_MHI_QDSS_CONS; break; case MHI_CLIENT_IP_HW_0_OUT: connect_params.sys.client = IPA_CLIENT_MHI_PROD; break; Loading @@ -1315,6 +1318,12 @@ static int mhi_hwc_chcmd(struct mhi_dev *mhi, uint chid, case MHI_CLIENT_IP_HW_1_IN: connect_params.sys.client = IPA_CLIENT_MHI2_CONS; break; case MHI_CLIENT_QMAP_FLOW_CTRL_OUT: connect_params.sys.client = IPA_CLIENT_MHI_QMAP_PROD; break; case MHI_CLIENT_QMAP_FLOW_CTRL_IN: connect_params.sys.client = IPA_CLIENT_MHI_QMAP_CONS; break; default: pr_err("Invalid channel = 0x%X\n", chid); return -EINVAL; Loading Loading @@ -1538,6 +1547,10 @@ static void mhi_dev_trigger_cb(enum mhi_client_channel ch_id) struct mhi_dev_ready_cb_info *info; enum mhi_ctrl_info state_data; /* Currently no clients register for HW channel notification */ if (ch_id >= MHI_MAX_SOFTWARE_CHANNELS) return; list_for_each_entry(info, &mhi_ctx->client_cb_list, list) if (info->cb && info->cb_data.channel == ch_id) { mhi_ctrl_state_info(info->cb_data.channel, &state_data); Loading Loading @@ -2036,7 +2049,7 @@ static void mhi_update_state_info_all(enum mhi_ctrl_info info) struct mhi_dev_client_cb_reason reason; mhi_ctx->ctrl_info = info; for (i = 0; i < MHI_MAX_CHANNELS; ++i) { for (i = 0; i < MHI_MAX_SOFTWARE_CHANNELS; ++i) { channel_state_info[i].ctrl_info = info; /* Notify kernel clients */ mhi_dev_trigger_cb(i); Loading Loading @@ -3333,7 +3346,7 @@ int mhi_register_state_cb(void (*mhi_state_cb) if (WARN_ON(!mhi_ctx)) return -ENXIO; if (channel > MHI_MAX_CHANNELS) { if (channel >= MHI_MAX_SOFTWARE_CHANNELS) { pr_err("Invalid channel :%d\n", channel); return -EINVAL; } Loading Loading @@ -3373,6 +3386,10 @@ static void mhi_update_state_info_ch(uint32_t ch_id, enum mhi_ctrl_info info) { struct mhi_dev_client_cb_reason reason; /* Currently no clients register for HW channel notification */ if (ch_id >= MHI_MAX_SOFTWARE_CHANNELS) return; channel_state_info[ch_id].ctrl_info = info; if (ch_id == MHI_CLIENT_QMI_OUT || ch_id == MHI_CLIENT_QMI_IN) { /* For legacy reasons for QTI client */ Loading @@ -3392,7 +3409,7 @@ int mhi_ctrl_state_info(uint32_t idx, uint32_t *info) if (idx == MHI_DEV_UEVENT_CTRL) *info = mhi_ctx->ctrl_info; else if (idx < MHI_MAX_CHANNELS) if (idx < MHI_MAX_SOFTWARE_CHANNELS) *info = channel_state_info[idx].ctrl_info; else return -EINVAL; Loading
include/linux/msm_mhi_dev.h +4 −3 Original line number Diff line number Diff line Loading @@ -133,11 +133,12 @@ enum mhi_client_channel { MHI_CLIENT_IP_HW_0_OUT = 100, MHI_CLIENT_IP_HW_0_IN = 101, MHI_CLIENT_ADPL_IN = 102, MHI_CLIENT_IP_HW_QDSS = 103, MHI_CLIENT_IP_HW_1_OUT = 105, MHI_CLIENT_IP_HW_1_IN = 106, MHI_CLIENT_RESERVED_2_LOWER = 107, MHI_CLIENT_RESERVED_2_UPPER = 127, MHI_MAX_CHANNELS = 107, MHI_CLIENT_QMAP_FLOW_CTRL_OUT = 109, MHI_CLIENT_QMAP_FLOW_CTRL_IN = 110, MHI_MAX_CHANNELS = 255, MHI_CLIENT_INVALID = 0xFFFFFFFF }; Loading