All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Brad Campbell <lists2009@fnarfbargle.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Apple Thunderbolt Display chaining
Date: Wed, 30 Mar 2022 16:43:08 +0300	[thread overview]
Message-ID: <YkRebADER3J9ooPM@lahna> (raw)
In-Reply-To: <b35e4054-4f22-72a2-4313-77299697af7b@fnarfbargle.com>

Hi,

On Wed, Mar 30, 2022 at 09:19:52PM +0800, Brad Campbell wrote:
> Hey Mika,
> 
> On 30/3/22 18:18, Mika Westerberg wrote:
> > Hi,
> > 
> > On Tue, Mar 29, 2022 at 10:06:35PM +0800, Brad Campbell wrote:
> >>> Indeed, I did not add this to the "discovery" path yet.
> >>>
> >>> I wonder what happens if you change this:
> >>>
> >>> +       tunnel = tb_tunnel_alloc_dp(tb, in, out, available_up, available_down,
> >>> +                                   first ? 0 : 1);
> >>>
> >>> to this in your tree:
> >>>
> >>> +       tunnel = tb_tunnel_alloc_dp(tb, in, out, available_up, available_down,
> >>> +                                   first ? 1 : 0);
> >>>
> >>
> >> Here's where it gets all "Apple..y". On the iMac this does the job no matter which
> >> port the chain is plugged into. Boots and displays correctly first time, every time.
> >>
> >> It turns out on the laptop, one port works and the other doesn't. Changing the order
> >> simply changes which port works. So I assume the EFI sets up the first display using
> >> the first lane if it's in the first port, and the second if it's in the second.
> >>
> >> That means had I managed to perform the first test in the "other port" consistently,
> >> it would have worked there also.
> > 
> > Can you try the below patch too? I hard-code the lane based on the
> > DP adapter number in TBT gen1.
> > 
> > Let's first figure out proper solution to this issue and then look at
> > the other one.
> > 
> > diff --git a/drivers/thunderbolt/tunnel.c b/drivers/thunderbolt/tunnel.c
> > index a473cc7d9a8d..97d36a7bb527 100644
> > --- a/drivers/thunderbolt/tunnel.c
> > +++ b/drivers/thunderbolt/tunnel.c
> > @@ -865,6 +865,7 @@ struct tb_tunnel *tb_tunnel_alloc_dp(struct tb *tb, struct tb_port *in,
> 
> This one works from cold boot on both machines regardless of the port the chain is plugged into.
> It fails on both machines on any hotplug with the symptoms of allocating them both the same link.
> I added an extra debug into tunnel.c and verified that.

Hm, okay. What if you change this:

  link_nr = in->port == 11 ? 1 : 0;

to this

  link_nr = in->port == 11 ? 0 : 1;

Please also keep the debugging you added too so we can see if it now
uses both lanes.

  reply	other threads:[~2022-03-30 13:44 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <acbb3a86-ea15-47ec-90fa-72fbd94921b1@fnarfbargle.com>
2022-03-29 11:31 ` Apple Thunderbolt Display chaining Mika Westerberg
2022-03-29 12:35   ` Brad Campbell
2022-03-29 13:00     ` Mika Westerberg
2022-03-29 14:06       ` Brad Campbell
2022-03-30 10:18         ` Mika Westerberg
2022-03-30 13:19           ` Brad Campbell
2022-03-30 13:43             ` Mika Westerberg [this message]
2022-03-30 14:24               ` Brad Campbell
2022-03-30 14:47                 ` Mika Westerberg
2022-03-31  9:02                   ` Brad Campbell
2022-03-31 16:36                     ` Mika Westerberg
2022-04-01  5:48                       ` Brad Campbell
2022-04-01 14:30                         ` Mika Westerberg
2022-04-01 15:05                           ` Brad Campbell
2022-04-04 10:10                             ` Mika Westerberg
2022-04-04 11:38                               ` Brad Campbell
2022-04-04 12:53                                 ` Mika Westerberg
2022-04-06  2:51                                   ` Brad Campbell
2022-04-06 14:56                                     ` Mika Westerberg
2022-08-05  7:41                                       ` Brad Campbell
2022-08-05 11:30                                         ` Mika Westerberg
2022-08-05 12:43                                           ` Brad Campbell
2022-08-05 13:01                                             ` Mika Westerberg
2022-08-05 14:13                                               ` Brad Campbell
2022-08-05 14:21                                                 ` Mika Westerberg
2022-08-05 14:43                                                   ` Brad Campbell
2022-08-06  6:13                                                     ` Mika Westerberg
2022-08-06  9:41                                                       ` Brad Campbell
2022-08-08  9:51                                                         ` Mika Westerberg
2022-08-08 11:55                                                           ` Brad Campbell
2022-08-08 12:25                                                             ` Brad Campbell
2022-08-08 12:46                                                               ` Mika Westerberg
2022-08-08 13:27                                                                 ` Brad Campbell
2022-08-09 10:23                                                                   ` Mika Westerberg
2022-08-09 10:40                                                                     ` Brad Campbell
2022-08-09 10:55                                                                       ` Mika Westerberg
2022-08-09 11:03                                                                         ` Brad Campbell
2022-08-09 11:08                                                                         ` Brad Campbell
2022-08-09 14:42                                                                           ` Mika Westerberg
2022-08-09 15:16                                                                             ` Brad Campbell
2022-08-09 15:50                                                                               ` Mika Westerberg
2022-08-10  7:40                                                                                 ` Brad Campbell
2022-08-11  9:50                                                                                   ` Mika Westerberg
2022-08-11 14:17                                                                                     ` Brad Campbell
2022-08-12  9:35                                                                                       ` Mika Westerberg
2022-08-12 10:16                                                                                         ` Brad Campbell
2022-08-08 12:42                                                             ` Mika Westerberg

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=YkRebADER3J9ooPM@lahna \
    --to=mika.westerberg@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lists2009@fnarfbargle.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.