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: <b02d0749-6ecb-4e69-818a-6268f894464d@amd.com>
Date: Tue, 29 Jul 2025 11:32:23 +0800
From: "Du, Bin" <bin.du@....com>
To: Sultan Alsawaf <sultan@...neltoast.com>
Cc: mchehab@...nel.org, hverkuil@...all.nl,
 laurent.pinchart+renesas@...asonboard.com, bryan.odonoghue@...aro.org,
 sakari.ailus@...ux.intel.com, prabhakar.mahadev-lad.rj@...renesas.com,
 linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
 pratap.nirujogi@....com, benjamin.chan@....com, king.li@....com,
 gjorgji.rosikopulos@....com, Phil.Jawich@....com, Dominic.Antony@....com,
 bin.du@....com
Subject: Re: [PATCH v2 0/8] Add AMD ISP4 driver

Thanks Sultan, please see my comments

On 7/27/2025 6:31 AM, Sultan Alsawaf wrote:
> On Fri, Jul 25, 2025 at 06:22:03PM +0800, Du, Bin wrote:
>>> I have the Ryzen AI MAX+ 395 SKU of the HP ZBook Ultra G1a 14.
>>>
>>> I cannot for the life of me get the webcam working under Linux. The webcam works
>>> under Windows so it's not a hardware issue.
>>>
>>> With this patchset and all of the patches you link here applied to 6.15, I get
>>> the following errors:
>>>     [   11.970038] amd_isp_i2c_designware amd_isp_i2c_designware: Unknown Synopsys component type: 0xffffffff
>>>     [   11.973162] amd_isp_i2c_designware amd_isp_i2c_designware: error -19: i2c_dw_probe failed
>>>
>>> With the old ispkernel code from February [1] applied on 6.15, the webcam
>>> indicator LED lights up but there's no image. I see these messages at boot:
>>>     [    9.449005] amd_isp_capture amd_isp_capture.1.auto: amdgpu: AMD ISP v4l2 device registered
>>>     [    9.489005] amd_isp_i2c_designware amd_isp_i2c_designware.2.auto: The OV05 sensor device is added to the ISP I2C bus
>>>     [    9.529012] amd_isp_i2c_designware amd_isp_i2c_designware.2.auto: timeout while trying to abort current transfer
>>>     [    9.554046] amd_isp_i2c_designware amd_isp_i2c_designware.2.auto: timeout in disabling adapter
>>>     [    9.554174] amd_isp_i2c_designware amd_isp_i2c_designware.2.auto: timeout while trying to abort current transfer
>>>     [    9.580022] amd_isp_i2c_designware amd_isp_i2c_designware.2.auto: timeout in disabling adapter
>>>
>>> And then the kernel crashes due to the same use-after-free issues I pointed out
>>> in my other email [2].
>>>
>>> Any idea what's going on?
>>>
>>> [1] https://github.com/amd/Linux_ISP_Kernel/commit/c6d42584fbd0aa42cc91ecf16dc5c4f3dfea0bb4
>>> [2] https://lore.kernel.org/r/aIEiJL83pOYO8lUJ@sultan-box
>> Hi Sultan,
>>
>> [1] is for kernel 6.8, believe it can't be applied to 6.15. We didn't verify
>> on 6.15 but we are really glad to help, would you please provide some info,
>> 1. Suppose you are using Ubuntu, right? What's the version?
>> 2. 6.15, do you mean https://github.com/torvalds/linux/tree/v6.15 ?
>>
>> After your confirmation, we'll see what we can do to enable your camera
>> quickly and easily
>>
>> Regards,
>> Bin
> 
> Thank you, Bin!
> 
> 1. I'm using Arch Linux with the ISP4-patched libcamera [1].
> 2. Yes, here is my kernel source [2].
> 
> I have some more findings:
> 
> Currently, the first blocking issue is that the I2C adapter fails to initialize.
> This is because the ISP tile isn't powered on.
> 
> I noticed that in the old version of amd_isp_i2c_designware [3], there were
> calls to isp_power_set(), which is available in the old ISP4 sources [4].
> Without isp_power_set(), the I2C adapter always fails to initialize for me.
> 
> How is the ISP tile supposed to get powered on in the current ISP4 code?
> 
You are correct, yes, i believe the I2C adapter failure is caused by ISP 
not being powered up. Currently in latest code, isp_power_set is no 
longer available, instead, we implemented genPD for ISP in amdgpu
https://lore.kernel.org/all/20250618221923.3944751-1-pratap.nirujogi@amd.com/
Both amd_isp_i2c and amd_isp_capture are in the power domain and use the 
standard runtime PM API to do the power control

> Also, I noticed that the driver init ordering matters between all of the drivers
> needed for the ISP4 camera. In particular, amd_isp_i2c_designware and amd_isp4
> must be initialized before amd_capture, otherwise amd_capture will fail to find
> the fwnode properties for the OV05C10 device attached to the I2C bus.
> 
> But there is no driver init ordering enforced, which also caused some issues for
> me until I figured it out. Maybe probe deferral (-EPROBE_DEFER) should be used
> to ensure each driver waits for its dependencies to init first?
> 
amd_isp_capture only has dependency on amd_isp4 which is the ACPI 
platform driver, it is init before amd_isp_catpure.
Do you see in your side the amd_capture probe failure caused by failing 
to read fwnode properties? If that's the case please help to check if 
amd_isp4 is loaded successfully

> [1] https://github.com/amd/Linux_ISP_libcamera/tree/3.0
> [2] https://github.com/kerneltoast/kernel_x86_laptop/tree/v6.15-sultan-isp4
> [3] https://lore.kernel.org/all/20250228164519.3453927-1-pratap.nirujogi@amd.com
> [4] https://github.com/amd/Linux_ISP_Kernel/blob/c6d42584fbd0aa42cc91ecf16dc5c4f3dfea0bb4/drivers/media/platform/amd/isp4/isp_hwa.c#L378-L385
> 
> Sultan


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ