From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 DF60F395AE3 for ; Thu, 18 Jun 2026 08:19:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781770769; cv=none; b=jtY/te4uphMNmlcjLbsJRC/9t5+bqXUW5kdqbNDL/vqxCtoRKnTlXRA3hRlXMttLex+ddctiJguSSoDbwrGGNur+ln09zSsCLOkh0fmbmNKHAuUOPMPPemlTnrL1o1EfiPbTlT5DbsL0RDq028d5psrGoFk6vopeCqCrJ2nMcSw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781770769; c=relaxed/simple; bh=casli13flH9PnvbWb/Fb1QuAj9WYWOB35EA5rARxoBU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=WQCGrebST5dfNq2jOrOkfY+Y5VaVFVY0umKeWbH1I819p8pHEzeguHNRkFk5gcNMRlxZbUzTZBYcse4hQrEEj5ChieTlcur8kapE6zsy8M5b0yYJpQfIAVj+K2TugOxLPUzOyHAUXgCHpxbVMRwzgbOkgJAO7blzBcI4Unpz9/8= 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=C2iwSgfs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bDJhpieU; arc=none smtp.client-ip=205.220.168.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="C2iwSgfs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bDJhpieU" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65I8Ddpc3399949 for ; Thu, 18 Jun 2026 08:19:25 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= eTNkagoIOzwO6/2hJOr3P2E7MmuHJTIWk3HLRdjPF3U=; b=C2iwSgfsUZn7IBYK mpdA+1mkJtjaVHDcMqIF9GEV9xHO6C82ocYz06yq1d+dnLMRAObd8XGCxMwSc4aF 9XtJGMTD457LCmTmTEJpm9fO932BPk1oJMCysja7SbXfScbzu2sTeQh7CckgsRxQ DvCMplfgNw7K0Pb4bHnwEjtgcW7WOjhMAb9aqujdOk3DD03j6N5lmQrrxiqqLhbm q+ojNgXy+Q8YB/1vrancbYMC34x8K8gS8bX69CeCMcQLkVAJusZbdOqsqKhAWJCy W3SlB4MFGs+Iz2+gCZoxej630BR7xPzbgnVaEur36RqmyW6AaO5AuMqCIzkrQxbi cGxDNA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev0vk2gdh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 08:19:24 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-915a547f4b3so18894985a.3 for ; Thu, 18 Jun 2026 01:19:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781770764; x=1782375564; 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=eTNkagoIOzwO6/2hJOr3P2E7MmuHJTIWk3HLRdjPF3U=; b=bDJhpieUmyZfqVn7YlIaberwO1cMieX/tsme6A19Zbs4enSsuvxBfBVUBbFeO4irU6 w4dtksHod5rMj7j+G/jncxikTZgpDFFf3tuO6ldrIwQolWhsk2Nm4yOC8KoITTX1wp7Z fx5iyHPWLfPsxBi7q25KB3O8c0OM/EIN8JBHJRqA1zlRED5klS5TZ5z6/53Dm94mipal A+UGihYLU28y3kTI90FrbKZZ5AgTK5tRI793XfFTyL5ufw5mzG1RuWB6lgWsmc5F7Gl7 sJV9socv+NsGVPn5qTYAk2N3a2kD6CiVeQ5B+Ta+1s+RPZaHf37iOAriuFyHZcd5OE6/ +BSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781770764; x=1782375564; 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=eTNkagoIOzwO6/2hJOr3P2E7MmuHJTIWk3HLRdjPF3U=; b=RLOSJVFLfOI7AdX1Wd/Zyd8dPvljBSHoLcQ8Z/sb0AUgOK7PM4nEzf3YRvhkaJ5+3J qKcDmRFNvpYGJYXQrjPiLWNgb4goD/yaXrRRHjd5S4LSDHQwTUsvGkYzq75WBQ0LTFsa wN1oIpWPvR6eltifyYiKImX0mX4gL884CyNbwTYLeANHLdae5//EF6ooThFDY6hohny+ v4WuMiEKLSoAqFdJweea6YqS+5xL3/AR3pQjhJ5JoMNxKXTfpLtTW1b3AJSCBsl/HIXh 9vxRWbZJpDG8XUkAU/tdti9o3uwzB8OGb3DuYjhlpoUyER/HF40I3zSktwtatJXoKME+ oYrA== X-Forwarded-Encrypted: i=1; AFNElJ8gE9oiM/aNNt3R1oENmz4c7yWlvNKU2Ddqm5MGad4wUsWROf/NawRI2ibPc3fRJH9Mt0CBAVUhdRjJiKQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyjMM1nuY13Jd9SI6lPr3Yl92kESnK5RgYd4r9C/EJAGm8xCWHZ 3SP8wx7CuxwBJSdSjcY8FmB/iXpq70zmQA+DHkRsgY0Cw+yNMd+Ulwv443R+QKEEDmPYLNPEI53 IkEM/m7RBqP1MRyupz3e+GZCDu2bKV1KHdY/7Du+5xsnevviruUBb+GKdcasowkutdqM= X-Gm-Gg: Acq92OFxKYEOVe19jUe9AVs6rT8sk9naFJ6NvLMvgF5wYDrjukp/whhp96W2+L6DnJQ IHAf+9/DfAGPDExtXX8+SZKmqY/Jk64dolDPASMhEUzUANIdjkssXAsmlx8ihAYjGbzapvArb57 rxcV7jabad8VMe6MEDEBiOhO9RqFIuviZbK1D1dZ3ccs4BOr3iVPiG4kyigsrmBcLu0iyzd2uzI 5SB+9PLycAhK7IUY8R97rp60/uJ7L+xZRrg34dRIZ1+b5wlbbLYkTu82ibYZCHHfinXobnf6rGh AJ+a0saKy5VNaUk1SgeSRhZnhmx+91u3swhpNPGC4rzmUavYpHtmEQ2owRbcrLV4I+s3XHhFUyD n4u7R+dcqQX3DO/iqEFF9+bPyDalSCrOAHjc= X-Received: by 2002:a05:620a:6c0d:b0:915:4ca0:1210 with SMTP id af79cd13be357-91f2a9c581dmr253478785a.3.1781770763876; Thu, 18 Jun 2026 01:19:23 -0700 (PDT) X-Received: by 2002:a05:620a:6c0d:b0:915:4ca0:1210 with SMTP id af79cd13be357-91f2a9c581dmr253477185a.3.1781770763432; Thu, 18 Jun 2026 01:19:23 -0700 (PDT) Received: from [192.168.120.170] ([178.235.128.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bfdb5318d8dsm875237766b.26.2026.06.18.01.19.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Jun 2026 01:19:22 -0700 (PDT) Message-ID: Date: Thu, 18 Jun 2026 10:19:20 +0200 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 5/8] irqchip/qcom-pdc: Configure PDC to pass through mode To: Maulik Shah , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Gleixner , Linus Walleij Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, Sneh Mankad References: <20260616-hamoa_pdc_v3-v3-0-4d8e1504ea75@oss.qualcomm.com> <20260616-hamoa_pdc_v3-v3-5-4d8e1504ea75@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260616-hamoa_pdc_v3-v3-5-4d8e1504ea75@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: eHwUk9PvLZRp4uQY-fNkBtubxhhczELo X-Authority-Analysis: v=2.4 cv=DNy/JSNb c=1 sm=1 tr=0 ts=6a33aa0c cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=PRfkaYvzSr8QmIIGAkY2Sg==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=ZhBa3tV6RTI7cPQeaSoA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: eHwUk9PvLZRp4uQY-fNkBtubxhhczELo X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA3NSBTYWx0ZWRfX05xN4KxztEXD +lQvmAqMjlb5pp0UV95Kb5S4/oMriX5TTv4ta4L10uX33kgO5eL+xAzWTiWUbVAbrU7u1YCPsC5 LXh7AQGEiObG8FwmWxCPwPwa2mR4MXA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA3NSBTYWx0ZWRfX6YEeBOHGbwKH ckWJ7ni5QSORbzlXnTK9a4fVNQj9tJROPFBQrIJpiErkViNNHKUi4qF1/SDDEi+R4JVY5l+Aq+y a8QGTHK/u0R4/8nDcw2wf3cKPRNvWQuyN50VEl7Hknc9eWziXoNUBY5v9ba7AyEdNvWm+uadp4S 5UpsUQLGW8XInxUUcwOvkrEtdaKPXkcMXUxmyM5WtrK8Ey+dROG+W0S8oHdSPCwF94kRmFtWjcJ HGvhbOnEMJ9sN2xpdPOx2UIylIemD0E5EiWCPrBNlJo9CcRJ/dVU9DBpTgKPa6CWGKEwCV1Pfuo BhiksZPUQNZA8rOZ9VXQPnYAMsQevVnzghHt6yErq47pKfOHuTd4Tnxgh0X5X3xwbur48CiaPuh Gpvs3doCzWi7eIRIKvyAg0F1UtKWwNZZBtJNwxzOGCyCsiPm9OUKIfm/9D4Ww6EBZ/Sng1fe7AH H/Amaz0RnDE26s2s7mw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 phishscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180075 On 6/16/26 11:25 AM, Maulik Shah wrote: > All PDC irqchip supports pass through mode in which both Direct SPIs and > GPIO IRQs (as SPIs) are sent to GIC without latching at PDC. > > Newer PDCs (v3.0 onwards) also support additional secondary controller mode > where PDC latches GPIO IRQs and sends to GIC as level type IRQ. Direct SPIs > still works same as pass through mode without latching at PDC even in > secondary controller mode. > > All the SoCs so far default uses pass through mode with the exception of > x1e. x1e PDC may be set to secondary controller mode for builds on CRD > boards whereas it may be set to pass through mode for IoT-EVK boards. > The mode configuration is done in firmware and initially shipped windows > firmware did not have SCM interface to read or modify the PDC mode. > Later only write access is opened up for non secure world. > > Using the write access available add changes to modify the PDC mode to > pass through mode via SCM write. When the write fails (on older firmware) > assume to work in secondary mode. > > In secondary mode set the separate irqchip for the GPIOs to perform > additional operations only for the GPIO irqs. > > Co-developed-by: Sneh Mankad > Signed-off-by: Sneh Mankad > Signed-off-by: Maulik Shah > --- [...] > +static void pdc_clear_gpio_cfg(int pin_out) > +{ > + unsigned long gpio_sts; > + > + if (pdc->version < PDC_VERSION_3_0) > + return; > + > + gpio_sts = pdc_reg_read(pdc->regs->irq_cfg_reg, pin_out); > + __clear_bit(pdc->cfg_fields->gpio_irq_sts, &gpio_sts); > + pdc_reg_write(pdc->regs->irq_cfg_reg, pin_out, gpio_sts); > +} > + > +static void pdc_unmask_gpio_cfg(int pin_out, bool unmask) > +{ > + unsigned long gpio_mask; > + > + if (pdc->version < PDC_VERSION_3_0) > + return; These version checks should be unnecessary now, given the function pointer is only assigned for hamoa Konrad