Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ce96c08 authored by Arend van Spriel's avatar Arend van Spriel Committed by Kalle Valo
Browse files

brcmfmac: use jiffies for timeout in btcoex



The btcoex uses a timeout which was in milliseconds and got
converted to jiffies upon using timer api. Instead, convert
it to jiffies and treat it as such further.

Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Reviewed-by: default avatarFranky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 63ce3d5d
Loading
Loading
Loading
Loading
+5 −7
Original line number Original line Diff line number Diff line
@@ -29,7 +29,7 @@
#include "cfg80211.h"
#include "cfg80211.h"


/* T1 start SCO/eSCO priority suppression */
/* T1 start SCO/eSCO priority suppression */
#define BRCMF_BTCOEX_OPPR_WIN_TIME   2000
#define BRCMF_BTCOEX_OPPR_WIN_TIME   msecs_to_jiffies(2000)


/* BT registers values during DHCP */
/* BT registers values during DHCP */
#define BRCMF_BT_DHCP_REG50 0x8022
#define BRCMF_BT_DHCP_REG50 0x8022
@@ -314,8 +314,7 @@ static void brcmf_btcoex_handler(struct work_struct *work)
		} else {
		} else {
			btci->timeout -= BRCMF_BTCOEX_OPPR_WIN_TIME;
			btci->timeout -= BRCMF_BTCOEX_OPPR_WIN_TIME;
			mod_timer(&btci->timer,
			mod_timer(&btci->timer,
				  jiffies +
				  jiffies + BRCMF_BTCOEX_OPPR_WIN_TIME);
				  msecs_to_jiffies(BRCMF_BTCOEX_OPPR_WIN_TIME));
		}
		}
		btci->timer_on = true;
		btci->timer_on = true;
		break;
		break;
@@ -328,12 +327,11 @@ static void brcmf_btcoex_handler(struct work_struct *work)


		/* DHCP is not over yet, start lowering BT priority */
		/* DHCP is not over yet, start lowering BT priority */
		brcmf_dbg(INFO, "DHCP T1:%d expired\n",
		brcmf_dbg(INFO, "DHCP T1:%d expired\n",
			  BRCMF_BTCOEX_OPPR_WIN_TIME);
			  jiffies_to_msecs(BRCMF_BTCOEX_OPPR_WIN_TIME));
		brcmf_btcoex_boost_wifi(btci, true);
		brcmf_btcoex_boost_wifi(btci, true);


		btci->bt_state = BRCMF_BT_DHCP_FLAG_FORCE_TIMEOUT;
		btci->bt_state = BRCMF_BT_DHCP_FLAG_FORCE_TIMEOUT;
		mod_timer(&btci->timer,
		mod_timer(&btci->timer, jiffies + btci->timeout);
			  jiffies + msecs_to_jiffies(btci->timeout));
		btci->timer_on = true;
		btci->timer_on = true;
		break;
		break;


@@ -477,7 +475,7 @@ int brcmf_btcoex_set_mode(struct brcmf_cfg80211_vif *vif,
			return -EBUSY;
			return -EBUSY;
		/* Start BT timer only for SCO connection */
		/* Start BT timer only for SCO connection */
		if (brcmf_btcoex_is_sco_active(ifp)) {
		if (brcmf_btcoex_is_sco_active(ifp)) {
			btci->timeout = duration;
			btci->timeout = msecs_to_jiffies(duration);
			btci->vif = vif;
			btci->vif = vif;
			brcmf_btcoex_dhcp_start(btci);
			brcmf_btcoex_dhcp_start(btci);
		}
		}