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] [day] [month] [year] [list]
Message-ID: <4c0097dd-6dd3-e4e6-14d1-d94a6d98bf5a@huawei.com>
Date: Thu, 17 Oct 2024 14:39:53 +0800
From: Yicong Yang <yangyicong@...wei.com>
To: Youwan Wang <youwan@...china.com>
CC: <jonathan.cameron@...wei.com>, <yangyicong@...ilicon.com>,
	<will@...nel.org>, <mark.rutland@....com>,
	<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drivers/perf: hisi: Fix readl DDRC_VERSION stuck

On 2024/10/10 16:42, Youwan Wang wrote:
> The CPU of the device I am using is kunpeng 920,
> which can start normally with version 5.4 kernel.
> However, when installing version 6.6 kernel, the
> kernel gets stuck when loading the "hisi_dddrc_pmu"
> driver. I went to debug and found that it gets stuck
> when "readl (ddrc_pmu ->base+DDRC_VERSION)". I suspect

what does "stuck" mean here? do you see some hardware errors
or similiar? If so this should be an unexpected device and
your patch still doesn't address the issue, since you only make
the probe work but the device's still inaccessible so it
shouldn't be appeared in the system.

as Will mentions, this is probably a firmware issue. please
try to update to the latest firmware.

Thanks.

> that the hardware does not support it. My modification is:
> for the "HISI0233" device, according to the implementation
> of version 5.4 kernel, the identity is not obtained from
> the register. For "identifier" sysfs, identifier: 0
> 
> Signed-off-by: Youwan Wang <youwan@...china.com>
> ---
>  drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c b/drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c
> index b804e3738113..3cecad46b01f 100644
> --- a/drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c
> +++ b/drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c
> @@ -321,6 +321,9 @@ static int hisi_ddrc_pmu_init_data(struct platform_device *pdev,
>  		return PTR_ERR(ddrc_pmu->base);
>  	}
>  
> +	if (strstr(pdev->name, "HISI0233"))
> +		return 0;
> +
>  	ddrc_pmu->identifier = readl(ddrc_pmu->base + DDRC_VERSION);
>  	if (ddrc_pmu->identifier >= HISI_PMU_V2) {
>  		if (device_property_read_u32(&pdev->dev, "hisilicon,sub-id",
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ