[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <31a6c05a-4482-469a-bda1-55a83550b199@amd.com>
Date: Tue, 12 Aug 2025 10:02:15 +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,
Mario Limonciello <mario.limonciello@....com>, Richard.Gong@....com,
anson.tsao@....com
Subject: Re: [PATCH v2 0/8] Add AMD ISP4 driver
Thanks Sultan.
On 8/12/2025 6:17 AM, Sultan Alsawaf wrote:
> On Mon, Aug 11, 2025 at 02:48:42PM -0700, Sultan Alsawaf wrote:
>> On Mon, Aug 11, 2025 at 04:35:10PM +0800, Du, Bin wrote:
>>> On 8/11/2025 1:49 PM, Sultan Alsawaf wrote:
>>>> On Fri, Aug 08, 2025 at 05:11:39PM +0800, Du, Bin wrote:
>>>>> On 8/4/2025 12:25 PM, Sultan Alsawaf wrote:
>>>>>> On Mon, Aug 04, 2025 at 11:32:11AM +0800, Du, Bin wrote:
>>>>>>> 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@....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@....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@....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@....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
>>>>>>>>
>>>>>>>> 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)
>>>>>>
>>>>>> Correct.
>>>>>>
>>>>>>> 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.
>>>>>>
>>>>>> Yes, it is enabled and I have only tested with it enabled:
>>>>>>
>>>>>> $ rg CONFIG_VIDEO_OV05C linux-oem-6.14/.config
>>>>>> CONFIG_VIDEO_OV05C=m
>>>>>>
>>>>>> That's the Ubuntu linux-oem-6.14 kernel. You can get the full source and .config
>>>>>> I tested by running the following commands:
>>>>>>
>>>>>> git clone https://git.launchpad.net/ubuntu/+source/linux-oem-6.14 -b applied/6.14.0-1006.6
>>>>>> cd linux-oem-6.14
>>>>>> python debian/scripts/misc/annotations -e --arch amd64 > .config
>>>>>> make olddefconfig
>>>>>>
>>>>>> Let me know if that works.
>>>>>>
>>>>>> Sultan
>>>>>
>>>>> Thanks Sultan for the details, yes, we can reproduce the same issue on old
>>>>> isp driver 4.0 release on FW 1cc8c1bf(ext):50582024(int), after debug, the
>>>>> cause is
>>>>> - ov05c sensor device is added by amd i2c driver
>>>>> - When ov05c sensor driver probes, it will try to get gpio description but
>>>>> it will fail because the amd-pinctl driver which creates the gpio resource
>>>>> hasn't been loaded yet.
>>>>> - the ov05c sensor driver probe failure will finally make sensor not able
>>>>> to work when start streaming
>>>>>
>>>>> Add following patch is supposed to fix this issue to make it work on FW
>>>>> 1cc8c1bf(ext):50582024(int) when CONFIG_VIDEO_OV05C is defined.
>>>>>
>>>>> @@ -1121,6 +1129,7 @@ static struct i2c_driver ov05_i2c_driver = {
>>>>>
>>>>> module_i2c_driver(ov05_i2c_driver);
>>>>>
>>>>> +MODULE_SOFTDEP("pre: pinctrl-amdisp");
>>>>> MODULE_ALIAS("ov05");
>>>>> MODULE_DESCRIPTION("OmniVision OV05 sensor driver");
>>>>> MODULE_LICENSE("GPL and additional rights");
>>>>>
>>>>> Please help to see if it works if you get time.
>>>>
>>>> There is no difference I'm afraid. I applied the patch and tested with FW
>>>> 1cc8c1bf(ext):50582024(int) and the webcam is still broken on that FW:
>>>>
>>>> [ 19.523006] amd_isp_capture amd_isp_capture.1.auto: amdgpu: Preview(fw_run:0)|start_streaming
>>>> [ 19.537000] amd_isp_capture amd_isp_capture.1.auto: ISP FW boot suc!
>>>> [ 19.537009] amd_isp_capture amd_isp_capture.1.auto: amdgpu: starting Phy
>>>> [ 19.537050] PHY register access test success!
>>>> [ 19.537901] Termination calibration observability: 0x0
>>>> [ 19.539926] Wait for phyReady: 0x0
>>>> [ 19.541932] Wait for phyReady: 0x1
>>>> [ 20.901654] amd_isp_capture amd_isp_capture.1.auto: -><- fail respid Unknown respid(0x30002)
>>>> [ 22.070676] amd_isp_capture amd_isp_capture.1.auto: -><- fail respid Unknown respid(0x30002)
>>>> ...
>>>> [ 28.769372] amd_isp_capture amd_isp_capture.1.auto: amdgpu: Preview(fw_run:1)|stop_streaming
>>>> [ 28.769388] amd_isp_capture amd_isp_capture.1.auto: amdgpu: stopping Phy
>>>> [ 28.769868] amd_isp_capture amd_isp_capture.1.auto: isp_rm_cmd_from_cmdq_by_stream: fail empty cmd q, stream[1]
>>>> [ 28.771799] amd_isp_capture amd_isp_capture.1.auto: isp_rm_cmd_from_cmdq_by_stream: fail empty cmd q, stream[0]
>>>>
>>>> Sultan
>>>
>>> That's really weird, I tested kernel built from
>>> https://github.com/amd/Linux_ISP_Kernel/tree/4.0 with CONFIG_VIDEO_OV05C=m
>>> and above sensor driver probe failure patch on FW c8c1bf(ext):50582024(int),
>>> camera APPs like cheese, qv4l2, Camera all work well.
>>>
>>> Your failure still looks like sensor related, Would you help to add log to
>>> sensor driver drivers/media/i2c/ov05c.c to see if its probe function gets
>>> called and succeeds? Here is the log in success case,
>>>
>>> amd_isp_capture amd_isp_capture.1.auto: amdgpu: starting Phy
>>> PHY register access test success!
>>> Termination calibration observability: 0x0
>>> Wait for phyReady: 0x0
>>> Wait for phyReady: 0x1
>>> amd_isp_capture amd_isp_capture.1.auto: amdgpu: starting camera sensor
>>> amd_isp_capture amd_isp_capture.1.auto: isp_intf_start_stream,cid:0,sid:0
>>
>> Debug log output:
>>
>> $ dmesg | rg SARU
>> [ 4.565697] amd-isp4 OMNI5C10:00: SARU: amd_isp_probe started...
>> [ 4.565753] amd-isp4 OMNI5C10:00: SARU: amd_isp_probe completed successfully
>> [ 6.937077] amd_isp_i2c_designware amd_isp_i2c_designware: SARU: amd_isp_dw_i2c_plat_probe started...
>> [ 6.937522] amdisp-pinctrl amdisp-pinctrl: SARU: amdisp_pinctrl_probe started...
>> [ 6.941264] amdisp-pinctrl amdisp-pinctrl: SARU: amdisp_pinctrl_probe completed successfully
>> [ 6.951967] amd_isp_i2c_designware amd_isp_i2c_designware: SARU: amd_isp_dw_i2c_plat_probe completed successfully
>>
>> Log output when opening cheese:
>>
>> [ 46.957925] amd_isp_capture amd_isp_capture.1.auto: amdgpu: Preview(fw_run:0)|start_streaming
>> [ 46.979797] amd_isp_capture amd_isp_capture.1.auto: ISP FW boot suc!
>> [ 46.979812] amd_isp_capture amd_isp_capture.1.auto: amdgpu: starting Phy
>> [ 46.979860] PHY register access test success!
>> [ 46.980565] Termination calibration observability: 0x0
>> [ 46.982598] Wait for phyReady: 0x0
>> [ 46.984634] Wait for phyReady: 0x1
>> [ 48.340154] amd_isp_capture amd_isp_capture.1.auto: -><- fail respid Unknown respid(0x30002)
>> [ 49.509505] amd_isp_capture amd_isp_capture.1.auto: -><- fail respid Unknown respid(0x30002)
>> [ 51.823498] amd_isp_capture amd_isp_capture.1.auto: amdgpu: Preview(fw_run:1)|stop_streaming
>> [ 51.823513] amd_isp_capture amd_isp_capture.1.auto: amdgpu: stopping Phy
>> [ 51.823962] amd_isp_capture amd_isp_capture.1.auto: isp_rm_cmd_from_cmdq_by_stream: fail empty cmd q, stream[1]
>> [ 51.825358] amd_isp_capture amd_isp_capture.1.auto: isp_rm_cmd_from_cmdq_by_stream: fail empty cmd q, stream[0]
>>
>> Patch applied to tree:
>>
>> --- a/drivers/i2c/busses/i2c-designware-amdisp.c
>> +++ b/drivers/i2c/busses/i2c-designware-amdisp.c
>> @@ -42,2 +42,3 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
>> pdev->dev.init_name = DRV_NAME;
>> + dev_info(&pdev->dev, "SARU: %s started...", __func__);
>>
>> @@ -95,2 +96,3 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
>>
>> + dev_info(&pdev->dev, "SARU: %s completed successfully", __func__);
>> return 0;
>> --- a/drivers/media/i2c/ov05c.c
>> +++ b/drivers/media/i2c/ov05c.c
>> @@ -1031,2 +1031,3 @@ static int ov05_probe(struct i2c_client *client)
>>
>> + dev_info(&client->dev, "SARU: %s started...", __func__);
>> ov05c = devm_kzalloc(&client->dev, sizeof(*ov05c), GFP_KERNEL);
>> @@ -1081,2 +1082,3 @@ static int ov05_probe(struct i2c_client *client)
>>
>> + dev_info(&client->dev, "SARU: %s completed successfully", __func__);
>> return 0;
>> @@ -1123,2 +1125,3 @@ module_i2c_driver(ov05_i2c_driver);
>>
>> +MODULE_SOFTDEP("pre: pinctrl-amdisp");
>> MODULE_ALIAS("ov05");
>> --- a/drivers/pinctrl/pinctrl-amdisp.c
>> +++ b/drivers/pinctrl/pinctrl-amdisp.c
>> @@ -183,2 +183,3 @@ static int amdisp_pinctrl_probe(struct platform_device *pdev)
>> pdev->dev.init_name = DRV_NAME;
>> + dev_info(&pdev->dev, "SARU: %s started...", __func__);
>>
>> @@ -215,2 +216,3 @@ static int amdisp_pinctrl_probe(struct platform_device *pdev)
>>
>> + dev_info(&pdev->dev, "SARU: %s completed successfully", __func__);
>> return 0;
>> --- a/drivers/platform/x86/amd/amd_isp4.c
>> +++ b/drivers/platform/x86/amd/amd_isp4.c
>> @@ -365,2 +365,3 @@ static int amd_isp_probe(struct platform_device *pdev)
>>
>> + dev_info(&pdev->dev, "SARU: %s started...", __func__);
>> pinfo = device_get_match_data(&pdev->dev);
>> @@ -388,2 +389,3 @@ static int amd_isp_probe(struct platform_device *pdev)
>> platform_set_drvdata(pdev, isp4_platform);
>> + dev_info(&pdev->dev, "SARU: %s completed successfully", __func__);
>> return 0;
>
> Sorry, please disregard my last two emails, as I was testing on the wrong
> kernel. :(
>
> I've confirmed that the MODULE_SOFTDEP("pre: pinctrl-amdisp") change indeed
> fixes the newer firmware on the old isp driver 4.0 release. Without that change,
> it is as you say: the ov05c sensor probe fails.
>
> So now I can use FW 1cc8c1bf(ext):50582024(int).
>
> Sultan
Never mind, really glad it is finally resolved and you can use the new FW.
Regards,
Bin
Powered by blists - more mailing lists