diff mbox series

[1/1] thunderbolt: Add support for Intel Alder Lake

Message ID 20210701065938.1022874-2-kai.heng.feng@canonical.com
State New
Headers show
Series Add Thunderbolt support for Intel Alder Lake | expand

Commit Message

Kai-Heng Feng July 1, 2021, 6:59 a.m. UTC
From: Azhar Shaikh <azhar.shaikh@intel.com>

BugLink: https://bugs.launchpad.net/bugs/1934240

Alder Lake has the same integrated Thunderbolt/USB4 controller as
Intel Tiger Lake. By default it is still using firmware based connection
manager so we can use most of the Tiger Lake flows.

Add the Alder Lake PCI IDs to the driver list of supported devices.

Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
Reviewed-by: Yehezkel Bernat <YehezkelShB@gmail.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
(cherry picked from commit 135794868ad83d0327cdd78df469e118f1fe7cc4 linux-next)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 drivers/thunderbolt/icm.c | 2 ++
 drivers/thunderbolt/nhi.c | 4 ++++
 drivers/thunderbolt/nhi.h | 2 ++
 3 files changed, 8 insertions(+)

Comments

Kleber Sacilotto de Souza July 5, 2021, 11:16 a.m. UTC | #1
On 01.07.21 08:59, Kai-Heng Feng wrote:
> From: Azhar Shaikh <azhar.shaikh@intel.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1934240
> 
> Alder Lake has the same integrated Thunderbolt/USB4 controller as
> Intel Tiger Lake. By default it is still using firmware based connection
> manager so we can use most of the Tiger Lake flows.
> 
> Add the Alder Lake PCI IDs to the driver list of supported devices.
> 
> Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
> Reviewed-by: Yehezkel Bernat <YehezkelShB@gmail.com>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> (cherry picked from commit 135794868ad83d0327cdd78df469e118f1fe7cc4 linux-next)
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

Thanks

> ---
>   drivers/thunderbolt/icm.c | 2 ++
>   drivers/thunderbolt/nhi.c | 4 ++++
>   drivers/thunderbolt/nhi.h | 2 ++
>   3 files changed, 8 insertions(+)
> 
> diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
> index 2f30b816705a2..f23a36bf98307 100644
> --- a/drivers/thunderbolt/icm.c
> +++ b/drivers/thunderbolt/icm.c
> @@ -2505,6 +2505,8 @@ struct tb *icm_probe(struct tb_nhi *nhi)
>   	case PCI_DEVICE_ID_INTEL_TGL_NHI1:
>   	case PCI_DEVICE_ID_INTEL_TGL_H_NHI0:
>   	case PCI_DEVICE_ID_INTEL_TGL_H_NHI1:
> +	case PCI_DEVICE_ID_INTEL_ADL_NHI0:
> +	case PCI_DEVICE_ID_INTEL_ADL_NHI1:
>   		icm->is_supported = icm_tgl_is_supported;
>   		icm->driver_ready = icm_icl_driver_ready;
>   		icm->set_uuid = icm_icl_set_uuid;
> diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c
> index a0386d1e3fc93..bfb780601e292 100644
> --- a/drivers/thunderbolt/nhi.c
> +++ b/drivers/thunderbolt/nhi.c
> @@ -1400,6 +1400,10 @@ static struct pci_device_id nhi_ids[] = {
>   	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
>   	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL_H_NHI1),
>   	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
> +	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_NHI0),
> +	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
> +	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_NHI1),
> +	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
>   
>   	/* Any USB4 compliant host */
>   	{ PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_USB4, ~0) },
> diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h
> index 69770beca792e..69083aab2736c 100644
> --- a/drivers/thunderbolt/nhi.h
> +++ b/drivers/thunderbolt/nhi.h
> @@ -72,6 +72,8 @@ extern const struct tb_nhi_ops icl_nhi_ops;
>   #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_BRIDGE	0x15ea
>   #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_NHI		0x15eb
>   #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE	0x15ef
> +#define PCI_DEVICE_ID_INTEL_ADL_NHI0			0x463e
> +#define PCI_DEVICE_ID_INTEL_ADL_NHI1			0x466d
>   #define PCI_DEVICE_ID_INTEL_ICL_NHI1			0x8a0d
>   #define PCI_DEVICE_ID_INTEL_ICL_NHI0			0x8a17
>   #define PCI_DEVICE_ID_INTEL_TGL_NHI0			0x9a1b
>
diff mbox series

Patch

diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
index 2f30b816705a2..f23a36bf98307 100644
--- a/drivers/thunderbolt/icm.c
+++ b/drivers/thunderbolt/icm.c
@@ -2505,6 +2505,8 @@  struct tb *icm_probe(struct tb_nhi *nhi)
 	case PCI_DEVICE_ID_INTEL_TGL_NHI1:
 	case PCI_DEVICE_ID_INTEL_TGL_H_NHI0:
 	case PCI_DEVICE_ID_INTEL_TGL_H_NHI1:
+	case PCI_DEVICE_ID_INTEL_ADL_NHI0:
+	case PCI_DEVICE_ID_INTEL_ADL_NHI1:
 		icm->is_supported = icm_tgl_is_supported;
 		icm->driver_ready = icm_icl_driver_ready;
 		icm->set_uuid = icm_icl_set_uuid;
diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c
index a0386d1e3fc93..bfb780601e292 100644
--- a/drivers/thunderbolt/nhi.c
+++ b/drivers/thunderbolt/nhi.c
@@ -1400,6 +1400,10 @@  static struct pci_device_id nhi_ids[] = {
 	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
 	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL_H_NHI1),
 	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
+	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_NHI0),
+	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
+	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_NHI1),
+	  .driver_data = (kernel_ulong_t)&icl_nhi_ops },
 
 	/* Any USB4 compliant host */
 	{ PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_USB4, ~0) },
diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h
index 69770beca792e..69083aab2736c 100644
--- a/drivers/thunderbolt/nhi.h
+++ b/drivers/thunderbolt/nhi.h
@@ -72,6 +72,8 @@  extern const struct tb_nhi_ops icl_nhi_ops;
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_BRIDGE	0x15ea
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_NHI		0x15eb
 #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_BRIDGE	0x15ef
+#define PCI_DEVICE_ID_INTEL_ADL_NHI0			0x463e
+#define PCI_DEVICE_ID_INTEL_ADL_NHI1			0x466d
 #define PCI_DEVICE_ID_INTEL_ICL_NHI1			0x8a0d
 #define PCI_DEVICE_ID_INTEL_ICL_NHI0			0x8a17
 #define PCI_DEVICE_ID_INTEL_TGL_NHI0			0x9a1b