lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e4c58df3-253f-7acf-0bb9-e0f6535bab50@oss.qualcomm.com>
Date: Tue, 2 Dec 2025 22:06:24 +0530
From: Shivendra Pratap <shivendra.pratap@....qualcomm.com>
To: Mukesh Ojha <mukesh.ojha@....qualcomm.com>
Cc: Bjorn Andersson <andersson@...nel.org>,
        Konrad Dybcio <konradybcio@...nel.org>, linux-arm-msm@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        Unnathi Chalicheemala <unnathi.chalicheemala@....qualcomm.com>,
        Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Subject: Re: [PATCH v10 1/3] firmware: qcom_scm: Add API to get waitqueue IRQ
 info



On 12/2/2025 5:13 PM, Mukesh Ojha wrote:
> On Sun, Nov 30, 2025 at 08:11:02PM +0530, Shivendra Pratap wrote:
>> From: Unnathi Chalicheemala <unnathi.chalicheemala@....qualcomm.com>
>>

[SNIP..]

>>
>> diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
>> index e777b7cb9b127944fe112f453cae9cbc40c06cae..79ab1707f71b0157835deaea6309f33016e3de8c 100644
>> --- a/drivers/firmware/qcom/qcom_scm.c
>> +++ b/drivers/firmware/qcom/qcom_scm.c
>> @@ -29,12 +29,18 @@
>>  #include <linux/reset-controller.h>
>>  #include <linux/sizes.h>
>>  #include <linux/types.h>
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> 
> At most places, where this header is used there is a line feed
> before it, if the header before it is not from dt-bindings.

Ack.

> 
>>  
>>  #include "qcom_scm.h"
>>  #include "qcom_tzmem.h"
>>  
>>  static u32 download_mode;
>>  
>> +#define GIC_SPI_BASE        32
>> +#define GIC_MAX_SPI       1019  // SPIs in GICv3 spec range from 32..1019
>> +#define GIC_ESPI_BASE     4096
>> +#define GIC_MAX_ESPI      5119 // ESPIs in GICv3 spec range from 4096..5119
>> +
>>  struct qcom_scm {
>>  	struct device *dev;
>>  	struct clk *core_clk;
>> @@ -2223,6 +2229,55 @@ bool qcom_scm_is_available(void)
>>  }
>>  EXPORT_SYMBOL_GPL(qcom_scm_is_available);
>>  
>> +static int qcom_scm_fill_irq_fwspec_params(struct irq_fwspec *fwspec, u32 hwirq)
>> +{
>> +	if (hwirq >= GIC_SPI_BASE && hwirq <= GIC_MAX_SPI) {
>> +		fwspec->param[0] = GIC_SPI;
>> +		fwspec->param[1] = hwirq - GIC_SPI_BASE;
>> +	} else if (hwirq >= GIC_ESPI_BASE && hwirq <= GIC_MAX_ESPI) {
>> +		fwspec->param[0] = GIC_ESPI;
>> +		fwspec->param[1] = hwirq - GIC_ESPI_BASE;
>> +	} else {
>> +		WARN(1, "Unexpected hwirq: %d\n", hwirq);
>> +		return -ENXIO;
>> +	}
> 
> line feed after } would make it look better..

Ack.

> 
>> +	fwspec->param[2] = IRQ_TYPE_EDGE_RISING;
>> +	fwspec->param_count = 3;
>> +
>> +	return 0;
>> +}
>> +
>> +static int qcom_scm_get_waitq_irq(struct qcom_scm *scm)
>> +{
>> +	struct device_node *parent_irq_node;
> 
> after desc ?

ok.

> 
>> +	struct qcom_scm_desc desc = {
>> +		.svc = QCOM_SCM_SVC_WAITQ,
>> +		.cmd = QCOM_SCM_WAITQ_GET_INFO,
>> +		.owner = ARM_SMCCC_OWNER_SIP
>> +	};
>> +	struct irq_fwspec fwspec;
>> +	struct qcom_scm_res res;
>> +	u32 hwirq;
>> +	int ret;
>> +
>> +	ret = qcom_scm_call_atomic(scm->dev, &desc, &res);
>> +	if (ret)
>> +		return ret;
>> +
>> +	hwirq = res.result[1] & GENMASK(15, 0);
>> +
> 
> redundant line feed ?

will remove. thanks.

> 
>> +	ret = qcom_scm_fill_irq_fwspec_params(&fwspec, hwirq);
>> +	if (ret)
>> +		return ret;
> 
> Line feed needed here after return or } ?

will add it.

thanks,
Shivendra

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ