mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Du, Bin" <bin.du@amd.com>
To: Sultan Alsawaf <sultan@kerneltoast.com>
Cc: mchehab@kernel.org, hverkuil@xs4all.nl,
	laurent.pinchart+renesas@ideasonboard.com,
	bryan.odonoghue@linaro.org, sakari.ailus@linux.intel.com,
	prabhakar.mahadev-lad.rj@bp.renesas.com,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	pratap.nirujogi@amd.com, benjamin.chan@amd.com, king.li@amd.com,
	gjorgji.rosikopulos@amd.com, Phil.Jawich@amd.com,
	Dominic.Antony@amd.com
Subject: Re: [PATCH v2 0/8] Add AMD ISP4 driver
Date: Mon, 4 Aug 2025 11:32:11 +0800	[thread overview]
Message-ID: <d8c99b00-e8f2-49bb-8c72-ebc4e783e51d@amd.com> (raw)
In-Reply-To: <1a9a4beb-97ab-4853-8201-bf08f1a030ab@amd.com>

Hi Sultan,

This is the conclusion of your test,
Driver: 
https://github.com/amd/Linux_ISP_Kernel/commit/c6d42584fbd0aa42cc91ecf16dc5c4f3dfea0bb4
[1] It works on FW      8f070131(ext):39b00736(int)
[2] It can't work on FW 1cc8c1bf(ext):50582024(int)

Would you please help to check if CONFIG_VIDEO_OV05C is defined not in 
the .config file when building the kernel? Our assumption is to make [1] 
work, CONFIG_VIDEO_OV05C shouldn't be defined. to make [2] work, 
CONFIG_VIDEO_OV05C should be defined.

Regards,
Bin

On 7/31/2025 6:04 PM, Du, Bin wrote:
> Thanks Sultan for your test
> 
> On 7/31/2025 8:30 AM, Sultan Alsawaf wrote:
>> On Wed, Jul 30, 2025 at 05:53:58PM +0800, Du, Bin wrote:
>>> On 7/30/2025 1:38 PM, Sultan Alsawaf wrote:
>>>> On Tue, Jul 29, 2025 at 06:13:50PM +0800, Du, Bin wrote:
>>>>> On 7/29/2025 3:45 PM, Sultan Alsawaf wrote:
>>>>>> On Tue, Jul 29, 2025 at 12:42:16AM -0700, Sultan Alsawaf wrote:
>>>>>>> On Tue, Jul 29, 2025 at 11:32:23AM +0800, Du, Bin wrote:
>>>>>>>> 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
>>>>>>>
>>>>>>> Thanks for that link, I found it along with another patch on the 
>>>>>>> list to make
>>>>>>> the fwnode work ("drm/amd/amdgpu: Initialize swnode for ISP MFD 
>>>>>>> device").
>>>>>>>
>>>>>>>>> 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
>>>>>>>
>>>>>>> I got much further now: there aren't any driver initialization 
>>>>>>> errors, but when
>>>>>>> I open the camera, there's no image. The camera LED turns on so 
>>>>>>> it's active.
>>>>>>>
>>>>>>> And then shortly afterwards, amdgpu dies and the entire system 
>>>>>>> freezes.
>>>>>>>
>>>>>>> I've attached my full dmesg, please let me know what you think. 
>>>>>>> Thanks!
>>>>>>
>>>>>> I almost forgot, here is my current kernel tree:
>>>>>> https://github.com/kerneltoast/kernel_x86_laptop/tree/v6.16- 
>>>>>> sultan-isp4
>>>>>>
>>>>>> Sultan
>>>>>
>>>>> Thanks Sultan, yes, seems much close to the final success. Will 
>>>>> have some
>>>>> internal discussion.
>>>>
>>>> I got the webcam working. The same bug happened when I tried 
>>>> Ubuntu's linux-oem
>>>> kernel, which made me think that the issue was firmware.
>>>>
>>>> And indeed, the culprit was a firmware update from February. I bisected
>>>> linux-firmware and found the commit which broke the webcam for me:
>>>>
>>>>     commit 1cc8c1bfa11251ce8bfcc97d1f15e312f7fe4df0 (HEAD)
>>>>     Author: Pratap Nirujogi <pratap.nirujogi@amd.com>
>>>>     Date:   Wed Feb 19 12:16:51 2025 -0500
>>>>
>>>>         amdgpu: Update ISP FW for isp v4.1.1
>>>>
>>>>         From internal git commit:
>>>>         5058202443e08a673b6772ea6339efb50853be28
>>>>
>>>>         Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
>>>>
>>>>      amdgpu/isp_4_1_1.bin | Bin 4543184 -> 6083536 bytes
>>>>      1 file changed, 0 insertions(+), 0 deletions(-)
>>>>
>>>> Downgrading firmware to before that commit fixes the webcam. Any 
>>>> idea why?
>>>>
>>>> Thanks,
>>>> Sultan
>>>
>>> So, can i say the working firmware binary is this one?
>>>
>>> Commit 8f070131
>>> amdgpu: Update ISP FW for isp v4.1.1
>>>
>>>  From internal git commit:
>>> 39b007366cc76ef8c65e3bc6220ccb213f4861fb
>>>
>>> Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
>>
>> Correct.
>>
>>> There are too many changes between them, so i can't tell exactly which
>>> change caused this. So, from my side
>>> 1. Will try these two firmware to see if we have the same issue.
>>> 2. It has been quite a long time since last release, will see if need to
>>> release a latest one.
>>
>> Thanks. It was a quick bisect for me, so I'm happy to help test if a 
>> bisect
>> between those two internal git commits is needed.
>>
> Really appreciate your test.
>> In case it makes a difference, I have the laptop with the 2.8K OLED 
>> display. I'm
>> aware there is one other display variant on other SKUs, which is a 
>> WUXGA IPS.
>>
> Good to know, I believe it won't make any difference for ISP
> 
>> Also, with that old firmware, my camera only works with the old isp4 
>> driver from
>> that Linux_ISP_Kernel repo (which is the same isp4 driver used in 
>> Ubuntu's
>> linux-oem kernel). Does the new isp4 driver you've submitted here 
>> require newer
>> firmware than the old driver located in Linux_ISP_Kernel?
>>
>> Sultan
> 
> We had a try, yes, both of the old FW can't work on the new ISP4 driver, 
> as you know, for the last months, we did lots of driver modifications 
> for upstream and cause it incompatible with old FW.
> Now, under internal discussion to upstream a new FW to support the new 
> ISP driver
> 
> Regards,
> Bin
> 


  reply	other threads:[~2025-08-04  3:32 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-18  9:19 Bin Du
2025-06-18  9:19 ` [PATCH v2 1/8] media: platform: amd: Introduce amd isp4 capture driver Bin Du
2025-06-18 15:58   ` Mario Limonciello
2025-06-19  7:46     ` Du, Bin
2025-06-19 13:00       ` Mario Limonciello
2025-06-20  3:08         ` Du, Bin
2025-07-28  5:54   ` Sakari Ailus
2025-07-28  9:00     ` Du, Bin
2025-06-18  9:19 ` [PATCH v2 2/8] media: platform: amd: low level support for isp4 firmware Bin Du
2025-06-18 16:00   ` Mario Limonciello
2025-06-19  7:53     ` Du, Bin
2025-07-28  5:57   ` Sakari Ailus
2025-07-28  9:24     ` Du, Bin
2025-06-18  9:19 ` [PATCH v2 3/8] media: platform: amd: Add helpers to configure isp4 mipi phy Bin Du
2025-07-28  6:33   ` Sakari Ailus
2025-08-05  9:53     ` Du, Bin
2025-08-05 10:53       ` Laurent Pinchart
2025-08-06  9:56         ` Du, Bin
2025-08-05 10:39     ` Laurent Pinchart
2025-08-06  9:45       ` Du, Bin
2025-07-28  7:28   ` Sakari Ailus
2025-07-31  9:31     ` Du, Bin
2025-06-18  9:19 ` [PATCH v2 4/8] media: platform: amd: Add isp4 fw and hw interface Bin Du
2025-06-18 16:17   ` Mario Limonciello
2025-06-19  9:58     ` Du, Bin
2025-06-19 15:11       ` Mario Limonciello
2025-06-20  3:32         ` Du, Bin
2025-07-28  7:23   ` Sakari Ailus
2025-07-29  9:12     ` Du, Bin
2025-08-11 11:46       ` Sakari Ailus
2025-08-11 12:31         ` Laurent Pinchart
2025-08-12  3:36           ` Du, Bin
2025-08-12  7:34             ` Laurent Pinchart
2025-08-12  8:08               ` Du, Bin
2025-08-12  8:20               ` Sakari Ailus
2025-08-12 10:04                 ` Du, Bin
2025-08-12  2:44         ` Du, Bin
2025-06-18  9:19 ` [PATCH v2 5/8] media: platform: amd: isp4 subdev and firmware loading handling added Bin Du
2025-06-18 16:35   ` Mario Limonciello
2025-06-20  9:31     ` Du, Bin
2025-07-06 20:55       ` Mario Limonciello
2025-07-07  6:22         ` Du, Bin
2025-07-25  1:35   ` Sultan Alsawaf
2025-07-25  9:03     ` Du, Bin
2025-06-18  9:19 ` [PATCH v2 6/8] media: platform: amd: isp4 video node and buffers " Bin Du
2025-07-23 17:55   ` Sultan Alsawaf
2025-07-24  5:14     ` Sultan Alsawaf
2025-07-25  9:05       ` Du, Bin
2025-07-25  9:22     ` Du, Bin
2025-07-26 21:41       ` Sultan Alsawaf
2025-07-26 21:50         ` Sultan Alsawaf
2025-07-29  6:12           ` Du, Bin
2025-07-29  6:08         ` Du, Bin
2025-07-28  7:04   ` Sultan Alsawaf
2025-07-29  7:43     ` Du, Bin
2025-07-31  0:34       ` Sultan Alsawaf
2025-07-31  9:45         ` Du, Bin
2025-08-11  6:02         ` Sultan Alsawaf
2025-08-11  9:05           ` Du, Bin
2025-08-12  5:51             ` Sultan Alsawaf
2025-08-12  6:33               ` Du, Bin
2025-08-13  9:42                 ` Du, Bin
2025-08-14  6:37                   ` Sultan Alsawaf
2025-06-18  9:19 ` [PATCH v2 7/8] media: platform: amd: isp4 debug fs logging and more descriptive errors Bin Du
2025-06-18  9:19 ` [PATCH v2 8/8] Documentation: add documentation of AMD isp 4 driver Bin Du
2025-08-05 11:37   ` Laurent Pinchart
2025-08-12  1:36     ` Du, Bin
2025-08-12 13:42       ` Laurent Pinchart
2025-08-22  2:28         ` Du, Bin
2025-08-20 12:42       ` Sakari Ailus
2025-08-22  2:20         ` Du, Bin
2025-09-22  6:24           ` Sakari Ailus
2025-09-22  9:19             ` Du, Bin
2025-07-23 18:12 ` [PATCH v2 0/8] Add AMD ISP4 driver Sultan Alsawaf
2025-07-25 10:22   ` Du, Bin
2025-07-26 22:31     ` Sultan Alsawaf
2025-07-29  3:32       ` Du, Bin
2025-07-29  7:42         ` Sultan Alsawaf
2025-07-29  7:45           ` Sultan Alsawaf
2025-07-29 10:13             ` Du, Bin
2025-07-30  5:38               ` Sultan Alsawaf
2025-07-30  9:53                 ` Du, Bin
2025-07-31  0:30                   ` Sultan Alsawaf
2025-07-31 10:04                     ` Du, Bin
2025-08-04  3:32                       ` Du, Bin [this message]
2025-08-04  4:25                         ` Sultan Alsawaf
2025-08-08  9:11                           ` Du, Bin
2025-08-11  5:49                             ` Sultan Alsawaf
2025-08-11  8:35                               ` Du, Bin
2025-08-11 21:48                                 ` Sultan Alsawaf
2025-08-11 22:17                                   ` Sultan Alsawaf
2025-08-12  2:02                                     ` Du, Bin
2025-08-14  6:53 ` Sultan Alsawaf
2025-08-22  2:23   ` Du, Bin
2025-08-22  3:56     ` Sultan Alsawaf
2025-08-27 10:30       ` Du, Bin
2025-08-28  5:50         ` Sultan Alsawaf
2025-09-02  2:08           ` Du, Bin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d8c99b00-e8f2-49bb-8c72-ebc4e783e51d@amd.com \
    --to=bin.du@amd.com \
    --cc=Dominic.Antony@amd.com \
    --cc=Phil.Jawich@amd.com \
    --cc=benjamin.chan@amd.com \
    --cc=bryan.odonoghue@linaro.org \
    --cc=gjorgji.rosikopulos@amd.com \
    --cc=hverkuil@xs4all.nl \
    --cc=king.li@amd.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=pratap.nirujogi@amd.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sultan@kerneltoast.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome