From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Mario.Limonciello@dell.com
Cc: linux-usb@vger.kernel.org, andreas.noever@gmail.com,
michael.jamet@intel.com, YehezkelShB@gmail.com,
rajmohan.mani@intel.com,
nicholas.johnson-opensource@outlook.com.au, lukas@wunner.de,
gregkh@linuxfoundation.org, stern@rowland.harvard.edu,
anthony.wong@canonical.com, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 22/22] thunderbolt: Do not start firmware unless asked by the user
Date: Tue, 1 Oct 2019 17:58:50 +0300 [thread overview]
Message-ID: <20191001145850.GZ2714@lahna.fi.intel.com> (raw)
In-Reply-To: <10cccc5a8d1a43fd9769ab6c4b53aeba@AUSX13MPC105.AMER.DELL.COM>
On Tue, Oct 01, 2019 at 02:43:15PM +0000, Mario.Limonciello@dell.com wrote:
> > -----Original Message-----
> > From: Mika Westerberg <mika.westerberg@linux.intel.com>
> > Sent: Tuesday, October 1, 2019 6:39 AM
> > To: linux-usb@vger.kernel.org
> > Cc: Andreas Noever; Michael Jamet; Mika Westerberg; Yehezkel Bernat; Rajmohan
> > Mani; Nicholas Johnson; Lukas Wunner; Greg Kroah-Hartman; Alan Stern;
> > Limonciello, Mario; Anthony Wong; linux-kernel@vger.kernel.org
> > Subject: [RFC PATCH 22/22] thunderbolt: Do not start firmware unless asked by the
> > user
> >
> >
> > [EXTERNAL EMAIL]
> >
> > Since now we can do pretty much the same thing in the software
> > connection manager than the firmware would do, there is no point
> > starting it by default. Instead we can just continue using the software
> > connection manager.
> >
> > Make it possible for user to switch between the two by adding a module
> > pararameter (start_icm) which is by default false. Having this ability
> > to enable the firmware may be useful at least when debugging possible
> > issues with the software connection manager implementation.
>
> If the host system firmware didn't start the ICM, does that mean SW connection
> manager would just take over even on systems with discrete AR/TR controllers?
Yes. This is pretty much the case with Apple systems now.
> >
> > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> > ---
> > drivers/thunderbolt/icm.c | 14 +++++++++++---
> > drivers/thunderbolt/tb.c | 4 ----
> > 2 files changed, 11 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
> > index 9c9c6ea2b790..c4a2de0f2a44 100644
> > --- a/drivers/thunderbolt/icm.c
> > +++ b/drivers/thunderbolt/icm.c
> > @@ -11,6 +11,7 @@
> >
> > #include <linux/delay.h>
> > #include <linux/mutex.h>
> > +#include <linux/moduleparam.h>
> > #include <linux/pci.h>
> > #include <linux/pm_runtime.h>
> > #include <linux/platform_data/x86/apple.h>
> > @@ -43,6 +44,10 @@
> > #define ICM_APPROVE_TIMEOUT 10000 /* ms */
> > #define ICM_MAX_LINK 4
> >
> > +static bool start_icm;
> > +module_param(start_icm, bool, 0444);
> > +MODULE_PARM_DESC(start_icm, "start ICM firmware if it is not running (default:
> > false)");
> > +
> > /**
> > * struct icm - Internal connection manager private data
> > * @request_lock: Makes sure only one message is send to ICM at time
> > @@ -1353,13 +1358,16 @@ static bool icm_ar_is_supported(struct tb *tb)
> > {
> > struct pci_dev *upstream_port;
> > struct icm *icm = tb_priv(tb);
> > + u32 val;
> >
> > /*
> > * Starting from Alpine Ridge we can use ICM on Apple machines
> > * as well. We just need to reset and re-enable it first.
>
> This comment doesn't really seem as relevant anymore. The meaning of it
> has nothing to do with Apple anymore.
Actually it is still relevant. For USB4 the intent is to have FW/SW CM
switch in ACPI spec instead. But that is still under discussion.
> > + * However, only start it if explicitly asked by the user.
> > */
> > - if (!x86_apple_machine)
> > - return true;
> > + val = ioread32(tb->nhi->iobase + REG_FW_STS);
> > + if (!(val & REG_FW_STS_ICM_EN) && !start_icm)
> > + return false;
>
> This code is already in icm_firmware_start. Maybe split it to a small function
> So you can just have the more readable
>
> If (!icm_firmware_running(tb) && !start_icm))
Good point. I'll do that.
next prev parent reply other threads:[~2019-10-01 14:58 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-01 11:38 [RFC PATCH 00/22] thunderbolt: Add support for USB4 Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 01/22] thunderbolt: Introduce tb_switch_is_icm() Mika Westerberg
2019-10-01 12:10 ` Greg Kroah-Hartman
2019-10-01 12:46 ` Mika Westerberg
2019-10-01 13:36 ` Mario.Limonciello
2019-10-01 13:48 ` Mika Westerberg
2019-10-01 13:50 ` Mario.Limonciello
2019-10-01 13:52 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 02/22] thunderbolt: Log switch route string on config read/write timeout Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 03/22] thunderbolt: Log warning if adding switch fails Mika Westerberg
2019-10-01 12:18 ` Greg Kroah-Hartman
2019-10-01 12:48 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 04/22] thunderbolt: Make tb_sw_write() take const parameter Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 05/22] thunderbolt: Add helper macros to iterate over switch ports Mika Westerberg
2019-10-02 14:17 ` Oliver Neukum
2019-10-02 14:28 ` Mika Westerberg
2019-10-06 12:15 ` Lukas Wunner
2019-10-01 11:38 ` [RFC PATCH 06/22] thunderbolt: Add support for lane bonding Mika Westerberg
2019-10-01 12:38 ` Greg Kroah-Hartman
2019-10-01 12:53 ` Mika Westerberg
2019-10-02 14:21 ` Oliver Neukum
2019-10-02 14:30 ` Mika Westerberg
2019-10-03 8:25 ` Oliver Neukum
2019-10-03 8:53 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 07/22] thunderbolt: Add default linking between ports if not provided by DROM Mika Westerberg
2019-10-01 12:39 ` Greg Kroah-Hartman
2019-10-01 13:14 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 08/22] thunderbolt: Add downstream PCIe port mappings for Alpine and Titan Ridge Mika Westerberg
2019-10-01 12:40 ` Greg Kroah-Hartman
2019-10-01 13:27 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 09/22] thunderbolt: Convert basic adapter register names to follow the USB4 spec Mika Westerberg
2019-10-01 12:41 ` Greg Kroah-Hartman
2019-10-01 13:28 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 10/22] thunderbolt: Convert PCIe adapter register names to use USB4 names Mika Westerberg
2019-10-01 12:42 ` Greg Kroah-Hartman
2019-10-01 11:38 ` [RFC PATCH 11/22] thunderbolt: Convert DP adapter register names to follow the USB4 spec Mika Westerberg
2019-10-01 12:42 ` Greg Kroah-Hartman
2019-10-01 11:38 ` [RFC PATCH 12/22] thunderbolt: Add Display Port CM handshake for Titan Ridge devices Mika Westerberg
2019-10-01 12:44 ` Greg Kroah-Hartman
2019-10-01 13:30 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 13/22] thunderbolt: Add Display Port adapter pairing and resource management Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 14/22] thunderbolt: Add bandwidth management for Display Port tunnels Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 15/22] thunderbolt: Make tb_find_port() available to other files Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 16/22] thunderbolt: Call tb_eeprom_get_drom_offset() from tb_eeprom_read_n() Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 17/22] thunderbolt: Add initial support for USB4 Mika Westerberg
2019-10-01 12:47 ` Greg Kroah-Hartman
2019-10-01 13:09 ` Mika Westerberg
2019-10-01 14:53 ` Greg Kroah-Hartman
2019-10-01 14:59 ` Mario.Limonciello
2019-10-01 15:13 ` Mika Westerberg
2019-10-01 15:22 ` Greg KH
2019-10-01 15:32 ` Mika Westerberg
2019-10-01 15:07 ` Mika Westerberg
2019-10-01 15:19 ` Greg Kroah-Hartman
2019-10-01 15:26 ` Mika Westerberg
2019-10-01 16:27 ` Oliver Neukum
2019-10-02 8:30 ` Mika Westerberg
2019-10-02 8:39 ` Greg Kroah-Hartman
2019-10-02 8:49 ` Mika Westerberg
2019-10-01 17:05 ` Mario.Limonciello
2019-10-01 18:14 ` Mario.Limonciello
2019-10-02 8:39 ` Mika Westerberg
2019-10-02 15:09 ` Mario.Limonciello
2019-10-02 15:36 ` Yehezkel Bernat
2019-10-02 16:00 ` Mario.Limonciello
2019-10-03 8:00 ` Mika Westerberg
2019-10-03 14:41 ` Mario.Limonciello
2019-10-04 7:54 ` Mika Westerberg
2019-10-04 8:07 ` Yehezkel Bernat
2019-10-04 8:19 ` Mika Westerberg
2019-10-04 11:19 ` Yehezkel Bernat
2019-10-04 14:05 ` Mario.Limonciello
2019-10-04 14:19 ` Mario.Limonciello
2019-10-04 14:21 ` Mika Westerberg
[not found] ` <1570201357.2.0@kellner.me>
2019-10-04 15:16 ` Mika Westerberg
2019-10-04 15:22 ` Christian Kellner
2019-10-02 8:34 ` Mika Westerberg
2019-10-02 15:04 ` Mario.Limonciello
2019-10-01 11:38 ` [RFC PATCH 18/22] thunderbolt: Make tb_switch_find_cap() available to other files Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 19/22] thunderbolt: Add support for Time Management Unit Mika Westerberg
2019-10-02 16:52 ` Mani, Rajmohan
2019-10-03 8:01 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 20/22] thunderbolt: Add support for USB tunnels Mika Westerberg
2019-10-03 8:42 ` Oliver Neukum
2019-10-03 8:52 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 21/22] thunderbolt: Update documentation with the USB4 information Mika Westerberg
2019-10-01 14:17 ` Mario.Limonciello
2019-10-01 14:21 ` Mika Westerberg
2019-10-01 11:38 ` [RFC PATCH 22/22] thunderbolt: Do not start firmware unless asked by the user Mika Westerberg
2019-10-01 14:43 ` Mario.Limonciello
2019-10-01 14:58 ` Mika Westerberg [this message]
2019-10-01 16:53 ` Mario.Limonciello
2019-10-02 8:48 ` Mika Westerberg
2019-10-01 12:49 ` [RFC PATCH 00/22] thunderbolt: Add support for USB4 Greg Kroah-Hartman
2019-10-01 13: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=20191001145850.GZ2714@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=Mario.Limonciello@dell.com \
--cc=YehezkelShB@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=anthony.wong@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=michael.jamet@intel.com \
--cc=nicholas.johnson-opensource@outlook.com.au \
--cc=rajmohan.mani@intel.com \
--cc=stern@rowland.harvard.edu \
/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;
as well as URLs for NNTP newsgroup(s).