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: <064baf66-eecd-4982-864f-50b86b104ff6@quicinc.com>
Date: Thu, 11 Jul 2024 19:41:52 +0800
From: Depeng Shao <quic_depengs@...cinc.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, <rfoss@...nel.org>,
        <todor.too@...il.com>, <bryan.odonoghue@...aro.org>,
        <mchehab@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
        <conor+dt@...nel.org>
CC: <quic_eberman@...cinc.com>, <linux-media@...r.kernel.org>,
        <linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <kernel@...cinc.com>,
        Yongsheng Li
	<quic_yon@...cinc.com>
Subject: Re: [PATCH 09/13] media: qcom: camss: Add CSID Gen3 support for
 SM8550

Hi Krzysztof,

On 7/11/2024 7:12 PM, Krzysztof Kozlowski wrote:
> On 11/07/2024 13:08, Depeng Shao wrote:
> 
> 
>>>
>>>> + */
>>>> +static int csid_reset(struct csid_device *csid)
>>>> +{
>>>> +	unsigned long time;
>>>> +	u32 val;
>>>> +	int i;
>>>> +
>>>> +	reinit_completion(&csid->reset_complete);
>>>> +
>>>> +	writel_relaxed(1, csid->base + CSID_TOP_IRQ_CLEAR);
>>>> +	writel_relaxed(1, csid->base + CSID_IRQ_CMD);
>>>> +	writel_relaxed(1, csid->base + CSID_TOP_IRQ_MASK);
>>>> +
>>>> +	for (i = 0; i < MSM_CSID_MAX_SRC_STREAMS; i++)
>>>> +		if (csid->phy.en_vc & BIT(i)) {
>>>> +			writel_relaxed(BIT(BUF_DONE_IRQ_STATUS_RDI_OFFSET + i),
>>>> +						csid->base + CSID_BUF_DONE_IRQ_CLEAR);
>>>> +			writel_relaxed(0x1 << IRQ_CMD_CLEAR, csid->base + CSID_IRQ_CMD);
>>>> +			writel_relaxed(BIT(BUF_DONE_IRQ_STATUS_RDI_OFFSET + i),
>>>> +						csid->base + CSID_BUF_DONE_IRQ_MASK);
>>>> +		}
>>>> +
>>>> +	/* preserve registers */
>>>> +	val = (0x1 << RST_LOCATION) | (0x1 << RST_MODE);
>>>> +	writel_relaxed(val, csid->base + CSID_RST_CFG);
>>>
>>> ... here - using everywhere relaxed here is odd and looks racy. These
>>> looks like some strict sequences.
>>>
>> Yes, these are some sequences to initialize the HW.
> 
> Hm? It's like you ignore the problem and just answer with whatever to
> shut up the reviewer. Instead of replying with the same, address the
> problem. Why ordering is not a problem here?
> 

Sorry, I didn't mean that, was trying to understand the problem, then 
just sent out the mail by mistake.
Do you mean we should use writel to ensure the strict sequences?
Thanks for catching this problem, this problem is also in the the 
existing camss driver. I will check all of them in this series, but the 
problem in some existing camss drivers, maybe Bryan from Linaro can help 
to fix them, since I don't have these devices to verify the modifications.

>>>> +
>>>> +const struct csid_hw_ops csid_ops_gen3 = {
>>>
>>> Isn't there a warning here?
>>>
>>>> +	.configure_stream = csid_configure_stream,
>>>> +	.configure_testgen_pattern = csid_configure_testgen_pattern,
>>>> +	.hw_version = csid_hw_version,
>>>> +	.isr = csid_isr,
>>>> +	.reset = csid_reset,
>>>> +	.src_pad_code = csid_src_pad_code,
>>>> +	.subdev_init = csid_subdev_init,
>>>> +};
>>>
>>> Your patchset does not apply at all. Tried v6.9, v6.10, next. I see some
>>> dependency above, but that means no one can test it and no one can apply it.
>>>
>>> Fix the warnings, I cannot verify it but I am sure you have them.
>>>
>>
>> My code base is next master branch, do you mean the 'declared and not
>> used' warning? I don't see this warning with below two version compiler
>> even though I just pick this patch and pull the code the latest version.
>> But it indeed have this issue, these structures are declared and will be
>> used later in "media: qcom: camss: Add sm8550 resources" patch, will
>> think about how to avoid this.
>>
>> aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
>> aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
> 
> That's some old compilers... I am talking about recent GCC, recent clang
> and of course W=1.
> 

Thanks for the sharing, I will try to upgrade to latest compiler to 
avoid other potential issues.


Thanks,
Depeng

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ