Loading drivers/platform/msm/ipa/ipa_client.c +26 −6 Original line number Diff line number Diff line Loading @@ -836,19 +836,39 @@ int ipa_connect_wdi_pipe(struct ipa_wdi_in_params *in, tx->ce_ring_doorbell_pa = in->u.dl.ce_door_bell_pa; tx->num_tx_buffers = in->u.dl.num_tx_buffers; tx->ipa_pipe_number = ipa_ep_idx; out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS(IPA_HW_WDI_TX_MBOX_START_INDEX/32, if (ipa_ctx->ipa_hw_type == IPA_HW_v2_5) { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS_v2_5( IPA_HW_WDI_TX_MBOX_START_INDEX/32, IPA_HW_WDI_TX_MBOX_START_INDEX % 32); } else { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS( IPA_HW_WDI_TX_MBOX_START_INDEX/32, IPA_HW_WDI_TX_MBOX_START_INDEX % 32); } } else { rx = (struct IpaHwWdiRxSetUpCmdData_t *)cmd.base; rx->rx_ring_base_pa = in->u.ul.rdy_ring_base_pa; rx->rx_ring_size = in->u.ul.rdy_ring_size; rx->rx_ring_rp_pa = in->u.ul.rdy_ring_rp_pa; rx->ipa_pipe_number = ipa_ep_idx; out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS(IPA_HW_WDI_RX_MBOX_START_INDEX/32, if (ipa_ctx->ipa_hw_type == IPA_HW_v2_5) { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS_v2_5( IPA_HW_WDI_RX_MBOX_START_INDEX/32, IPA_HW_WDI_RX_MBOX_START_INDEX % 32); } else { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS( IPA_HW_WDI_RX_MBOX_START_INDEX/32, IPA_HW_WDI_RX_MBOX_START_INDEX % 32); } } mutex_lock(&ipa_ctx->uc_ctx.uc_lock); ipa_ctx->uc_ctx.uc_sram_mmio->cmdParams = cmd.phys_base; Loading drivers/platform/msm/ipa/ipa_reg.h +1 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ Common Registers #define IPA_IRQ_EE_UC_n_INT_SHFT 0x0 #define IPA_UC_MAILBOX_m_n_OFFS(m, n) (0x0003a000 + 0x80 * (m) + 0x4 * (n)) #define IPA_UC_MAILBOX_m_n_OFFS_v2_5(m, n) (0x00062000 + 0x80 * (m) + 0x4 * (n)) #define IPA_SYS_PKT_PROC_CNTXT_BASE_OFST (0x000005d8) #define IPA_LOCAL_PKT_PROC_CNTXT_BASE_OFST (0x000005e0) Loading Loading
drivers/platform/msm/ipa/ipa_client.c +26 −6 Original line number Diff line number Diff line Loading @@ -836,19 +836,39 @@ int ipa_connect_wdi_pipe(struct ipa_wdi_in_params *in, tx->ce_ring_doorbell_pa = in->u.dl.ce_door_bell_pa; tx->num_tx_buffers = in->u.dl.num_tx_buffers; tx->ipa_pipe_number = ipa_ep_idx; out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS(IPA_HW_WDI_TX_MBOX_START_INDEX/32, if (ipa_ctx->ipa_hw_type == IPA_HW_v2_5) { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS_v2_5( IPA_HW_WDI_TX_MBOX_START_INDEX/32, IPA_HW_WDI_TX_MBOX_START_INDEX % 32); } else { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS( IPA_HW_WDI_TX_MBOX_START_INDEX/32, IPA_HW_WDI_TX_MBOX_START_INDEX % 32); } } else { rx = (struct IpaHwWdiRxSetUpCmdData_t *)cmd.base; rx->rx_ring_base_pa = in->u.ul.rdy_ring_base_pa; rx->rx_ring_size = in->u.ul.rdy_ring_size; rx->rx_ring_rp_pa = in->u.ul.rdy_ring_rp_pa; rx->ipa_pipe_number = ipa_ep_idx; out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS(IPA_HW_WDI_RX_MBOX_START_INDEX/32, if (ipa_ctx->ipa_hw_type == IPA_HW_v2_5) { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS_v2_5( IPA_HW_WDI_RX_MBOX_START_INDEX/32, IPA_HW_WDI_RX_MBOX_START_INDEX % 32); } else { out->uc_door_bell_pa = ipa_ctx->ipa_wrapper_base + IPA_UC_MAILBOX_m_n_OFFS( IPA_HW_WDI_RX_MBOX_START_INDEX/32, IPA_HW_WDI_RX_MBOX_START_INDEX % 32); } } mutex_lock(&ipa_ctx->uc_ctx.uc_lock); ipa_ctx->uc_ctx.uc_sram_mmio->cmdParams = cmd.phys_base; Loading
drivers/platform/msm/ipa/ipa_reg.h +1 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,7 @@ Common Registers #define IPA_IRQ_EE_UC_n_INT_SHFT 0x0 #define IPA_UC_MAILBOX_m_n_OFFS(m, n) (0x0003a000 + 0x80 * (m) + 0x4 * (n)) #define IPA_UC_MAILBOX_m_n_OFFS_v2_5(m, n) (0x00062000 + 0x80 * (m) + 0x4 * (n)) #define IPA_SYS_PKT_PROC_CNTXT_BASE_OFST (0x000005d8) #define IPA_LOCAL_PKT_PROC_CNTXT_BASE_OFST (0x000005e0) Loading