From mboxrd@z Thu Jan 1 00:00:00 1970 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 5F12321B9C9 for ; Mon, 17 Nov 2025 09:12:33 +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=1763370755; cv=none; b=GXtp07dtsPzTWFYyTdIQyrqvHMVG8VyujWm9AXS7MpPek0NlIkedN70vVLV90xm2lDCXbu9GuRFX41DQVx6x2UuxYvBgh1JPYkXl8z3ZbYpyAMuzuzR1TLmKZHEvnK4Id020WRdu+XV3K/bKOGTIDJLYZFJ2IDBRbyiOkQ2tr9c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763370755; c=relaxed/simple; bh=L7w39IN9tVWZwpXP/1ubhaMcx7zoDEWdSRkb2tusq0Y=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=M1nQbZvN3RVbKyPXceH0d6VOsS3LhZp3W0TvUq4gMdv3RQzM/c0NF2jB+kPgkLbG196iZx++KGCNHHIL8LM4rYxdhrRas1A8yfLp9DbLuW4oZ6whZlrH9OetRyKgatzqrw9nIo5A3Y9ndYvrWRGSK0ATeIJziZXiQWVq5MC153Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HsqwPPKt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QHRM7zDc; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HsqwPPKt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QHRM7zDc" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AH4nvbv3106697 for ; Mon, 17 Nov 2025 09:12:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TS1l4z4FCSnPq1fx1zTnWoNNXIfyztzlqt9YbRe5R/g=; b=HsqwPPKtmRF/VDbk eZiHDz8paG6eBM4SV8dOMNbMydwYt71sCGCC/jk9BVQpLx0mphHSyinmKV3VHSjL Fu89u9fM2YB4pE9l+NUPabD4f/y0A5iiuk9Qqohbus+D1Xm0RWeuoXGIem8Z0Q2l vR0MiOX5CO3JCeT8NybMYM0BLoMkmOCLmg0sQXPJ6I7XbBogh0DnB7egXOGu//Z5 X9PGEa1tdcib4jKlJhDwOOoHYrS3vYLs1izwsAYEPLJEqYkFwaPZ7dOKQRHKncFo rY5KBCoAkzMXP2D+AuejGjAelVPHNjIhK8V23zXQeu3JLawLbOK5fzo34EMSV+Pe Yw7cnw== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4aejk1m1yd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 17 Nov 2025 09:12:32 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-7bf5cdef41dso1499687b3a.0 for ; Mon, 17 Nov 2025 01:12:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763370751; x=1763975551; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=TS1l4z4FCSnPq1fx1zTnWoNNXIfyztzlqt9YbRe5R/g=; b=QHRM7zDcY4cwXi6hj08WlWfs8MN5jCe6fWMIKo1QPnRbsvu3P7rIyPULhgx5BxjxT+ 9JXNeMadItRc0WrWRzdw8rOgH4wgcQkrE+q626z21huzyu0HpIYhxeBRR7NfLweBEi3D 4xfuR/q92pEK7ttNMYtHgEofMubGg6NGvwoHdwiFQJu+YwF94XwHnmLlh+1Il3tIhN79 In7+0Bgg/Kt6WUcUtVXmPVXM41WdfcQ2CnYLNVgNgtgZqe1dR1JgRgICu80oXc3rhoYi IUp0pVhX6f7sgZJeGVBNHicpe2MsV3U2FOAugcgS9cLZz+QEVPVm0hoG9i5AhQJzmOdE s/Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763370751; x=1763975551; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=TS1l4z4FCSnPq1fx1zTnWoNNXIfyztzlqt9YbRe5R/g=; b=EdJLA1ebUjjVYYKelffzvb5+JyHdWe7WdOiCe2q6HvIaRRsd/cIvIBf6tSP7oOxK5h NPG61SGihtkuHaqWz9MV4WM93mGUryoxILSmDRRrusvCxeySXKj6xGujAswxef/fx/ij aWKC/S4dp7SgmIOJfrRY8Iv19Rj2OAL8jjRXA5wwYeWCZal7G8Hk9NNk01GX3WAsLpz/ /qtR98KH3q+H9y6xJWxadVn5U6YOy299FfI56PpUcl8FWM82nCcznZ+XJoc/1c46Dmfv XPGJgkm9qyPGhEaxYwyQX5BVw8TpBfRZv3JsOT9LLAb6HuTKN7JlcOL0sBK0B/ylb5E4 Q6lA== X-Forwarded-Encrypted: i=1; AJvYcCVFgn/hAK2EKTmW/CeIYlBKwuWZobyjMpxCo5Ao/mftrFGInVdyIraB3VXdJj2/KvK7x5O7NXGKQT4AbYs=@vger.kernel.org X-Gm-Message-State: AOJu0YyFWUd5nSouagjJN//4gpt4ODTewSxAelLiB18h8cWzaPHGCRAo r6Pcg4CDL81tIxQUqaWH+1iiUq68/+nc7uD9RtZQWkKwH0Sr2bxFs7Bwa9EML6oql6K9aifVr50 mmRecyaHqum5owXgxCYsx2ElTBjdbLcb5U+xyKB8G86wiiUetOOUqM5TnUWarLn9V8GI= X-Gm-Gg: ASbGncuwzWpWUftAhffFho6Tah4hecVgLY0ohmQGv05AG/0pSxjXnOIhpu8ISYopEwE g1qODeORqQLbCN+ABesL2lEVUGV+Qy5vM5vlYeNzJgPxpn4SHDEAB1vopLJNu1xjNfTH0MQ3OXw YX4Tf3jp2yVwnWrvvmlv1ugmlMbOGOViyLxIXPyBrLdnN+NfwZhJkWjN8/yN8lqsQoTmyGVPE39 5aroYmokAjrk8DIpmUkh6izrM+bGWWar4TgqoKY9nTnxLa8bkdNk+bgR0rAfJqG8U49YLw4Jxmt 3kWAxEQHCkunPgY+68wViyIyqAvWFow3j6EUucpsxqafIYBy/5aY4mJMHMLr6DiHoEiif3//7Kb bCY0lvZeGUyT++zraeFFFP8oMBlobe6c= X-Received: by 2002:a05:6a00:cc9:b0:7aa:d7dd:b7dc with SMTP id d2e1a72fcca58-7ba3ca62f1cmr15229548b3a.31.1763370750997; Mon, 17 Nov 2025 01:12:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IHPhAbe67a4qq0g0SmTJWSl/SMH4NtB4XKNSGQjREqxyGkcUL/E/ZWvL7YwRbphuALEA6/cXw== X-Received: by 2002:a05:6a00:cc9:b0:7aa:d7dd:b7dc with SMTP id d2e1a72fcca58-7ba3ca62f1cmr15229504b3a.31.1763370750432; Mon, 17 Nov 2025 01:12:30 -0800 (PST) Received: from [10.204.86.112] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7b92782d39bsm12517242b3a.63.2025.11.17.01.12.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Nov 2025 01:12:29 -0800 (PST) Message-ID: <2404a7a5-f4ac-4e62-b4b7-df0494d71150@oss.qualcomm.com> Date: Mon, 17 Nov 2025 14:42:23 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 4/4] misc: fastrpc: Update dma_bits for CDSP support on Kaanapali SoC To: Bjorn Andersson Cc: kpallavi@qti.qualcomm.com, srini@kernel.org, amahesh@qti.qualcomm.com, arnd@arndb.de, gregkh@linuxfoundation.org, quic_bkumar@quicinc.com, ekansh.gupta@oss.qualcomm.com, linux-kernel@vger.kernel.org, quic_chennak@quicinc.com, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, jingyi.wang@oss.qualcomm.com, aiqun.yu@oss.qualcomm.com, ktadakam@qti.qualcomm.com References: <20251114084142.3386682-1-kumari.pallavi@oss.qualcomm.com> <20251114084142.3386682-5-kumari.pallavi@oss.qualcomm.com> <3gld6djjzfwu6rj47tz6gdwdpmh3hjexce5y6crqjus7ourgxf@puxrcpvijitl> Content-Language: en-US From: Kumari Pallavi In-Reply-To: <3gld6djjzfwu6rj47tz6gdwdpmh3hjexce5y6crqjus7ourgxf@puxrcpvijitl> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: nONXXyp32Sj4hod-lg_CTWSy_GjmH36q X-Authority-Analysis: v=2.4 cv=OpZCCi/t c=1 sm=1 tr=0 ts=691ae700 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=IvGWEb95ivA0J32o5h0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTE3MDA3NyBTYWx0ZWRfX5DN4kG+MlGja bjx4EItSNZHZqwJkiFAE5o9bGxrc64+Ibed8eYl68pzxbLdAL3s7rVPvIU3AauBFyN4OwxziFee CGYZaR9Xmt0iVRp+9BAVQYYLuMZc7Jk/0j1pjGhKJ1afc3raUKZ3Tn/3ptWrHl/QMEiUAnjyryF HPBzuxwANLyY5FsTfyXZMm1lPZm0IYw1XQbUxJi+U/CLZ5nfMHmIXbLmGYp3pzmQALsCY3E4SsP yuISqf0/kTrfh/7R7kVie0jUXg5391SqTsNF+5qY24gf2mdz092CsxfY3sCO8BUxf8PCTcheEBj pxbNshJYKLPceBibPQ5bn1MAryof46QFWzSIREhp+XmTqfaUZi3d1EIbEh0ZMCM/uBIMrxfWA4I uK2jW9CnyIaAShSDiswRT23CVm0uWA== X-Proofpoint-ORIG-GUID: nONXXyp32Sj4hod-lg_CTWSy_GjmH36q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-17_02,2025-11-13_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 phishscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 spamscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511170077 On 11/14/2025 9:30 PM, Bjorn Andersson wrote: > On Fri, Nov 14, 2025 at 02:11:42PM +0530, Kumari Pallavi wrote: >> DSP currently supports 32-bit IOVA (32-bit PA + 4-bit SID) for >> both Q6 and user DMA (uDMA) access. This is being upgraded to >> 34-bit PA + 4-bit SID due to a hardware revision in CDSP for >> Kaanapali SoC, which expands the DMA addressable range. >> Update DMA bits configuration in the driver to support CDSP on >> Kaanapali SoC. Set the default `dma_bits` to 32-bit and update >> it to 34-bit based on CDSP and OF matching on the fastrpc node. >> >> Signed-off-by: Kumari Pallavi >> --- >> drivers/misc/fastrpc.c | 15 +++++++++++++-- >> 1 file changed, 13 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c >> index bcf3c7f8d3e9..2eb8d37cd9b4 100644 >> --- a/drivers/misc/fastrpc.c >> +++ b/drivers/misc/fastrpc.c >> @@ -267,6 +267,8 @@ struct fastrpc_session_ctx { >> >> struct fastrpc_soc_data { >> u32 sid_pos; >> + u32 cdsp_dma_bits; >> + u32 dsp_default_dma_bits; >> }; >> >> struct fastrpc_channel_ctx { >> @@ -2186,6 +2188,7 @@ static int fastrpc_cb_probe(struct platform_device *pdev) >> int i, sessions = 0; >> unsigned long flags; >> int rc; >> + u32 dma_bits; >> >> cctx = dev_get_drvdata(dev->parent); >> if (!cctx) >> @@ -2199,12 +2202,16 @@ static int fastrpc_cb_probe(struct platform_device *pdev) >> spin_unlock_irqrestore(&cctx->lock, flags); >> return -ENOSPC; >> } >> + dma_bits = cctx->soc_data->dsp_default_dma_bits; >> sess = &cctx->session[cctx->sesscount++]; >> sess->used = false; >> sess->valid = true; >> sess->dev = dev; >> dev_set_drvdata(dev, sess); >> >> + if (cctx->domain_id == CDSP_DOMAIN_ID) >> + dma_bits = cctx->soc_data->cdsp_dma_bits; >> + >> if (of_property_read_u32(dev->of_node, "reg", &sess->sid)) >> dev_info(dev, "FastRPC Session ID not specified in DT\n"); >> >> @@ -2219,9 +2226,9 @@ static int fastrpc_cb_probe(struct platform_device *pdev) >> } >> } >> spin_unlock_irqrestore(&cctx->lock, flags); >> - rc = dma_set_mask(dev, DMA_BIT_MASK(32)); >> + rc = dma_set_mask(dev, DMA_BIT_MASK(dma_bits)); >> if (rc) { >> - dev_err(dev, "32-bit DMA enable failed\n"); >> + dev_err(dev, "%u-bit DMA enable failed\n", dma_bits); >> return rc; >> } >> >> @@ -2308,10 +2315,14 @@ static int fastrpc_get_domain_id(const char *domain) >> >> static const struct fastrpc_soc_data kaanapali_soc_data = { >> .sid_pos = 56, >> + .cdsp_dma_bits = 34, >> + .dsp_default_dma_bits = 32, >> }; >> >> static const struct fastrpc_soc_data default_soc_data = { >> .sid_pos = 32, >> + .cdsp_dma_bits = 32, >> + .dsp_default_dma_bits = 32, > > So, "dsp_default_dma_bits" specified "what is the dma_mask for the > non-CDSP fastrpc instances"? I don't find "dsp_default" to naturally > mean "not the cdsp". > > > Wouldn't it be better to introduce two different compatibles, one being > the "qcom,kaanapali-fastrpc" and one being the > "qcom,kaanapali-cdsp-fastrpc" and then use that to select things here? > Thank you for the suggestion. In this case, sid_pos is common across all DSP domains on kaanapali Soc. Splitting into two compatibles would lead to duplication of these shared property in the DT schema and driver logic. The only difference here is the DMA address width for CDSP (34-bit) versus other DSPs (32-bit). To address the concern about naming, I can provide: dma_bits_cdsp → clearly indicates this applies to the CDSP domain. dma_bits_non_cdsp (or dma_bits_other_dsp) → for ADSP and other DSP domains. Please let me know if this aligns with your suggestion ? > > PS. You store "dma_bits" just for the sake of turning it into a > dma_mask, just store the DMA_BIT_MASK() directly here instead. > The current approach of assigning a value to cdsp_dma_mask allows for adaptable logging behavior, making it easier to trace. > Regards, > Bjorn > >> }; >> >> static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) >> -- >> 2.34.1 >> >> Thanks, Pallavi