diff options
| author | Mohammed Javid <mjavid@codeaurora.org> | 2017-11-02 19:10:22 +0530 |
|---|---|---|
| committer | Mohammed Javid <mjavid@codeaurora.org> | 2017-11-02 19:10:22 +0530 |
| commit | 34db235e958cfce2e445bc63c4ef62b1526eceef (patch) | |
| tree | c78fde7ec6b00c5f71b390678ea991af10f7ce26 | |
| parent | 502914e130709bfaf33ab1411b712290ccef19ca (diff) | |
msm: ipa: Fix to use GFP_DMA flag
IPAv2 hardware works with 32 bit addressing,
so allocate a kernel memory using GFP_DMA flag
which is processed by IPA hardware.
Change-Id: I6f35e7f2179dc48f718221f6a3d228aca67c4154
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
| -rw-r--r-- | drivers/platform/msm/ipa/ipa_v2/ipa.c | 5 | ||||
| -rw-r--r-- | drivers/platform/msm/ipa/ipa_v2/ipa_utils.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa.c b/drivers/platform/msm/ipa/ipa_v2/ipa.c index 85fa9da50779..8ef3b06f03d2 100644 --- a/drivers/platform/msm/ipa/ipa_v2/ipa.c +++ b/drivers/platform/msm/ipa/ipa_v2/ipa.c @@ -1979,6 +1979,7 @@ static int ipa_q6_set_ex_path_dis_agg(void) int index; struct ipa_register_write *reg_write; int retval; + gfp_t flag = GFP_KERNEL | (ipa_ctx->use_dma_zone ? GFP_DMA : 0); desc = kcalloc(ipa_ctx->ipa_num_pipes, sizeof(struct ipa_desc), GFP_KERNEL); @@ -1996,7 +1997,7 @@ static int ipa_q6_set_ex_path_dis_agg(void) if (ipa_ctx->ep[ep_idx].valid && ipa_ctx->ep[ep_idx].skip_ep_cfg) { BUG_ON(num_descs >= ipa_ctx->ipa_num_pipes); - reg_write = kzalloc(sizeof(*reg_write), GFP_KERNEL); + reg_write = kzalloc(sizeof(*reg_write), flag); if (!reg_write) { IPAERR("failed to allocate memory\n"); @@ -2029,7 +2030,7 @@ static int ipa_q6_set_ex_path_dis_agg(void) continue; if (IPA_CLIENT_IS_Q6_NON_ZIP_CONS(client_idx) || IPA_CLIENT_IS_Q6_ZIP_CONS(client_idx)) { - reg_write = kzalloc(sizeof(*reg_write), GFP_KERNEL); + reg_write = kzalloc(sizeof(*reg_write), flag); if (!reg_write) { IPAERR("failed to allocate memory\n"); diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c b/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c index 50a8e46d3b12..bd0c338dc2ff 100644 --- a/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c +++ b/drivers/platform/msm/ipa/ipa_v2/ipa_utils.c @@ -4538,7 +4538,7 @@ int ipa_tag_process(struct ipa_desc desc[], } /* IP_PACKET_INIT IC for tag status to be sent to apps */ - pkt_init = kzalloc(sizeof(*pkt_init), GFP_KERNEL); + pkt_init = kzalloc(sizeof(*pkt_init), flag); if (!pkt_init) { IPAERR("failed to allocate memory\n"); res = -ENOMEM; @@ -4557,7 +4557,7 @@ int ipa_tag_process(struct ipa_desc desc[], desc_idx++; /* NO-OP IC for ensuring that IPA pipeline is empty */ - reg_write_nop = kzalloc(sizeof(*reg_write_nop), GFP_KERNEL); + reg_write_nop = kzalloc(sizeof(*reg_write_nop), flag); if (!reg_write_nop) { IPAERR("no mem\n"); res = -ENOMEM; @@ -4576,7 +4576,7 @@ int ipa_tag_process(struct ipa_desc desc[], desc_idx++; /* status IC */ - status = kzalloc(sizeof(*status), GFP_KERNEL); + status = kzalloc(sizeof(*status), flag); if (!status) { IPAERR("no mem\n"); res = -ENOMEM; @@ -4612,7 +4612,7 @@ int ipa_tag_process(struct ipa_desc desc[], atomic_set(&comp->cnt, 2); /* dummy packet to send to IPA. packet payload is a completion object */ - dummy_skb = alloc_skb(sizeof(comp), GFP_KERNEL); + dummy_skb = alloc_skb(sizeof(comp), flag); if (!dummy_skb) { IPAERR("failed to allocate memory\n"); res = -ENOMEM; |
