All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Łukasz Bartosik" <lb@semihalf.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andreas Noever <andreas.noever@gmail.com>,
	Michael Jamet <michael.jamet@intel.com>,
	Yehezkel Bernat <YehezkelShB@gmail.com>,
	linux-usb@vger.kernel.org, upstream@semihalf.com
Subject: Re: [PATCH v2] thunderbolt: fix PCI device class after powering up
Date: Tue, 2 Aug 2022 17:06:40 +0200	[thread overview]
Message-ID: <CAK8ByeJ0=rbGr5+GZ_dDhMRnHjYxuCO9_cZONuXSz2tyL+QLzw@mail.gmail.com> (raw)
In-Reply-To: <YukhjOo4CteuM8q9@lahna>

>
> On Tue, Aug 02, 2022 at 02:27:30PM +0200, Łukasz Bartosik wrote:
> > >
> > > Hi,
> > >
> > > On Fri, Jul 29, 2022 at 11:40:22AM +0200, Łukasz Bartosik wrote:
> > > > A thunderbolt
> > > > lspci -d 8086:9a1b -vmmknn
> > > > Slot: 00:0d.2
> > > > Class:        System peripheral [0880]
> > > > Vendor:       Intel Corporation [8086]
> > > > Device:       Tiger Lake-LP Thunderbolt 4 NHI #0 [9a1b]
> > > >
> > > > presents itself with PCI class 0x088000 after Chromebook boots.
> > > > lspci -s 00:0d.2 -xxx
> > > > 00:0d.2 System peripheral: Intel Corporation Tiger Lake-LP Thunderbolt 4
> > > > NHI #0 (rev 01)
> > > > 00: 86 80 1b 9a 00 00 10 00 01 00 80 08 00 00 00 00
> > > > ...
> > > >
> > > > However after thunderbolt is powered up in nhi_probe()
> > > > its class changes to 0x0c0340
> > > > lspci -s 00:0d.2 -xxx
> > > > 00:0d.2 System peripheral: Intel Corporation Tiger Lake-LP Thunderbolt 4
> > > > NHI #0 (rev 01)
> > > > 00: 86 80 1b 9a 06 04 10 00 01 40 03 0c 00 00 00 00
> > > > ...
> > > >
> > > > which leaves pci_dev structure with old class value
> > > > cat /sys/bus/pci/devices/0000:00:0d.2/class
> > > > 0x088000
> > >
> > > This is completely unexpected. Which Chromebook this is and have you
> > > tried to upgrade it to the latest?
> > >
> >
> > This happens on a Tiger Lake based reference Chromebook platform.
> > The issue also happens on the latest ChromeOS image available for that platform.
>
> Is this something available for purchase? I'm asking because I have Acer
> Tiger Lake based Chromebook (740 spin or something) here and the TBT
> controller class is "USB controller" all the time, and this is what is
> expected. It should not change the class at any point.

Sorry this platform is not available on the market.

I compared the platform where I see the issue with another platform
where thunderbolt is "usb controller" all the time
and I noticed one difference in function icl_nhi_force_power() in
drivers/thunderbolt/nhi_ops.c I observed the value of VS_CAP_22
after being read and before being written again with additional bits
set. And on the platform where thunderbolt is "usb controller" all the
time
this value was 0x22061002 after reading and 0x22061002 before being
written. The value has not changed
which suggest that thunderbolt was already powered up during probe.

On the platform where I observe the issue where thunderbolt class
changes the observed
read value was 0x6061000 and then 0x22061002 before being written.
That's the difference I spotted.

Anyway I can provide logs or run experiments to shed more light on the
issue. Just need
to know what might be useful ?

Thanks,
Lukasz

  reply	other threads:[~2022-08-02 15:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29  9:40 [PATCH v2] thunderbolt: fix PCI device class after powering up Łukasz Bartosik
2022-08-01 10:24 ` Mika Westerberg
2022-08-02 12:27   ` Łukasz Bartosik
2022-08-02 13:07     ` Mika Westerberg
2022-08-02 15:06       ` Łukasz Bartosik [this message]
2022-08-03  8:29         ` Mika Westerberg
2022-08-03  9:30           ` Łukasz Bartosik
2022-08-03  9:46             ` Mika Westerberg
2022-08-03 10:41               ` Łukasz Bartosik

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='CAK8ByeJ0=rbGr5+GZ_dDhMRnHjYxuCO9_cZONuXSz2tyL+QLzw@mail.gmail.com' \
    --to=lb@semihalf.com \
    --cc=YehezkelShB@gmail.com \
    --cc=andreas.noever@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=michael.jamet@intel.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=upstream@semihalf.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.