From nobody Wed Oct 8 07:10:26 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 34AE31D2F42; Wed, 2 Jul 2025 02:54:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751424870; cv=none; b=dIxmq7SqgsOSl/NZAiQThvcBKlLp826q+4qodpfqkjQQQF+w1MGG9ZH25fXaMl4+FpnVEZVzhxc6v6JYw/mct+7TKJX5N1EkvZ+Ep1uQY3GpUSL/GwBp9jw4+dcJ4ULnGVLYCel3ZjxeeEBTzSR9bNBsb75dmOhdAgLaC+JELf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751424870; c=relaxed/simple; bh=DsySgbbUQc788joFj5oTItv/GmC10MRZdG1rqdOZQg0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lzvY99dOdDnIPIiD/m6AmRsg7IYev6Yy8OrbsSQU5JzjFIYJL34NeONSTuk6M9Ib3EtuXaf0tzn+VdyPBv0r/hJ0Vax47RuSGKt0d4zg+j3x0Hv4cxHQHZ3SL84Q6qW/nW7loB9uijUmmkYgyBwiO4YcOhCNgcUCLmva1gYLKjc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=GjESWrA5; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="GjESWrA5" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 561HTrRs032748; Wed, 2 Jul 2025 02:54:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f7DmUnS+ybl/RnHEOnXU9a4omgJnpLCDyxPhASO9ViA=; b=GjESWrA5YmQqxC/g UDU8Lcf3srqk8+OiI9zukdkuFCLaYVZtcDdT/F/wg8oG4YHq5cRaeAg9tkAll4Sk 3Hb7qWRwMEMkGyMr5MuAWio6WChjlslfFR3mBF/1NxuIbZW4Y+Qe4ziHQwo+R3kb 3EIqRgdKIgEhYDXeiuoHqJcdepxYmpKeqP910fpE+LoJL542JErpXfLeiNyG53+N V3hYGgTiwMq9Cuf2aMx0PSgEIIFERezlGmawj6riYMRU8qRcFNSqG/a+3y76BX2k lrdPVJGGmp9F2G9iSicLaV+d1l+xKnakaTdUZu/STqptUAMkgzkO/nG5eBMW939q 0/iUFQ== Received: from nasanppmta01.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47j7qmawdb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 02 Jul 2025 02:54:23 +0000 (GMT) Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA01.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5622sMUT031576 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 2 Jul 2025 02:54:22 GMT Received: from hu-lxu5-sha.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Tue, 1 Jul 2025 19:54:18 -0700 From: Ling Xu To: , , , , , , , , CC: , , , , , , Ling Xu Subject: [PATCH v5 4/4] misc: fastrpc: add support for gdsp remoteproc Date: Wed, 2 Jul 2025 08:23:41 +0530 Message-ID: <20250702025341.1473332-5-quic_lxu5@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250702025341.1473332-1-quic_lxu5@quicinc.com> References: <20250702025341.1473332-1-quic_lxu5@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Authority-Analysis: v=2.4 cv=C4TpyRP+ c=1 sm=1 tr=0 ts=68649f5f cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=Wb1JkmetP80A:10 a=COk6AnOGAAAA:8 a=d01il73eTdEK0Eih25sA:9 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: Vxyh76GFmH2DEBZRX475t7STpJp5IzUC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNzAyMDAyMyBTYWx0ZWRfXww/nXG8/9/NG aa13q8Q8vSY1RWlFWKTcUwoY93IA0Xj1Wkn8TLgfzlj42CuBpPmnFfZg1kOe71vRrDYuHwDCxa6 KA2gE9ySNNiKoEXK5RkM1Ne91YXVvoXbg9RlduA0ZbYX4xk6CRSAw406I9VLfNbP2z/RJdb78FD Q0XeZjPhjd7TJv16ZB41hTJtltE67J8JFkA9nVJy/QjPj0zsIilNz2PD41Bo2jc6eF3c5pal2pz Apj2ixXGn1ghZzUIe1wiXu0u7qP0b5VfLH3LvWlcT+srxkJG7l9L1cMEDPsjP+aTjq5YePvjlU5 Rbzvq1hk70dGzp5cK0U2ypSzPd0cx5005fUQo2X0GyY8/vH9C6m9hjavq4/vX2QbyXwnntsKsO/ tqawMMfjtoyNU0DhcoUuOwQwnuZvDfKfAPnEckMiNixxzXtYGP2VwVuby8u3wCu//8ukgcdU X-Proofpoint-GUID: Vxyh76GFmH2DEBZRX475t7STpJp5IzUC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-07-01_02,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2507020023 Content-Type: text/plain; charset="utf-8" The fastrpc driver has support for 5 types of remoteprocs. There are some products which support GDSP remoteprocs. GDSP is General Purpose DSP where tasks can be offloaded. This patch extends the driver to support GDSP remoteprocs. Signed-off-by: Ling Xu --- drivers/misc/fastrpc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 441f5851eb97..2d2242d28d01 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -27,7 +27,8 @@ #define MDSP_DOMAIN_ID (1) #define SDSP_DOMAIN_ID (2) #define CDSP_DOMAIN_ID (3) -#define FASTRPC_DOMAIN_MAX CDSP_DOMAIN_ID +#define GDSP_DOMAIN_ID (4) +#define FASTRPC_DOMAIN_MAX GDSP_DOMAIN_ID #define FASTRPC_MAX_SESSIONS 14 #define FASTRPC_MAX_VMIDS 16 #define FASTRPC_ALIGN 128 @@ -2250,6 +2251,8 @@ static int fastrpc_get_domain_id(const char *domain) return MDSP_DOMAIN_ID; else if (!strncmp(domain, "sdsp", 4)) return SDSP_DOMAIN_ID; + else if (!strncmp(domain, "gdsp", 4)) + return GDSP_DOMAIN_ID; =20 return -EINVAL; } @@ -2324,13 +2327,14 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device = *rpdev) case ADSP_DOMAIN_ID: case MDSP_DOMAIN_ID: case SDSP_DOMAIN_ID: - /* Unsigned PD offloading is only supported on CDSP */ + /* Unsigned PD offloading is only supported on CDSP and GDSP */ data->unsigned_support =3D false; err =3D fastrpc_device_register(rdev, data, secure_dsp, domain); if (err) goto err_free_data; break; case CDSP_DOMAIN_ID: + case GDSP_DOMAIN_ID: data->unsigned_support =3D true; /* Create both device nodes so that we can allow both Signed and Unsigne= d PD */ err =3D fastrpc_device_register(rdev, data, true, domain); --=20 2.34.1