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

Commit 1195b6ca authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 984a1a37 on remote branch

Change-Id: I27f5898a6e40bfd7496054d0db444134191b9960
parents bf04cbcd 984a1a37
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -595,7 +595,7 @@
			alloc-ranges = <0 0x00000000 0 0xffffffff>;
			reusable;
			alignment = <0 0x400000>;
			size = <0 0x5c00000>;
			size = <0 0xd000000>;
		};

		cont_splash_memory: cont_splash_region@9c000000 {
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ CONFIG_CGROUP_BPF=y
CONFIG_SCHED_CORE_CTL=y
CONFIG_SCHED_CORE_ROTATE=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_PID_NS is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_TUNE=y
@@ -417,6 +416,7 @@ CONFIG_HID_ELECOM=y
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_NINTENDO=y
CONFIG_HID_PLANTRONICS=y
CONFIG_HID_SONY=y
CONFIG_USB=y
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ CONFIG_CGROUP_BPF=y
CONFIG_SCHED_CORE_CTL=y
CONFIG_SCHED_CORE_ROTATE=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_PID_NS is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_TUNE=y
@@ -424,6 +423,7 @@ CONFIG_HID_ELECOM=y
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_NINTENDO=y
CONFIG_HID_PLANTRONICS=y
CONFIG_HID_SONY=y
CONFIG_USB=y
+28 −7
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -518,7 +518,7 @@ static inline int64_t *getperfcounter(struct fastrpc_file *fl, int key)
static void fastrpc_buf_free(struct fastrpc_buf *buf, int cache)
{
	struct fastrpc_file *fl = buf == NULL ? NULL : buf->fl;
	int vmid;
	int vmid, err = 0;

	if (!fl)
		return;
@@ -539,6 +539,9 @@ static void fastrpc_buf_free(struct fastrpc_buf *buf, int cache)
		int destVM[1] = {VMID_HLOS};
		int destVMperm[1] = {PERM_READ | PERM_WRITE | PERM_EXEC};

		VERIFY(err, fl->sctx != NULL);
		if (err)
			goto bail;
		if (fl->sctx->smmu.cb)
			buf->phys &= ~((uint64_t)fl->sctx->smmu.cb << 32);
		vmid = fl->apps->channel[fl->cid].vmid;
@@ -551,6 +554,7 @@ static void fastrpc_buf_free(struct fastrpc_buf *buf, int cache)
		dma_free_attrs(fl->sctx->smmu.dev, buf->size, buf->virt,
					buf->phys, buf->dma_attr);
	}
bail:
	kfree(buf);
}

@@ -735,7 +739,9 @@ static void fastrpc_mmap_free(struct fastrpc_mmap *map, uint32_t flags)
	if (!map)
		return;
	fl = map->fl;
	if (fl && !(map->flags == ADSP_MMAP_HEAP_ADDR ||
	if (!fl)
		return;
	if (!(map->flags == ADSP_MMAP_HEAP_ADDR ||
				map->flags == ADSP_MMAP_REMOTE_HEAP_ADDR)) {
		cid = fl->cid;
		VERIFY(err, cid >= ADSP_DOMAIN_ID && cid < NUM_CHANNELS);
@@ -1046,6 +1052,11 @@ static int fastrpc_buf_alloc(struct fastrpc_file *fl, size_t size,
	buf->flags = rflags;
	buf->raddr = 0;
	buf->remote = 0;
	VERIFY(err, fl && fl->sctx != NULL);
	if (err) {
		err = -EBADR;
		goto bail;
	}
	buf->virt = dma_alloc_attrs(fl->sctx->smmu.dev, buf->size,
				       (dma_addr_t *)&buf->phys,
					   GFP_KERNEL, buf->dma_attr);
@@ -1707,7 +1718,7 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)

		if (map && map->uncached)
			continue;
		if (ctx->fl->sctx->smmu.coherent &&
		if (ctx->fl->sctx && ctx->fl->sctx->smmu.coherent &&
			!(map && (map->attr & FASTRPC_ATTR_NON_COHERENT)))
			continue;
		if (map && (map->attr & FASTRPC_ATTR_COHERENT))
@@ -1815,7 +1826,7 @@ static void inv_args_pre(struct smq_invoke_ctx *ctx)
			continue;
		if (!rpra[i].buf.len)
			continue;
		if (ctx->fl->sctx->smmu.coherent &&
		if (ctx->fl && ctx->fl->sctx && ctx->fl->sctx->smmu.coherent &&
			!(map && (map->attr & FASTRPC_ATTR_NON_COHERENT)))
			continue;
		if (map && (map->attr & FASTRPC_ATTR_COHERENT))
@@ -1869,7 +1880,7 @@ static void inv_args(struct smq_invoke_ctx *ctx)
			continue;
		if (!rpra[i].buf.len)
			continue;
		if (ctx->fl->sctx->smmu.coherent &&
		if (ctx->fl && ctx->fl->sctx && ctx->fl->sctx->smmu.coherent &&
			!(map && (map->attr & FASTRPC_ATTR_NON_COHERENT)))
			continue;
		if (map && (map->attr & FASTRPC_ATTR_COHERENT))
@@ -2414,6 +2425,9 @@ static int fastrpc_release_current_dsp_process(struct fastrpc_file *fl)
	int tgid = 0;

	VERIFY(err, fl->cid >= 0 && fl->cid < NUM_CHANNELS);
	if (err)
		goto bail;
	VERIFY(err, fl->sctx != NULL);
	if (err)
		goto bail;
	VERIFY(err, fl->apps->channel[fl->cid].chan != NULL);
@@ -3665,8 +3679,10 @@ static int fastrpc_get_info(struct fastrpc_file *fl, uint32_t *info)
			goto bail;
	}
	VERIFY(err, fl->sctx != NULL);
	if (err)
	if (err) {
		err = -EBADR;
		goto bail;
	}
	*info = (fl->sctx->smmu.enabled ? 1 : 0);
bail:
	return err;
@@ -3738,6 +3754,11 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int ioctl_num,
	int size = 0, err = 0;
	uint32_t info;

	VERIFY(err, fl != NULL);
	if (err) {
		err = -EBADR;
		goto bail;
	}
	p.inv.fds = NULL;
	p.inv.attrs = NULL;
	p.inv.crc = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ static ssize_t dp_debug_write_edid(struct file *file,
	kfree(buf);

	if (!debug->dp_debug.sim_mode)
		debug->panel->set_edid(debug->panel, edid);
		debug->panel->set_edid(debug->panel, edid, debug->edid_size);

	mutex_unlock(&debug->lock);
	return rc;
Loading