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

Commit 80f45dc6 authored by Mohammed Nayeem Ur Rahman's avatar Mohammed Nayeem Ur Rahman
Browse files

adsprpc:Make TZ security skel call for DSP backward compatible



First make skel call to DSP with new method ID for getting
the TZ security key, if it fails, make call to DSP
with old method ID to make compatible to all chipsets.

Change-Id: I89663a50e27cdfb73e2c919235c44ec2643fc159
Acked-by: default avatarTadakamalla Krishnaiah <ktadakam@qti.qualcomm.com>
Signed-off-by: default avatarMohammed Nayeem Ur Rahman <mohara@codeaurora.org>
parent c3fb549e
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -2481,8 +2481,20 @@ static int fastrpc_munmap_on_dsp_rh(struct fastrpc_file *fl, uint64_t phys,

		VERIFY(err, 0 == (err = fastrpc_internal_invoke(fl,
				FASTRPC_MODE_PARALLEL, 1, &ioctl)));
		if (err == AEE_EUNSUPPORTED) {
			remote_arg_t ra[1];

			pr_warn("ADSPRPC:Failed to get security key with updated remote call, falling back to older method");
			ra[0].buf.pv = (void *)&routargs;
			ra[0].buf.len = sizeof(routargs);
			ioctl.inv.sc = REMOTE_SCALARS_MAKE(7, 0, 1);
			ioctl.inv.pra = ra;
			VERIFY(err, 0 == (err = fastrpc_internal_invoke(fl,
				FASTRPC_MODE_PARALLEL, 1, &ioctl)));
		}
		if (err)
			goto bail;

		desc.args[0] = TZ_PIL_AUTH_QDSP6_PROC;
		desc.args[1] = phys;
		desc.args[2] = size;
+4 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2019, 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
@@ -125,6 +125,9 @@ do {\
} while (0)
#endif

/* Fall back to older APIS in case API is not supported */
#define AEE_EUNSUPPORTED    20

#define remote_arg64_t    union remote_arg64

struct remote_buf64 {