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

Commit a2b01374 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "wcnss: handle CBC complete event from firmware"

parents 2d3171d7 7db9a1a9
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -204,6 +204,7 @@ static DEFINE_SPINLOCK(reg_spinlock);
#define	WCNSS_BUILD_VER_REQ           (WCNSS_CTRL_MSG_START + 9)
#define	WCNSS_BUILD_VER_RSP           (WCNSS_CTRL_MSG_START + 10)
#define	WCNSS_PM_CONFIG_REQ           (WCNSS_CTRL_MSG_START + 11)
#define WCNSS_CBC_COMPLETE_IND		(WCNSS_CTRL_MSG_START + 12)

/* max 20mhz channel count */
#define WCNSS_MAX_CH_NUM			45
@@ -389,6 +390,7 @@ static struct {
	void __iomem *alarms_tactl;
	void __iomem *fiq_reg;
	int	nv_downloaded;
	int	is_cbc_done;
	unsigned char *fw_cal_data;
	unsigned char *user_cal_data;
	int	fw_cal_rcvd;
@@ -1216,6 +1218,7 @@ static void wcnss_smd_notify_event(void *data, unsigned int event)
		pr_debug("wcnss: closing WCNSS SMD channel :%s",
				WCNSS_CTRL_CHANNEL);
		penv->nv_downloaded = 0;
		penv->is_cbc_done = 0;
		break;

	default:
@@ -1480,6 +1483,15 @@ int wcnss_device_ready(void)
}
EXPORT_SYMBOL(wcnss_device_ready);

int wcnss_cbc_complete(void)
{
	if (penv && penv->pdev && penv->is_cbc_done &&
		!wcnss_device_is_shutdown())
		return 1;
	return 0;
}
EXPORT_SYMBOL(wcnss_cbc_complete);

int wcnss_device_is_shutdown(void)
{
	if (penv && penv->is_shutdown)
@@ -2122,6 +2134,10 @@ static void wcnssctrl_rx_handler(struct work_struct *worker)
		pr_debug("wcnss: received WCNSS_CALDATA_DNLD_RSP from ccpu %u\n",
			fw_status);
		break;
	case WCNSS_CBC_COMPLETE_IND:
		penv->is_cbc_done = 1;
		pr_info("wcnss: received WCNSS_CBC_COMPLETE_IND from FW\n");
		break;

	case WCNSS_CALDATA_UPLD_REQ:
		extract_cal_data(len);
+2 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ enum {
#define HAVE_WCNSS_SUSPEND_RESUME_NOTIFY 1
#define HAVE_WCNSS_RESET_INTR 1
#define HAVE_WCNSS_CAL_DOWNLOAD 1
#define HAVE_CBC_DONE 1
#define HAVE_WCNSS_RX_BUFF_COUNT 1
#define WLAN_MAC_ADDR_SIZE (6)
#define WLAN_RF_REG_ADDR_START_OFFSET	0x3
@@ -101,6 +102,7 @@ void wcnss_resume_notify(void);
void wcnss_riva_log_debug_regs(void);
void wcnss_pronto_log_debug_regs(void);
int wcnss_device_ready(void);
int wcnss_cbc_complete(void);
int wcnss_device_is_shutdown(void);
void wcnss_riva_dump_pmic_regs(void);
int wcnss_xo_auto_detect_enabled(void);