Commit e053edb6 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: change interface for common rssi compute function



The function wlc_phy_rssi_compute() now uses d11rxhdr struct as
purely input parameter and returns the computed rssi value.

Reviewed-by: default avatarRoland Vossen <rvossen@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d6cf28b3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -806,15 +806,17 @@ brcms_b_recv(struct brcms_hardware *wlc_hw, uint fifo, bool bound)

	/* process each frame */
	while ((p = head) != NULL) {
		struct d11rxhdr *rxh;
		head = head->prev;
		p->prev = NULL;

		wlc_rxhdr = (struct brcms_d11rxhdr *) p->data;
		rxh = (struct d11rxhdr *)p->data;

		/*
		 * compute the RSSI from d11rxhdr and record it in wlc_rxd11hr
		 */
		wlc_phy_rssi_compute(wlc_hw->band->pi, wlc_rxhdr);
		wlc_rxhdr->rssi = wlc_phy_rssi_compute(wlc_hw->band->pi, rxh);

		brcms_c_recv(wlc_hw->wlc, p);
	}
+3 −4
Original line number Diff line number Diff line
@@ -2610,10 +2610,9 @@ void wlc_phy_compute_dB(u32 *cmplx_pwr, s8 *p_cmplx_pwr_dB, u8 core)
	}
}

void wlc_phy_rssi_compute(struct brcms_phy_pub *pih,
			  struct brcms_d11rxhdr *wlc_rxhdr)
int wlc_phy_rssi_compute(struct brcms_phy_pub *pih,
			 struct d11rxhdr *rxh)
{
	struct d11rxhdr *rxh = &wlc_rxhdr->rxhdr;
	int rssi = le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_JSSI_MASK;
	uint radioid = pih->radioid;
	struct brcms_phy *pi = (struct brcms_phy *) pih;
@@ -2650,7 +2649,7 @@ void wlc_phy_rssi_compute(struct brcms_phy_pub *pih,
	}

end:
	wlc_rxhdr->rssi = (s8) rssi;
	return rssi;
}

void wlc_phy_freqtrack_start(struct brcms_phy_pub *pih)
+2 −2
Original line number Diff line number Diff line
@@ -212,8 +212,8 @@ extern void wlc_phy_chanspec_radio_set(struct brcms_phy_pub *ppi,
extern u16 wlc_phy_bw_state_get(struct brcms_phy_pub *ppi);
extern void wlc_phy_bw_state_set(struct brcms_phy_pub *ppi, u16 bw);

extern void wlc_phy_rssi_compute(struct brcms_phy_pub *pih,
				 struct brcms_d11rxhdr *wlc_rxhdr);
extern int wlc_phy_rssi_compute(struct brcms_phy_pub *pih,
				struct d11rxhdr *rxh);
extern void wlc_phy_por_inform(struct brcms_phy_pub *ppi);
extern void wlc_phy_noise_sample_intr(struct brcms_phy_pub *ppi);
extern bool wlc_phy_bist_check_phy(struct brcms_phy_pub *ppi);