From: Jon Hunter <jonathanh@nvidia.com>
To: "Saravana Kannan" <saravanak@google.com>,
"Nícolas F. R. A. Prado" <nfraprado@collabora.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH] driver core: Don't try to create links if they are not needed
Date: Wed, 23 Oct 2024 14:24:52 +0100 [thread overview]
Message-ID: <8b4723ba-fffe-4616-8055-02a9cf6f2894@nvidia.com> (raw)
In-Reply-To: <CAGETcx-_z4hxyNSwT-D1MKNzAjOGSX+o7x5G8J0KkiUyy+RkDQ@mail.gmail.com>
On 23/10/2024 02:00, Saravana Kannan wrote:
> On Thu, Oct 3, 2024 at 7:59 AM Nícolas F. R. A. Prado
> <nfraprado@collabora.com> wrote:
>>
>> On Thu, Oct 03, 2024 at 11:25:22AM +0100, Jon Hunter wrote:
>>>
>>> On 02/10/2024 21:38, Saravana Kannan wrote:
>>>> On Wed, Oct 2, 2024 at 11:30 AM Jon Hunter <jonathanh@nvidia.com> wrote:
>>>>>
>>>>> Hi Greg,
>>>>>
>>>>> On 16/09/2024 18:49, Greg Kroah-Hartman wrote:
>>>>>> On Mon, Sep 16, 2024 at 03:50:34PM +0100, Jon Hunter wrote:
>>>>>>>
>>>>>>> On 11/09/2024 15:32, Greg Kroah-Hartman wrote:
>>>>>>>> On Tue, Sep 10, 2024 at 02:00:19PM +0100, Jon Hunter wrote:
>>>>>>>>> The following error messages are observed on boot with the Tegra234
>>>>>>>>> Jetson AGX Orin board ...
>>>>>>>>>
>>>>>>>>> tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180)
>>>>>>>>> with 1-0008
>>>>>>>>> tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180)
>>>>>>>>> with 1-0008
>>>>>>>>> tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180)
>>>>>>>>> with 1-0008
>>>>>>>>>
>>>>>>>>> In the above case, device_link_add() intentionally returns NULL because
>>>>>>>>> these are SYNC_STATE_ONLY links and the device is already probed.
>>>>>>>>> Therefore, the above messages are not actually errors. Fix this by
>>>>>>>>> replicating the test from device_link_add() in the function
>>>>>>>>> fw_devlink_create_devlink() and don't call device_link_add() if there
>>>>>>>>> are no links to create.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>>>>>>>>
>>>>>>>> What commit id does this fix?
>>>>>>>
>>>>>>>
>>>>>>> Hard to say exactly. The above error message was first added with commit
>>>>>>> 3fb16866b51d ("driver core: fw_devlink: Make cycle detection more robust")
>>>>>>> but at this time we did not have the support in place for Tegra234 USB. I am
>>>>>>> guessing we first started seeing this when I enabled support for the type-c
>>>>>>> controller in commit 16744314ee57 ("arm64: tegra: Populate USB Type-C
>>>>>>> Controller for Jetson AGX Orin"). I can confirm if that is helpful?
>>>>>>>
>>>>>>
>>>>>> That helps, I'll look at this after -rc1 is out, thanks!
>>>>>
>>>>>
>>>>> Let me know if there is anything else I can answer on this one.
>>>>
>>>> Hi Jon,
>>>>
>>>> See this.
>>>> https://lore.kernel.org/all/c622df86-0372-450e-b3dd-ab93cd051d6f@notapiano/
>>>>
>>>> Ignore my point 1. My point 2 still stands. I got busy and forgot to
>>>> reply to Nícolas.
>>>>
>>>> I'm fine with either one of your patches as long as we define a
>>>> "useless link" function and use it in all the places.
>>>
>>>
>>> Thanks! Yes I am also fine with Nicolas' fix too. I quite like the dev_dbg()
>>> in Nicolas' version. I was wondering if we should define a function for this
>>> check too.
>>>
>>> Nicolas do you want to update your patch with a 'useless link' function? I
>>> will be happy to test on my side. Looks like you identified the exact patch
>>> that introduced this and have the appropriate fixes tag too.
>>
>> Hi Jon,
>>
>> I just sent a reply to that thread yesterday going a bit further down the rabbit
>> hole to try and answer if there's an underlying issue there that the log
>> messages are just exposing, but I still don't understand all the devlink details
>> involved so was hoping for some feedback from Saravana.
>>
>> But if there's no feedback I can surely update the patch with the commonized
>> function to fix the immediate problem. I'll wait a couple days to give Saravana
>> (and others) some time to respond.
>
> Finally managed to squeeze in some time for Nicolas's issue. It was a
> real issue. Replied to the original thread from Nicolas.
>
> Jon, can you do an analysis similar to Nicolas? What consumer node did
> fw_devlink try to create a link for and what consumer device did it
> end up creating a device link with instead?
I am not 100% sure what you want, but enabling the same debug messages
as Nicolas I am seeing ...
[ 9.867969] i2c 3-0008: bus: 'i2c': __driver_probe_device: matched device with driver ucsi_ccg
[ 9.868004] i2c 3-0008: bus: 'i2c': really_probe: probing driver ucsi_ccg with device
[ 9.898834] ucsi_ccg 3-0008: driver: 'ucsi_ccg': driver_bound: bound to device
[ 9.898845] /bus@0/padctl@3520000/ports/usb3-0 Linked as a fwnode consumer to /bus@0/i2c@c240000/typec@8
[ 9.898858] /bus@0/padctl@3520000/ports/usb3-0 Dropping the fwnode link to /bus@0/i2c@c240000/typec@8/connector@0
[ 9.898871] /bus@0/padctl@3520000/ports/usb2-1 Linked as a fwnode consumer to /bus@0/i2c@c240000/typec@8
[ 9.898881] /bus@0/padctl@3520000/ports/usb2-1 Dropping the fwnode link to /bus@0/i2c@c240000/typec@8/connector@0
[ 9.898893] /bus@0/padctl@3520000/ports/usb3-1 Linked as a fwnode consumer to /bus@0/i2c@c240000/typec@8
[ 9.898899] /bus@0/padctl@3520000/ports/usb3-1 Dropping the fwnode link to /bus@0/i2c@c240000/typec@8/connector@1
[ 9.898905] /bus@0/padctl@3520000/ports/usb2-0 Linked as a fwnode consumer to /bus@0/i2c@c240000/typec@8
[ 9.898910] /bus@0/padctl@3520000/ports/usb2-0 Dropping the fwnode link to /bus@0/i2c@c240000/typec@8/connector@1
[ 9.898923] device: 'i2c:3-0008--usb_role:usb2-0-role-switch': device_add
[ 9.898961] usb_role usb2-0-role-switch: Linked as a sync state only consumer to 3-0008
[ 9.898963] /bus@0/padctl@3520000/ports/usb2-0 Dropping the fwnode link to /bus@0/i2c@c240000/typec@8
[ 9.898970] tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180) with 3-0008
[ 9.907920] tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180) with 3-0008
[ 9.916841] tegra-xusb-padctl 3520000.padctl: Failed to create device link (0x180) with 3-0008
[ 9.925798] ucsi_ccg 3-0008: Dropping the link to usb2-0-role-switch
[ 9.925808] device: 'usb_role:usb2-0-role-switch--i2c:3-0008': device_unregister
[ 9.925903] ucsi_ccg 3-0008: Dropping the link to 3520000.padctl
[ 9.925908] device: 'platform:3520000.padctl--i2c:3-0008': device_unregister
[ 9.926001] ucsi_ccg 3-0008: bus: 'i2c': really_probe: bound device to driver ucsi_ccg
[ 9.963266] device: 'platform:3520000.padctl--typec:port0': device_add
[ 9.963296] typec port0: Linked as a consumer to 3520000.padctl
[ 9.963298] /bus@0/i2c@c240000/typec@8/connector@0 Dropping the fwnode link to /bus@0/padctl@3520000
[ 10.015196] device: 'platform:3520000.padctl--typec:port1': device_add
[ 10.015291] typec port1: Linked as a sync state only consumer to 3520000.padctl
[ 10.015302] /bus@0/i2c@c240000/typec@8/connector@1 Dropping the fwnode link to /bus@0/padctl@35
Let me know if there is anything else you need.
Jon
--
nvpublic
next prev parent reply other threads:[~2024-10-23 13:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 13:00 [PATCH] driver core: Don't try to create links if they are not needed Jon Hunter
2024-09-11 14:32 ` Greg Kroah-Hartman
2024-09-16 14:50 ` Jon Hunter
2024-09-16 17:49 ` Greg Kroah-Hartman
2024-10-02 18:30 ` Jon Hunter
2024-10-02 20:38 ` Saravana Kannan
2024-10-03 10:25 ` Jon Hunter
2024-10-03 14:59 ` Nícolas F. R. A. Prado
2024-10-23 1:00 ` Saravana Kannan
2024-10-23 13:24 ` Jon Hunter [this message]
2024-10-23 13:58 ` Nícolas F. R. A. Prado
2024-10-23 14:08 ` Jon Hunter
2024-10-23 18:34 ` Saravana Kannan
2024-10-23 18:44 ` Saravana Kannan
2024-10-23 20:28 ` Jon Hunter
2024-10-24 17:07 ` Thierry Reding
2024-10-24 17:10 ` Saravana Kannan
2024-10-23 20:30 ` Jon Hunter
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=8b4723ba-fffe-4616-8055-02a9cf6f2894@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=nfraprado@collabora.com \
--cc=rafael@kernel.org \
--cc=saravanak@google.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