Loading Documentation/devicetree/bindings/platform/msm/ipa.txt +2 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ memory allocation over a PCIe bridge for MHI event rings ids. - qcom,ipa-tz-unlock-reg: Register start addresses and ranges which need to be unlocked by TZ. - qcom,ipa-uc-monitor-holb: Boolean context flag to indicate whether monitoring of holb via IPA uc is required. IPA pipe sub nodes (A2 static pipes configurations): Loading drivers/platform/msm/ipa/ipa_v2/ipa.c +11 −0 Original line number Diff line number Diff line Loading @@ -3905,6 +3905,8 @@ static int ipa_init(const struct ipa_plat_drv_res *resource_p, ipa_ctx->ipa_wrapper_size = resource_p->ipa_mem_size; ipa_ctx->ipa_hw_type = resource_p->ipa_hw_type; ipa_ctx->ipa_hw_mode = resource_p->ipa_hw_mode; ipa_ctx->ipa_uc_monitor_holb = resource_p->ipa_uc_monitor_holb; ipa_ctx->use_ipa_teth_bridge = resource_p->use_ipa_teth_bridge; ipa_ctx->ipa_bam_remote_mode = resource_p->ipa_bam_remote_mode; ipa_ctx->modem_cfg_emb_pipe_flt = resource_p->modem_cfg_emb_pipe_flt; Loading Loading @@ -4448,6 +4450,7 @@ static int get_ipa_dts_configuration(struct platform_device *pdev, ipa_drv_res->ipa_pipe_mem_size = IPA_PIPE_MEM_SIZE; ipa_drv_res->ipa_hw_type = 0; ipa_drv_res->ipa_hw_mode = 0; ipa_drv_res->ipa_uc_monitor_holb = false; ipa_drv_res->ipa_bam_remote_mode = false; ipa_drv_res->modem_cfg_emb_pipe_flt = false; ipa_drv_res->ipa_wdi2 = false; Loading @@ -4472,6 +4475,14 @@ static int get_ipa_dts_configuration(struct platform_device *pdev, IPADBG(": found ipa_drv_res->ipa_hw_mode = %d", ipa_drv_res->ipa_hw_mode); /* Check ipa_uc_monitor_holb enabled or disabled */ ipa_drv_res->ipa_uc_monitor_holb = of_property_read_bool(pdev->dev.of_node, "qcom,ipa-uc-monitor-holb"); IPADBG(": ipa uc monitor holb = %s\n", ipa_drv_res->ipa_uc_monitor_holb ? "Enabled" : "Disabled"); /* Get IPA WAN / LAN RX pool sizes */ result = of_property_read_u32(pdev->dev.of_node, "qcom,wan-rx-ring-size", Loading drivers/platform/msm/ipa/ipa_v2/ipa_i.h +3 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ #define IPA_QMAP_HEADER_LENGTH (4) #define IPA_DL_CHECKSUM_LENGTH (8) #define IPA_NUM_DESC_PER_SW_TX (2) #define IPA_GENERIC_RX_POOL_SZ 1000 #define IPA_GENERIC_RX_POOL_SZ 192 #define IPA_UC_FINISH_MAX 6 #define IPA_UC_WAIT_MIN_SLEEP 1000 #define IPA_UC_WAII_MAX_SLEEP 1200 Loading Loading @@ -1205,6 +1205,7 @@ struct ipa_context { struct ipa_cne_evt ipa_cne_evt_req_cache[IPA_MAX_NUM_REQ_CACHE]; int num_ipa_cne_evt_req; struct mutex ipa_cne_evt_lock; bool ipa_uc_monitor_holb; }; /** Loading Loading @@ -1260,6 +1261,7 @@ struct ipa_plat_drv_res { bool tethered_flow_control; u32 ipa_rx_polling_sleep_msec; u32 ipa_polling_iteration; bool ipa_uc_monitor_holb; }; struct ipa_mem_partition { Loading drivers/platform/msm/ipa/ipa_v2/ipa_uc.c +6 −2 Original line number Diff line number Diff line Loading @@ -790,8 +790,12 @@ int ipa_uc_monitor_holb(enum ipa_client_type ipa_client, bool enable) int ep_idx; int ret; /* HOLB monitoring is applicable only to 2.6L. */ if (ipa_ctx->ipa_hw_type != IPA_HW_v2_6L) { /* * HOLB monitoring is applicable to 2.6L. * And also could be enabled from dtsi node. */ if (ipa_ctx->ipa_hw_type != IPA_HW_v2_6L || !ipa_ctx->ipa_uc_monitor_holb) { IPADBG("Not applicable on this target\n"); return 0; } Loading Loading
Documentation/devicetree/bindings/platform/msm/ipa.txt +2 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ memory allocation over a PCIe bridge for MHI event rings ids. - qcom,ipa-tz-unlock-reg: Register start addresses and ranges which need to be unlocked by TZ. - qcom,ipa-uc-monitor-holb: Boolean context flag to indicate whether monitoring of holb via IPA uc is required. IPA pipe sub nodes (A2 static pipes configurations): Loading
drivers/platform/msm/ipa/ipa_v2/ipa.c +11 −0 Original line number Diff line number Diff line Loading @@ -3905,6 +3905,8 @@ static int ipa_init(const struct ipa_plat_drv_res *resource_p, ipa_ctx->ipa_wrapper_size = resource_p->ipa_mem_size; ipa_ctx->ipa_hw_type = resource_p->ipa_hw_type; ipa_ctx->ipa_hw_mode = resource_p->ipa_hw_mode; ipa_ctx->ipa_uc_monitor_holb = resource_p->ipa_uc_monitor_holb; ipa_ctx->use_ipa_teth_bridge = resource_p->use_ipa_teth_bridge; ipa_ctx->ipa_bam_remote_mode = resource_p->ipa_bam_remote_mode; ipa_ctx->modem_cfg_emb_pipe_flt = resource_p->modem_cfg_emb_pipe_flt; Loading Loading @@ -4448,6 +4450,7 @@ static int get_ipa_dts_configuration(struct platform_device *pdev, ipa_drv_res->ipa_pipe_mem_size = IPA_PIPE_MEM_SIZE; ipa_drv_res->ipa_hw_type = 0; ipa_drv_res->ipa_hw_mode = 0; ipa_drv_res->ipa_uc_monitor_holb = false; ipa_drv_res->ipa_bam_remote_mode = false; ipa_drv_res->modem_cfg_emb_pipe_flt = false; ipa_drv_res->ipa_wdi2 = false; Loading @@ -4472,6 +4475,14 @@ static int get_ipa_dts_configuration(struct platform_device *pdev, IPADBG(": found ipa_drv_res->ipa_hw_mode = %d", ipa_drv_res->ipa_hw_mode); /* Check ipa_uc_monitor_holb enabled or disabled */ ipa_drv_res->ipa_uc_monitor_holb = of_property_read_bool(pdev->dev.of_node, "qcom,ipa-uc-monitor-holb"); IPADBG(": ipa uc monitor holb = %s\n", ipa_drv_res->ipa_uc_monitor_holb ? "Enabled" : "Disabled"); /* Get IPA WAN / LAN RX pool sizes */ result = of_property_read_u32(pdev->dev.of_node, "qcom,wan-rx-ring-size", Loading
drivers/platform/msm/ipa/ipa_v2/ipa_i.h +3 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ #define IPA_QMAP_HEADER_LENGTH (4) #define IPA_DL_CHECKSUM_LENGTH (8) #define IPA_NUM_DESC_PER_SW_TX (2) #define IPA_GENERIC_RX_POOL_SZ 1000 #define IPA_GENERIC_RX_POOL_SZ 192 #define IPA_UC_FINISH_MAX 6 #define IPA_UC_WAIT_MIN_SLEEP 1000 #define IPA_UC_WAII_MAX_SLEEP 1200 Loading Loading @@ -1205,6 +1205,7 @@ struct ipa_context { struct ipa_cne_evt ipa_cne_evt_req_cache[IPA_MAX_NUM_REQ_CACHE]; int num_ipa_cne_evt_req; struct mutex ipa_cne_evt_lock; bool ipa_uc_monitor_holb; }; /** Loading Loading @@ -1260,6 +1261,7 @@ struct ipa_plat_drv_res { bool tethered_flow_control; u32 ipa_rx_polling_sleep_msec; u32 ipa_polling_iteration; bool ipa_uc_monitor_holb; }; struct ipa_mem_partition { Loading
drivers/platform/msm/ipa/ipa_v2/ipa_uc.c +6 −2 Original line number Diff line number Diff line Loading @@ -790,8 +790,12 @@ int ipa_uc_monitor_holb(enum ipa_client_type ipa_client, bool enable) int ep_idx; int ret; /* HOLB monitoring is applicable only to 2.6L. */ if (ipa_ctx->ipa_hw_type != IPA_HW_v2_6L) { /* * HOLB monitoring is applicable to 2.6L. * And also could be enabled from dtsi node. */ if (ipa_ctx->ipa_hw_type != IPA_HW_v2_6L || !ipa_ctx->ipa_uc_monitor_holb) { IPADBG("Not applicable on this target\n"); return 0; } Loading