FAILED: patch "[PATCH] iwlwifi: fix PCI IDs and configuration mapping for 9000" failed to apply to 4.14-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
dbc89253a7e15f8f031fb1eeb956de91204655e3Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Wed, 15 Nov 2017 18:28:04 +0200
Subject: [PATCH] iwlwifi: fix PCI IDs and configuration mapping for 9000
series
A lot of PCI IDs were missing and there were some problems with the configuration and firmware selection for devices on the 9000 series. Fix the firmware selection by adding files for the B-steps; add configuration for some integrated devices; and add a bunch of PCI IDs (mostly for integrated devices) that were missing from the driver's list.
Without this patch, a lot of devices will not be recognized or will try to load the wrong firmware file.
drivers/net/wireless/intel/iwlwifi/cfg/9000.c +62 -5
@@ -72,12 +72,15 @@#define IWL9000_SMEM_OFFSET 0x400000#define IWL9000_SMEM_LEN 0x68000 -#define IWL9000_FW_PRE "iwlwifi-9000-pu-a0-jf-a0-" +#define IWL9000A_FW_PRE "iwlwifi-9000-pu-a0-jf-a0-" +#define IWL9000B_FW_PRE "iwlwifi-9000-pu-b0-jf-b0-"#define IWL9000RFB_FW_PRE "iwlwifi-9000-pu-a0-jf-b0-"#define IWL9260A_FW_PRE "iwlwifi-9260-th-a0-jf-a0-"#define IWL9260B_FW_PRE "iwlwifi-9260-th-b0-jf-b0-" -#define IWL9000_MODULE_FIRMWARE (api) \ - IWL9000_FW_PRE "-" __stringify(api) ".ucode" +#define IWL9000A_MODULE_FIRMWARE (api) \ + IWL9000A_FW_PRE __stringify(api) ".ucode" +#define IWL9000B_MODULE_FIRMWARE (api) \ + IWL9000B_FW_PRE __stringify(api) ".ucode"#define IWL9000RFB_MODULE_FIRMWARE (api) \ IWL9000RFB_FW_PRE "-" __stringify(api) ".ucode"#define IWL9260A_MODULE_FIRMWARE (api) \
@@ -194,7 +197,48 @@ const struct iwl_cfg iwl9460_2ac_cfg = { .nvm_ver = IWL9000_NVM_VERSION, .nvm_calib_ver = IWL9000_TX_POWER_VERSION, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, +}; + +const struct iwl_cfg iwl9460_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9460" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , .integrated = true, + .soc_latency =5000 , +}; + +const struct iwl_cfg iwl9461_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9461" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , +}; + +const struct iwl_cfg iwl9462_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9462" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , };const struct iwl_cfg iwl9560_2ac_cfg = {
@@ -206,10 +250,23 @@ const struct iwl_cfg iwl9560_2ac_cfg = { .nvm_ver = IWL9000_NVM_VERSION, .nvm_calib_ver = IWL9000_TX_POWER_VERSION, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, - .integrated = true, }; -MODULE_FIRMWARE (IWL9000_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX )); +const struct iwl_cfg iwl9560_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9560" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , +}; +MODULE_FIRMWARE (IWL9000A_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX )); +MODULE_FIRMWARE (IWL9000B_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9000RFB_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9260A_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9260B_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));
drivers/net/wireless/intel/iwlwifi/iwl-config.h +5 -0
@@ -366,6 +366,7 @@ struct iwl_cfg {u32 dccm2_len;u32 smem_offset;u32 smem_len; +u32 soc_latency;u16 nvm_ver;u16 nvm_calib_ver; u16 rx_with_siso_diversity:1,
@@ -472,6 +473,10 @@ extern const struct iwl_cfg iwl9260_2ac_cfg;extern const struct iwl_cfg iwl9270_2ac_cfg;extern const struct iwl_cfg iwl9460_2ac_cfg;extern const struct iwl_cfg iwl9560_2ac_cfg; +extern const struct iwl_cfg iwl9460_2ac_cfg_soc; +extern const struct iwl_cfg iwl9461_2ac_cfg_soc; +extern const struct iwl_cfg iwl9462_2ac_cfg_soc; +extern const struct iwl_cfg iwl9560_2ac_cfg_soc;extern const struct iwl_cfg iwla000_2ac_cfg_hr;extern const struct iwl_cfg iwla000_2ac_cfg_hr_cdb;extern const struct iwl_cfg iwla000_2ac_cfg_jf;
drivers/net/wireless/intel/iwlwifi/pcie/drv.c +103 -29
150 lines not on this page · raw message
Den 27.11.2017 kl. 17:21, skrev [email protected]:
Quoted 9 lines
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
In order to get this one to apply nicely I added theese patches to Mageia distrib kernel that adds/sorts hw ids to 4.14 branch in the below order:
From f7f5873bbd45a67d3097dfb55237ade2ad520184 Mon Sep 17 00:00:00 2001
From: Oren Givon <[email protected]>
Date: Mon, 28 Aug 2017 10:33:38 +0300
Subject: [PATCH] iwlwifi: fix wrong struct for a000 device
From d048b36b9654c4e0cf0d3576be2d1ed2a3084c6f Mon Sep 17 00:00:00 2001
From: Oren Givon <[email protected]>
Date: Thu, 31 Aug 2017 13:15:09 +0300
Subject: [PATCH] iwlwifi: add a new a000 device
From 1105a337375258515ed09b92a83fd7bfd6775958 Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Thu, 12 Oct 2017 11:20:50 +0300
Subject: [PATCH] iwlwifi: pcie: sort IDs for the 9000 series for easier
comparisons
From 57b36f7fcb39c5eae8c1f463699f747af69643ba Mon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:04:24 +0300
Subject: [PATCH] iwlwifi: add new cards for a000 series
From 7cddbef445631109bd530ce7cdacaa04ff0a62d1 Mon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:38:12 +0300
Subject: [PATCH] iwlwifi: add new cards for 8265 series
From d669fc2d42a43ee0abcf2396df6e9c5a124aa984 Mon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:36:43 +0300
Subject: [PATCH] iwlwifi: add new cards for 8260 series
From f10f33f67333bf6c6fcf41f7df83faa7bf3bac67 Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Wed, 15 Nov 2017 18:28:04 +0200
Subject: iwlwifi: fix PCI IDs and configuration mapping for 9000 series
And this one is needed to avoid firmware crash with api 34 firmwares:
From dac4df1c5f2c34903f61b1bc4fc722e31b4199e7 Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Fri, 10 Nov 2017 14:03:36 +0200
Subject: iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command
--
Thomas
PATCH 1/1 iwlwifi: fix PCI IDs and configuration mapping for 9000 series
In reply to [email protected]From: Luca Coelho <[email protected]>
commit dbc89253a7e15f8f031fb1eeb956de91204655e3 upstream.
A lot of PCI IDs were missing and there were some problems with the configuration and firmware selection for devices on the 9000 series. Fix the firmware selection by adding files for the B-steps; add configuration for some integrated devices; and add a bunch of PCI IDs (mostly for integrated devices) that were missing from the driver's list.
Without this patch, a lot of devices will not be recognized or will try to load the wrong firmware file.
--- drivers/net/wireless/intel/iwlwifi/cfg/9000.c | 67 +++++++++- drivers/net/wireless/intel/iwlwifi/iwl-config.h | 5 + drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 170 +++++++++++++++++------- 3 files changed, 189 insertions(+), 53 deletions(-)
drivers/net/wireless/intel/iwlwifi/cfg/9000.c +62 -5
@@ -72,12 +72,15 @@#define IWL9000_SMEM_OFFSET 0x400000#define IWL9000_SMEM_LEN 0x68000 -#define IWL9000_FW_PRE "iwlwifi-9000-pu-a0-jf-a0-" +#define IWL9000A_FW_PRE "iwlwifi-9000-pu-a0-jf-a0-" +#define IWL9000B_FW_PRE "iwlwifi-9000-pu-b0-jf-b0-"#define IWL9000RFB_FW_PRE "iwlwifi-9000-pu-a0-jf-b0-"#define IWL9260A_FW_PRE "iwlwifi-9260-th-a0-jf-a0-"#define IWL9260B_FW_PRE "iwlwifi-9260-th-b0-jf-b0-" -#define IWL9000_MODULE_FIRMWARE (api) \ - IWL9000_FW_PRE "-" __stringify(api) ".ucode" +#define IWL9000A_MODULE_FIRMWARE (api) \ + IWL9000A_FW_PRE __stringify(api) ".ucode" +#define IWL9000B_MODULE_FIRMWARE (api) \ + IWL9000B_FW_PRE __stringify(api) ".ucode"#define IWL9000RFB_MODULE_FIRMWARE (api) \ IWL9000RFB_FW_PRE "-" __stringify(api) ".ucode"#define IWL9260A_MODULE_FIRMWARE (api) \
@@ -193,7 +196,48 @@ const struct iwl_cfg iwl9460_2ac_cfg = { .nvm_ver = IWL9000_NVM_VERSION, .nvm_calib_ver = IWL9000_TX_POWER_VERSION, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, +}; + +const struct iwl_cfg iwl9460_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9460" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , .integrated = true, + .soc_latency =5000 , +}; + +const struct iwl_cfg iwl9461_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9461" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , +}; + +const struct iwl_cfg iwl9462_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9462" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , };const struct iwl_cfg iwl9560_2ac_cfg = {
@@ -205,10 +249,23 @@ const struct iwl_cfg iwl9560_2ac_cfg = { .nvm_ver = IWL9000_NVM_VERSION, .nvm_calib_ver = IWL9000_TX_POWER_VERSION, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, - .integrated = true, }; -MODULE_FIRMWARE (IWL9000_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX )); +const struct iwl_cfg iwl9560_2ac_cfg_soc = { + .name ="Intel(R) Dual Band Wireless AC 9560" , + .fw_name_pre =IWL9000A_FW_PRE , + .fw_name_pre_b_or_c_step =IWL9000B_FW_PRE , + .fw_name_pre_rf_next_step =IWL9000RFB_FW_PRE , +IWL_DEVICE_9000 , + .ht_params = &iwl9000_ht_params, + .nvm_ver =IWL9000_NVM_VERSION , + .nvm_calib_ver =IWL9000_TX_POWER_VERSION , + .max_ht_ampdu_exponent =IEEE80211_HT_MAX_AMPDU_64K , + .integrated = true, + .soc_latency =5000 , +}; +MODULE_FIRMWARE (IWL9000A_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX )); +MODULE_FIRMWARE (IWL9000B_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9000RFB_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9260A_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));MODULE_FIRMWARE (IWL9260B_MODULE_FIRMWARE (IWL9000_UCODE_API_MAX ));
drivers/net/wireless/intel/iwlwifi/iwl-config.h +5 -0
@@ -364,6 +364,7 @@ struct iwl_cfg {u32 dccm2_len;u32 smem_offset;u32 smem_len; +u32 soc_latency;u16 nvm_ver;u16 nvm_calib_ver; u16 rx_with_siso_diversity:1,
@@ -471,6 +472,10 @@ extern const struct iwl_cfg iwl9260_2ac_cfg;extern const struct iwl_cfg iwl9270_2ac_cfg;extern const struct iwl_cfg iwl9460_2ac_cfg;extern const struct iwl_cfg iwl9560_2ac_cfg; +extern const struct iwl_cfg iwl9460_2ac_cfg_soc; +extern const struct iwl_cfg iwl9461_2ac_cfg_soc; +extern const struct iwl_cfg iwl9462_2ac_cfg_soc; +extern const struct iwl_cfg iwl9560_2ac_cfg_soc;extern const struct iwl_cfg iwla000_2ac_cfg_hr;extern const struct iwl_cfg iwla000_2ac_cfg_hr_cdb;extern const struct iwl_cfg iwla000_2ac_cfg_jf;
drivers/net/wireless/intel/iwlwifi/pcie/drv.c +122 -48
187 lines not on this page · raw message
Signature · 1 line
2.15.0
Quoted 11 lines · Thomas Backlund
Den 27.11.2017 kl. 17:21, skrev [email protected]:
Quoted 10 lines
The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <[email protected]>.thanks,
Quoted 7 lines
Quoted 1 line
greg k-h
In order to get this one to apply nicely I added theese patches to Mageia distrib kernel that adds/sorts hw ids to 4.14 branch in the below
order:
Oh, I just sent an updated patch for 4.14 with all the PCI IDs that were needed for the 9000 series, including the sorting. I'm not sure what is preferred, if to take a single patch with the needed changes or to cherry-pick all those other patches that for some reason were not marked as stable earlier.
Greg?
--
Cheers,
Luca.
Greg KH
maintainerQuoted 20 lines · Luciano Coelho
Quoted 11 lines · Thomas Backlund
Den 27.11.2017 kl. 17:21, skrev [email protected]:
Quoted 10 lines
The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <[email protected]>.thanks,
Quoted 7 lines
Quoted 1 line
greg k-h
In order to get this one to apply nicely I added theese patches to Mageia distrib kernel that adds/sorts hw ids to 4.14 branch in the below
order:
Quoted 7 lines
Oh, I just sent an updated patch for 4.14 with all the PCI IDs that were needed for the 9000 series, including the sorting. I'm not sure what is preferred, if to take a single patch with the needed changes or to cherry-pick all those other patches that for some reason were not marked as stable earlier.
Greg?
I much prefer to take the original upstream patches, which I've now done.
thanks,
greg k-h
Greg KH
maintainerQuoted 55 lines · Thomas Backlund
Den 27.11.2017 kl. 17:21, skrev [email protected]:
Quoted 9 lines
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
In order to get this one to apply nicely I added theese patches to Mageia distrib kernel that adds/sorts hw ids to 4.14 branch in the below order:
From
f7f5873bbd45a67d3097dfb55237ade2ad520184Mon Sep 17 00:00:00 2001
From: Oren Givon <[email protected]>
Date: Mon, 28 Aug 2017 10:33:38 +0300
Subject: [PATCH] iwlwifi: fix wrong struct for a000 deviceFrom
d048b36b9654c4e0cf0d3576be2d1ed2a3084c6fMon Sep 17 00:00:00 2001
From: Oren Givon <[email protected]>
Date: Thu, 31 Aug 2017 13:15:09 +0300
Subject: [PATCH] iwlwifi: add a new a000 deviceFrom
1105a337375258515ed09b92a83fd7bfd6775958Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Thu, 12 Oct 2017 11:20:50 +0300
Subject: [PATCH] iwlwifi: pcie: sort IDs for the 9000 series for easier
comparisonsFrom
57b36f7fcb39c5eae8c1f463699f747af69643baMon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:04:24 +0300
Subject: [PATCH] iwlwifi: add new cards for a000 seriesFrom
7cddbef445631109bd530ce7cdacaa04ff0a62d1Mon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:38:12 +0300
Subject: [PATCH] iwlwifi: add new cards for 8265 seriesFrom
d669fc2d42a43ee0abcf2396df6e9c5a124aa984Mon Sep 17 00:00:00 2001
From: Ihab Zhaika <[email protected]>
Date: Tue, 24 Oct 2017 17:36:43 +0300
Subject: [PATCH] iwlwifi: add new cards for 8260 seriesFrom
f10f33f67333bf6c6fcf41f7df83faa7bf3bac67Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Wed, 15 Nov 2017 18:28:04 +0200
Subject: iwlwifi: fix PCI IDs and configuration mapping for 9000 series
Quoted 7 lines
And this one is needed to avoid firmware crash with api 34 firmwares:
From
dac4df1c5f2c34903f61b1bc4fc722e31b4199e7Mon Sep 17 00:00:00 2001
From: Luca Coelho <[email protected]>
Date: Fri, 10 Nov 2017 14:03:36 +0200
Subject: iwlwifi: mvm: support version 7 of theSCAN_REQ_UMACFW command
Wonderful, thanks for the list, all now queued up.
greg k-h
Quoted 33 lines · Greg KH
Quoted 32 lines · Luciano Coelho
Quoted 15 lines · Thomas Backlund
Den 27.11.2017 kl. 17:21, skrev [email protected]:
Quoted 9 lines
The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git
commit
id to <[email protected]>.Quoted 3 lines
thanks,
greg k-h
Quoted 6 lines
In order to get this one to apply nicely I added theese patches to
Mageia distrib kernel that adds/sorts hw ids to 4.14 branch in the
below
order:Oh, I just sent an updated patch for 4.14 with all the PCI IDs that were needed for the 9000 series, including the sorting. I'm not sure
what is preferred, if to take a single patch with the needed changes or
to cherry-pick all those other patches that for some reason were not
marked as stable earlier.
Quoted 4 lines
Quoted 1 line
Greg?
I much prefer to take the original upstream patches, which I've now done.
Great, thanks for taking it all. I'll keep this in my for the next time.
So, thanks Thomas, for sending the entire dependency list! :)
--
Cheers,
Luca.