diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath10k/htt.c | 61 | 
1 files changed, 10 insertions, 51 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt.c b/drivers/net/wireless/ath/ath10k/htt.c index 39342c5cfcb..19c12cc8d66 100644 --- a/drivers/net/wireless/ath/ath10k/htt.c +++ b/drivers/net/wireless/ath/ath10k/htt.c @@ -22,7 +22,7 @@  #include "core.h"  #include "debug.h" -static int ath10k_htt_htc_attach(struct ath10k_htt *htt) +int ath10k_htt_connect(struct ath10k_htt *htt)  {  	struct ath10k_htc_svc_conn_req conn_req;  	struct ath10k_htc_svc_conn_resp conn_resp; @@ -48,39 +48,14 @@ static int ath10k_htt_htc_attach(struct ath10k_htt *htt)  	return 0;  } -int ath10k_htt_attach(struct ath10k *ar) +int ath10k_htt_init(struct ath10k *ar)  {  	struct ath10k_htt *htt = &ar->htt; -	int ret;  	htt->ar = ar;  	htt->max_throughput_mbps = 800;  	/* -	 * Connect to HTC service. -	 * This has to be done before calling ath10k_htt_rx_attach, -	 * since ath10k_htt_rx_attach involves sending a rx ring configure -	 * message to the target. -	 */ -	ret = ath10k_htt_htc_attach(htt); -	if (ret) { -		ath10k_err("could not attach htt htc (%d)\n", ret); -		goto err_htc_attach; -	} - -	ret = ath10k_htt_tx_attach(htt); -	if (ret) { -		ath10k_err("could not attach htt tx (%d)\n", ret); -		goto err_htc_attach; -	} - -	ret = ath10k_htt_rx_attach(htt); -	if (ret) { -		ath10k_err("could not attach htt rx (%d)\n", ret); -		goto err_rx_attach; -	} - -	/*  	 * Prefetch enough data to satisfy target  	 * classification engine.  	 * This is for LL chips. HL chips will probably @@ -93,36 +68,26 @@ int ath10k_htt_attach(struct ath10k *ar)  		2; /* ip4 dscp or ip6 priority */  	return 0; - -err_rx_attach: -	ath10k_htt_tx_detach(htt); -err_htc_attach: -	return ret;  }  #define HTT_TARGET_VERSION_TIMEOUT_HZ (3*HZ)  static int ath10k_htt_verify_version(struct ath10k_htt *htt)  { -	ath10k_dbg(ATH10K_DBG_HTT, -		   "htt target version %d.%d; host version %d.%d\n", -		    htt->target_version_major, -		    htt->target_version_minor, -		    HTT_CURRENT_VERSION_MAJOR, -		    HTT_CURRENT_VERSION_MINOR); - -	if (htt->target_version_major != HTT_CURRENT_VERSION_MAJOR) { -		ath10k_err("htt major versions are incompatible!\n"); +	ath10k_dbg(ATH10K_DBG_BOOT, "htt target version %d.%d\n", +		   htt->target_version_major, htt->target_version_minor); + +	if (htt->target_version_major != 2 && +	    htt->target_version_major != 3) { +		ath10k_err("unsupported htt major version %d. supported versions are 2 and 3\n", +			   htt->target_version_major);  		return -ENOTSUPP;  	} -	if (htt->target_version_minor != HTT_CURRENT_VERSION_MINOR) -		ath10k_warn("htt minor version differ but still compatible\n"); -  	return 0;  } -int ath10k_htt_attach_target(struct ath10k_htt *htt) +int ath10k_htt_setup(struct ath10k_htt *htt)  {  	int status; @@ -145,9 +110,3 @@ int ath10k_htt_attach_target(struct ath10k_htt *htt)  	return ath10k_htt_send_rx_ring_cfg_ll(htt);  } - -void ath10k_htt_detach(struct ath10k_htt *htt) -{ -	ath10k_htt_rx_detach(htt); -	ath10k_htt_tx_detach(htt); -}  | 
