Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1be85e55 authored by Himateja Reddy's avatar Himateja Reddy
Browse files

msm: adsprpc: Donate 5MB of DMA memory for Unsigned process



Current code has 4MB of memory being donated to the User process
in DSP for both Signed and Unsigned process. Unsigned process has
extra static heap which requires more memory. Donate 5MB of DMA
memory for creating Unsigned process.

Change-Id: Ib1f75580d9ec61d416a0c268880395e1f3ab10fb
Signed-off-by: default avatarHimateja Reddy <hmreddy@codeaurora.org>
parent 917e0c52
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -3360,6 +3360,7 @@ static int fastrpc_init_create_dynamic_process(struct fastrpc_file *fl,
	remote_arg_t ra[6];
	int fds[6];
	unsigned int gid = 0, one_mb = 1024*1024;
	unsigned int dsp_userpd_memlen = 3 * one_mb;
	struct fastrpc_buf *init_mem;

	struct {
@@ -3443,8 +3444,13 @@ static int fastrpc_init_create_dynamic_process(struct fastrpc_file *fl,
		locked = 0;
	}

	/* Allocate DMA buffer in kernel for donating to remote process */
	memlen = ALIGN(max(3*one_mb, init->filelen * 4), one_mb);
	/* Allocate DMA buffer in kernel for donating to remote process
	 * Unsigned PD requires additional memory because of the
	 * additional static heap initialized within the process.
	 */
	if (uproc->attrs & FASTRPC_MODE_UNSIGNED_MODULE)
		dsp_userpd_memlen += 2*one_mb;
	memlen = ALIGN(max(dsp_userpd_memlen, init->filelen * 4), one_mb);
	imem_dma_attr = DMA_ATTR_EXEC_MAPPING |
					DMA_ATTR_DELAYED_UNMAP |
					DMA_ATTR_NO_KERNEL_MAPPING;