All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andreas Noever <andreas.noever@gmail.com>,
	Michael Jamet <michael.jamet@intel.com>,
	Yehezkel Bernat <yehezkel.bernat@intel.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Mario Limonciello <Mario.Limonciello@dell.com>,
	Radion Mirchevsky <radion.mirchevsky@intel.com>
Subject: Re: [PATCH 18/18] thunderbolt: Add support for Intel Titan Ridge
Date: Wed, 14 Feb 2018 16:28:09 +0200	[thread overview]
Message-ID: <20180214142809.GT27191@lahna.fi.intel.com> (raw)
In-Reply-To: <CAHp75VcwWDTFnBcLotrABvWhT7a=-Z-vue8nB6hko1BaSqKQPQ@mail.gmail.com>

On Wed, Feb 14, 2018 at 04:23:44PM +0200, Andy Shevchenko wrote:
> On Tue, Feb 13, 2018 at 7:00 PM, Mika Westerberg
> <mika.westerberg@linux.intel.com> wrote:
> 
> > Intel Titan Ridge is the next Thunderbolt 3 controller. The ICM firmware
> > message format in Titan Ridge differs from Falcon Ridge and Alpine Ridge
> > somewhat because it is using route strings addressing devices. In
> > addition to that the DMA port of 4-channel (two port) controller is in
> > different port number than the previous controllers. There are some
> > other minor differences as well.
> >
> > This patch add support for Intel Titan Ridge and the new ICM firmware
> > message format.
> 
> >  static int dma_find_port(struct tb_switch *sw)
> >  {
> > +       static const int ports[] = { 7, 5, 3 };
> 
> Is it anything special in ordering? Otherwise I would keep it the same
> as in comment below.

I don't think there is anything special in ordering so I can update it
accordingly.

> > +       int i;
> >
> >         /*
> > +        * The DMA (NHI) port is either 3, 5 or 7 depending on the
> > +        * controller. Try all of them.
> >          */
> > +       for (i = 0; i < ARRAY_SIZE(ports); i++) {
> > +               u32 type;
> > +               int ret;
> > +
> > +               ret = dma_port_read(sw->tb->ctl, &type, tb_route(sw), ports[i],
> > +                                   2, 1, DMA_PORT_TIMEOUT);
> > +               if (!ret && (type & 0xffffff) == TB_TYPE_NHI)
> > +                       return ports[i];
> > +       }
> 
> > +static inline u64 get_parent_route(u64 route)
> > +{
> > +       int depth = tb_route_length(route);
> > +       return depth ? route & ~((u64)0xff << (depth - 1) * TB_ROUTE_SHIFT) : 0;
> 
> 0xffULL ?
> 
> > +}
> 
> > +       const struct icm_tr_event_device_connected *pkg =
> > +               (const struct icm_tr_event_device_connected *)hdr;
> 
> > +       const struct icm_tr_event_device_disconnected *pkg =
> > +               (const struct icm_tr_event_device_disconnected *)hdr;
> 
> > +       const struct icm_tr_event_xdomain_connected *pkg =
> > +               (const struct icm_tr_event_xdomain_connected *)hdr;
> 
> > +       const struct icm_tr_event_xdomain_disconnected *pkg =
> > +               (const struct icm_tr_event_xdomain_disconnected *)hdr;
> 
> 
> >  #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_USBONLY_NHI        0x15dc
> >  #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_USBONLY_NHI   0x15dd
> >  #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_USBONLY_NHI 0x15de
> 
> > +#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_NHI         0x15e8
> > +#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_BRIDGE      0x15e7
> > +#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_NHI         0x15eb
> > +#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_BRIDGE      0x15ea
> > +#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE      0x15ef
> 
> Can we keep it sorted?

It is sorted by the controller type ;-)

> 
> > +#define ICM_TR_INFO_SLEVEL_MASK                0x7
> 
> GENMASK() ?

OK.

> > +#define ICM_TR_INFO_BOOT_ACL_SHIFT     7
> > +#define ICM_TR_INFO_BOOT_ACL_MASK      GENMASK(12, 7)
> 
> -- 
> With Best Regards,
> Andy Shevchenko

  reply	other threads:[~2018-02-14 14:28 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-13 17:00 [PATCH 00/18] thunderbolt: Add support for Intel Titan Ridge Mika Westerberg
2018-02-13 17:00 ` [PATCH 01/18] thunderbolt: Resume control channel after hibernation image is created Mika Westerberg
2018-02-13 17:00 ` [PATCH 02/18] thunderbolt: Serialize PCIe tunnel creation with PCI rescan Mika Westerberg
2018-02-13 17:00 ` [PATCH 03/18] thunderbolt: Handle connecting device in place of host properly Mika Westerberg
2018-02-13 17:00 ` [PATCH 04/18] thunderbolt: Do not overwrite error code when domain adding fails Mika Westerberg
2018-02-13 17:00 ` [PATCH 05/18] thunderbolt: Wait a bit longer for root switch config space Mika Westerberg
2018-02-13 17:00 ` [PATCH 06/18] thunderbolt: Wait a bit longer for ICM to authenticate the active NVM Mika Westerberg
2018-02-13 17:21   ` Mario.Limonciello
2018-02-14 10:03     ` Mika Westerberg
2018-02-13 17:00 ` [PATCH 07/18] thunderbolt: Handle rejected Thunderbolt devices Mika Westerberg
2018-02-22 23:17   ` [07/18] " Jeremy McNicoll
2018-02-26 10:20     ` Mika Westerberg
2018-02-26 13:38       ` Mika Westerberg
2018-02-26 19:28         ` Jeremy McNicoll
2018-02-26 19:46           ` Mika Westerberg
2018-02-26 20:15             ` Jeremy McNicoll
2018-02-27  9:26               ` Mika Westerberg
2018-02-27 22:27                 ` Jeremy McNicoll
2018-02-13 17:00 ` [PATCH 08/18] thunderbolt: Factor common ICM add and update operations out Mika Westerberg
2018-02-13 17:00 ` [PATCH 09/18] thunderbolt: Correct function name in kernel-doc comment Mika Westerberg
2018-02-13 17:00 ` [PATCH 10/18] thunderbolt: Add tb_switch_get() Mika Westerberg
2018-02-13 17:00 ` [PATCH 11/18] thunderbolt: Add tb_switch_find_by_route() Mika Westerberg
2018-02-13 17:00 ` [PATCH 12/18] thunderbolt: Add tb_xdomain_find_by_route() Mika Westerberg
2018-02-13 17:51   ` Andy Shevchenko
2018-02-14 10:25     ` Mika Westerberg
2018-02-13 17:00 ` [PATCH 13/18] thunderbolt: Add constant for approval timeout Mika Westerberg
2018-02-13 17:00 ` [PATCH 14/18] thunderbolt: Move driver ready handling to struct icm Mika Westerberg
2018-02-13 17:00 ` [PATCH 15/18] thunderbolt: Add 'boot' attribute for devices Mika Westerberg
2018-02-13 17:00 ` [PATCH 16/18] thunderbolt: Add support for preboot ACL Mika Westerberg
2018-02-13 18:19   ` Andy Shevchenko
2018-02-14 10:22     ` Mika Westerberg
2018-02-13 17:00 ` [PATCH 17/18] thunderbolt: Introduce USB only (SL4) security level Mika Westerberg
2018-02-14  0:29   ` Randy Dunlap
2018-02-14 10:09     ` Mika Westerberg
2018-02-13 17:00 ` [PATCH 18/18] thunderbolt: Add support for Intel Titan Ridge Mika Westerberg
2018-02-14 14:23   ` Andy Shevchenko
2018-02-14 14:28     ` Mika Westerberg [this message]
2018-02-14 14:29       ` Andy Shevchenko
2018-02-14 15:52         ` Mika Westerberg
2018-02-14 13:58 ` [PATCH 00/18] " Andy Shevchenko
2018-02-14 16:43   ` 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=20180214142809.GT27191@lahna.fi.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=Mario.Limonciello@dell.com \
    --cc=andreas.noever@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael.jamet@intel.com \
    --cc=radion.mirchevsky@intel.com \
    --cc=yehezkel.bernat@intel.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.