synx: support ICP core
This change adds necessary functionality to support ICP core. Change-Id: I55793f6508ae5d7180b0f50d477e366842199148 Signed-off-by: Pravin Kumar Ravi <quic_pravinku@quicinc.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/atomic.h>
|
||||
@@ -2455,6 +2455,7 @@ int synx_recover(enum synx_client_id id)
|
||||
switch (core_id) {
|
||||
case SYNX_CORE_EVA:
|
||||
case SYNX_CORE_IRIS:
|
||||
case SYNX_CORE_ICP:
|
||||
break;
|
||||
default:
|
||||
dprintk(SYNX_ERR, "recovery not supported on %u\n", id);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2019, 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef __SYNX_API_H__
|
||||
@@ -166,6 +166,7 @@ struct synx_queue_desc {
|
||||
* @SYNX_CLIENT_VID_CTX0 : Video Client 0
|
||||
* @SYNX_CLIENT_NSP_CTX0 : NSP Client 0
|
||||
* @SYNX_CLIENT_IFE_CTX0 : IFE Client 0
|
||||
* @SYNX_CLIENT_ICP_CTX0 : ICP Client 0
|
||||
*/
|
||||
enum synx_client_id {
|
||||
SYNX_CLIENT_NATIVE = 0,
|
||||
@@ -180,6 +181,7 @@ enum synx_client_id {
|
||||
SYNX_CLIENT_VID_CTX0,
|
||||
SYNX_CLIENT_NSP_CTX0,
|
||||
SYNX_CLIENT_IFE_CTX0,
|
||||
SYNX_CLIENT_ICP_CTX0,
|
||||
SYNX_CLIENT_MAX,
|
||||
};
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/hwspinlock.h>
|
||||
@@ -151,6 +151,8 @@ u32 synx_global_map_core_id(enum synx_core_id id)
|
||||
host_id = IPCMEM_VPU; break;
|
||||
case SYNX_CORE_EVA:
|
||||
host_id = IPCMEM_CVP; break;
|
||||
case SYNX_CORE_ICP:
|
||||
host_id = IPCMEM_CAM; break;
|
||||
default:
|
||||
host_id = IPCMEM_NUM_HOSTS;
|
||||
dprintk(SYNX_ERR, "invalid core id\n");
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef __SYNX_SHARED_MEM_H__
|
||||
@@ -18,12 +18,14 @@
|
||||
* SYNX_CORE_NSP : NSP core
|
||||
* SYNX_CORE_EVA : EVA core
|
||||
* SYNX_CORE_IRIS : IRIS core
|
||||
* SYNX_CORE_ICP : ICP core
|
||||
*/
|
||||
enum synx_core_id {
|
||||
SYNX_CORE_APSS = 0,
|
||||
SYNX_CORE_NSP,
|
||||
SYNX_CORE_EVA,
|
||||
SYNX_CORE_IRIS,
|
||||
SYNX_CORE_ICP,
|
||||
SYNX_CORE_MAX,
|
||||
};
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/slab.h>
|
||||
@@ -1511,6 +1511,8 @@ u32 synx_util_map_client_id_to_core(
|
||||
switch (id) {
|
||||
case SYNX_CLIENT_NATIVE:
|
||||
core_id = SYNX_CORE_APSS; break;
|
||||
case SYNX_CLIENT_ICP_CTX0:
|
||||
core_id = SYNX_CORE_ICP; break;
|
||||
case SYNX_CLIENT_EVA_CTX0:
|
||||
core_id = SYNX_CORE_EVA; break;
|
||||
case SYNX_CLIENT_VID_CTX0:
|
||||
|
Reference in New Issue
Block a user