From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Andreas Noever <andreas.noever@gmail.com>,
Michael Jamet <michael.jamet@intel.com>,
Yehezkel Bernat <YehezkelShB@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>, Lukas Wunner <lukas@wunner.de>,
Mario.Limonciello@dell.com,
Anthony Wong <anthony.wong@canonical.com>,
Rajmohan Mani <rajmohan.mani@intel.com>,
Raanan Avargil <raanan.avargil@intel.com>,
David Laight <David.Laight@ACULAB.COM>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
linux-acpi@vger.kernel.org
Subject: [PATCH v2 0/8] thunderbolt: Intel Ice Lake support
Date: Mon, 12 Aug 2019 15:38:39 +0300 [thread overview]
Message-ID: <20190812123847.50802-1-mika.westerberg@linux.intel.com> (raw)
Hi all,
This is second version of the patch series adding support for the Intel Ice
Lake integrated Thunderbolt controller. The biggest difference from the
previous discrete controllers is that the Ice Lake Thunderbolt controller
is now integrated as part of the SoC. The firmware messages pretty much
follow Titan Ridge but there are some differences as well (such as the new
RTD3 veto notification). Also Ice Lake does not implement security levels
so DMA protection is handled by IOMMU.
The previous version of the series can be found here:
https://lwn.net/Articles/793066/
Changes from the previous version:
* Check !x86_apple_machine for Titan Ridge also.
* Drop ioread32() when updating prod/cons because hardware ignores writes
to the read-only parts of the register this allows us to save one read.
* Remove Light Ridge specific handling in eeprom.c as it is not necessary
after patch 4/8.
* Moved RTD3 veto handling into separate functions to avoid code
duplication.
* Reworked struct nhi_ops so that it provides hooks such as
runtime_suspend and so on. The NHI implementation then can use those
hooks to implement whatever additional logic is needed. This should
allow us to move those bits into a separate files in future if needed.
I also looked whether we could replace
quirk_apple_poweroff_thunderbolt() using struct nhi_ops as well but it
turns out to be unsuitable. The reason is that the ACPI magic sequence
needs to be done after PCI core has moved the device into D3. The NHI
driver does not have easy means to do so.
* Clarified comment in icl_nhi_suspend()
* Added clarification comment to icl_nhi_force_power()
* Use "Thunderbolt" instead of "TBT" in new GUID entries
* Added reviewed tag from Yehezkel
Mika Westerberg (8):
thunderbolt: Correct path indices for PCIe tunnel
thunderbolt: Move NVM upgrade support flag to struct icm
thunderbolt: Use 32-bit writes when writing ring producer/consumer
thunderbolt: Do not fail adding switch if some port is not implemented
thunderbolt: Hide switch attributes that are not set
thunderbolt: Expose active parts of NVM even if upgrade is not supported
thunderbolt: Add support for Intel Ice Lake
ACPI / property: Add two new Thunderbolt property GUIDs to the list
drivers/acpi/property.c | 6 +
drivers/thunderbolt/ctl.c | 23 ++-
drivers/thunderbolt/eeprom.c | 4 -
drivers/thunderbolt/icm.c | 176 ++++++++++++++++--
drivers/thunderbolt/nhi.c | 326 +++++++++++++++++++++++++++++++--
drivers/thunderbolt/nhi.h | 2 +
drivers/thunderbolt/nhi_regs.h | 25 +++
drivers/thunderbolt/switch.c | 52 ++++--
drivers/thunderbolt/tb_msgs.h | 16 +-
drivers/thunderbolt/tunnel.c | 4 +-
include/linux/thunderbolt.h | 2 +
11 files changed, 584 insertions(+), 52 deletions(-)
--
2.20.1
next reply other threads:[~2019-08-12 12:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-12 12:38 Mika Westerberg [this message]
2019-08-12 12:38 ` [PATCH v2 1/8] thunderbolt: Correct path indices for PCIe tunnel Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 2/8] thunderbolt: Move NVM upgrade support flag to struct icm Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 3/8] thunderbolt: Use 32-bit writes when writing ring producer/consumer Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 4/8] thunderbolt: Do not fail adding switch if some port is not implemented Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 5/8] thunderbolt: Hide switch attributes that are not set Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 6/8] thunderbolt: Expose active parts of NVM even if upgrade is not supported Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 7/8] thunderbolt: Add support for Intel Ice Lake Mika Westerberg
2019-08-13 16:10 ` Lukas Wunner
2019-08-13 16:49 ` Mika Westerberg
2019-08-13 17:01 ` Mika Westerberg
2019-08-12 12:38 ` [PATCH v2 8/8] ACPI / property: Add two new Thunderbolt property GUIDs to the list Mika Westerberg
2019-08-12 21:34 ` Rafael J. Wysocki
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=20190812123847.50802-1-mika.westerberg@linux.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=David.Laight@ACULAB.COM \
--cc=Mario.Limonciello@dell.com \
--cc=YehezkelShB@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=anthony.wong@canonical.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=michael.jamet@intel.com \
--cc=raanan.avargil@intel.com \
--cc=rajmohan.mani@intel.com \
--cc=rjw@rjwysocki.net \
/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