Revert "ath11k: add support for hardware rfkill for QCA6390"
PATCH 1/1 Revert "ath11k: add support for hardware rfkill for QCA6390"
From: Kalle Valo <[email protected]>
This reverts commit ec038c6127fa772d2c5604e329f22371830d5fa6. Tyler reported that on L390 Yoga Thinkpad with QCA6390 the suspend was failing because of this commit.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9
--- drivers/net/wireless/ath/ath11k/core.c | 73 -------------------------- drivers/net/wireless/ath/ath11k/core.h | 4 -- drivers/net/wireless/ath/ath11k/hw.h | 3 -- drivers/net/wireless/ath/ath11k/mac.c | 58 -------------------- drivers/net/wireless/ath/ath11k/mac.h | 2 - drivers/net/wireless/ath/ath11k/wmi.c | 41 --------------- drivers/net/wireless/ath/ath11k/wmi.h | 25 --------- 7 files changed, 206 deletions(-)
drivers/net/wireless/ath/ath11k/core.c +0 -73
@@ -54,9 +54,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 11, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_ipq8074, .svc_to_ce_map_len = 21, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .single_pdev_only = false, .rxdma1_enable = true, .num_rxmda_per_pdev = 1,
@@ -133,9 +130,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 11, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_ipq6018, .svc_to_ce_map_len = 19, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .single_pdev_only = false, .rxdma1_enable = true, .num_rxmda_per_pdev = 1,
@@ -209,9 +203,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 9, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, .svc_to_ce_map_len = 14, - .rfkill_pin = 48, - .rfkill_cfg = 0, - .rfkill_on_level = 1, .single_pdev_only = true, .rxdma1_enable = false, .num_rxmda_per_pdev = 2,
@@ -284,9 +275,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 9, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qcn9074, .svc_to_ce_map_len = 18, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .rxdma1_enable = true, .num_rxmda_per_pdev = 1, .rx_mac_buf_ring = false,
@@ -359,9 +347,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 9, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, .svc_to_ce_map_len = 14, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .single_pdev_only = true, .rxdma1_enable = false, .num_rxmda_per_pdev = 2,
@@ -434,9 +419,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 9, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, .svc_to_ce_map_len = 14, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .single_pdev_only = true, .rxdma1_enable = false, .num_rxmda_per_pdev = 2,
@@ -508,9 +490,6 @@ static const struct ath11k_hw_params ath11k_hw_params[] = { .target_ce_count = 9, .svc_to_ce_map = ath11k_target_service_to_ce_map_wlan_qca6390, .svc_to_ce_map_len = 14, - .rfkill_pin = 0, - .rfkill_cfg = 0, - .rfkill_on_level = 0, .single_pdev_only = true, .rxdma1_enable = false, .num_rxmda_per_pdev = 1,
@@ -1402,27 +1381,6 @@ static int ath11k_core_start_firmware(struct ath11k_base *ab,return ret; } -static int ath11k_core_rfkill_config (struct ath11k_base *ab) -{ -struct ath11k *ar; -int ret =0 , i; - -if (!(ab->target_caps.sys_cap_info &WMI_SYS_CAP_INFO_RFKILL )) -return 0 ; - -for (i =0 ; i < ab->num_radios; i++) { - ar = ab->pdevs[i].ar; - - ret =ath11k_mac_rfkill_config (ar); -if (ret && ret != -EOPNOTSUPP ) { -ath11k_warn (ab,"failed to configure rfkill: %d" , ret); -return ret; - } - } - -return ret; -} -int ath11k_core_qmi_firmware_ready (struct ath11k_base *ab) {int ret;
@@ -1475,13 +1433,6 @@ int ath11k_core_qmi_firmware_ready(struct ath11k_base *ab) goto err_core_stop; }ath11k_hif_irq_enable (ab); - - ret =ath11k_core_rfkill_config (ab); -if (ret && ret != -EOPNOTSUPP ) { -ath11k_err (ab,"failed to config rfkill: %d\n" , ret); - goto err_core_stop; - } -mutex_unlock (&ab->core_lock);return 0 ;
@@ -1550,7 +1501,6 @@ void ath11k_core_halt(struct ath11k *ar)cancel_delayed_work_sync (&ar->scan.timeout);cancel_work_sync (&ar->regd_update_work);cancel_work_sync (&ab->update_11d_work); -cancel_work_sync (&ab->rfkill_work);rcu_assign_pointer (ab->pdevs_active[ar->pdev_idx],NULL );synchronize_rcu ();
@@ -1558,28 +1508,6 @@ void ath11k_core_halt(struct ath11k *ar)idr_init (&ar->txmgmt_idr); } -static void ath11k_rfkill_work (struct work_struct *work) -{ - struct ath11k_base *ab = container_of(work, struct ath11k_base, rfkill_work); -struct ath11k *ar; -bool rfkill_radio_on; -int i; - -spin_lock_bh (&ab->base_lock); - rfkill_radio_on = ab->rfkill_radio_on; -spin_unlock_bh (&ab->base_lock); - -for (i =0 ; i < ab->num_radios; i++) { - ar = ab->pdevs[i].ar; -if (!ar) -continue ; - -/* notify cfg80211 radio state change */ -ath11k_mac_rfkill_enable_radio (ar, rfkill_radio_on); -wiphy_rfkill_set_hw_state (ar->hw->wiphy, !rfkill_radio_on); - } -} -static void ath11k_update_11d (struct work_struct *work) { struct ath11k_base *ab = container_of(work, struct ath11k_base, update_11d_work);
@@ -1891,7 +1819,6 @@ struct ath11k_base *ath11k_core_alloc(struct device *dev, size_t priv_size,init_waitqueue_head (&ab->qmi.cold_boot_waitq);INIT_WORK (&ab->restart_work, ath11k_core_restart);INIT_WORK (&ab->update_11d_work, ath11k_update_11d); -INIT_WORK (&ab->rfkill_work, ath11k_rfkill_work);INIT_WORK (&ab->reset_work, ath11k_core_reset);timer_setup (&ab->rx_replenish_retry, ath11k_ce_rx_replenish_retry,0 );init_completion (&ab->htc_suspend);
drivers/net/wireless/ath/ath11k/core.h +0 -4
@@ -929,10 +929,6 @@ struct ath11k_base {struct ath11k_dbring_cap *db_caps;u32 num_db_cap; -struct work_struct rfkill_work; - -/* true means radio is on */ -bool rfkill_radio_on;/* To synchronize 11d scan vdev id */ struct mutex vdev_id_11d_lock;
drivers/net/wireless/ath/ath11k/hw.h +0 -3
@@ -153,9 +153,6 @@ struct ath11k_hw_params {u32 svc_to_ce_map_len;bool single_pdev_only; -u32 rfkill_pin; -u32 rfkill_cfg; -u32 rfkill_on_level;bool rxdma1_enable;int num_rxmda_per_pdev;
drivers/net/wireless/ath/ath11k/mac.c +0 -58
70 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/mac.h +0 -2
@@ -148,8 +148,6 @@ u8 ath11k_mac_hw_rate_to_idx(const struct ieee80211_supported_band *sband,void __ath11k_mac_scan_finish (struct ath11k *ar);void ath11k_mac_scan_finish (struct ath11k *ar); -int ath11k_mac_rfkill_enable_radio (struct ath11k *ar,bool enable); -int ath11k_mac_rfkill_config (struct ath11k *ar);struct ath11k_vif *ath11k_mac_get_arvif (struct ath11k *ar,u32 vdev_id); struct ath11k_vif *ath11k_mac_get_arvif_by_vdev_id(struct ath11k_base *ab,
drivers/net/wireless/ath/ath11k/wmi.c +0 -41
65 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/wmi.h +0 -25
@@ -5328,31 +5328,6 @@ struct target_resource_config {u32 twt_ap_sta_count; }; -enum wmi_sys_cap_info_flags { -WMI_SYS_CAP_INFO_RXTX_LED =BIT (0 ), -WMI_SYS_CAP_INFO_RFKILL =BIT (1 ), -}; - -#define WMI_RFKILL_CFG_GPIO_PIN_NUM GENMASK(5, 0) -#define WMI_RFKILL_CFG_RADIO_LEVEL BIT(6) -#define WMI_RFKILL_CFG_PIN_AS_GPIO GENMASK(10, 7) - -enum wmi_rfkill_enable_radio { -WMI_RFKILL_ENABLE_RADIO_ON =0 , -WMI_RFKILL_ENABLE_RADIO_OFF =1 , -}; - -enum wmi_rfkill_radio_state { -WMI_RFKILL_RADIO_STATE_OFF =1 , -WMI_RFKILL_RADIO_STATE_ON =2 , -}; - -struct wmi_rfkill_state_change_ev { -u32 gpio_pin_num; -u32 int_type; -u32 radio_state; -} __packed; -enum wmi_debug_log_param {WMI_DEBUG_LOG_PARAM_LOG_LEVEL =0x1 ,WMI_DEBUG_LOG_PARAM_VDEV_ENABLE ,
base-commit: f6bb3df74ceb88929dd7e09170ec156ac2e5d809
Signature · 1 line
2.30.2
Quoted 7 lines · Kalle Valo
This reverts commit
ec038c6127fa772d2c5604e329f22371830d5fa6. Tyler reported that on L390 Yoga Thinkpad with QCA6390 the suspend was failing because of this commit.Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9
Patch applied to ath-next branch of ath.git, thanks.
169ede1f5948 Revert "ath11k: add support for hardware rfkill for QCA6390"
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches