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

Commit 250df4b7 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 572a8758 on remote branch

Change-Id: I4656c14dea9e00d4e81298b071f8f705557f49b7
parents f2a88eaf 572a8758
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -566,6 +566,27 @@ static inline void cdp_pkt_log_con_service(ol_txrx_soc_handle soc,
	return;
}

/**
 * cdp_pkt_log_exit() - API to cleanup packet log info
 * @soc: data path soc handle
 * @pdev_id: id of data path pdev handle
 *
 * Return: void
 */
static inline void cdp_pkt_log_exit(ol_txrx_soc_handle soc, uint8_t pdev_id)
{
	if (!soc || !soc->ops || !soc->ops->misc_ops) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
			"%s invalid instance", __func__);
		return;
	}

	if (soc->ops->misc_ops->pkt_log_exit)
		return soc->ops->misc_ops->pkt_log_exit(soc, pdev_id);

	return;
}

/**
 * cdp_get_num_rx_contexts() - API to get the number of RX contexts
 * @soc: soc handle
+1 −0
Original line number Diff line number Diff line
@@ -1265,6 +1265,7 @@ struct cdp_misc_ops {
			     void *scn);
	void (*pkt_log_con_service)(struct cdp_soc_t *soc_hdl,
				    uint8_t pdev_id, void *scn);
	void (*pkt_log_exit)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id);
	int (*get_num_rx_contexts)(struct cdp_soc_t *soc_hdl);
	void (*register_pktdump_cb)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
				    ol_txrx_pktdump_cb tx_cb,
+27 −0
Original line number Diff line number Diff line
@@ -543,6 +543,28 @@ static void dp_pktlogmod_exit(struct dp_pdev *pdev)
	pktlogmod_exit(scn);
	pdev->pkt_log_init = false;
}

/**
 * dp_pkt_log_exit() - Wrapper API to cleanup pktlog info
 * @soc_hdl: Datapath soc handle
 * @pdev_id: id of data path pdev handle
 *
 * Return: none
 */
static void dp_pkt_log_exit(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
{
	struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
	struct dp_pdev *pdev =
		dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);

	if (!pdev) {
		dp_err("pdev handle is NULL");
		return;
	}

	dp_pktlogmod_exit(pdev);
}

#else
static void dp_pkt_log_con_service(struct cdp_soc_t *soc_hdl,
				   uint8_t pdev_id, void *scn)
@@ -550,6 +572,10 @@ static void dp_pkt_log_con_service(struct cdp_soc_t *soc_hdl,
}

static void dp_pktlogmod_exit(struct dp_pdev *handle) { }

static void dp_pkt_log_exit(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
{
}
#endif
/**
 * dp_get_num_rx_contexts() - get number of RX contexts
@@ -11945,6 +11971,7 @@ static struct cdp_misc_ops dp_ops_misc = {
#endif /* FEATURE_RUNTIME_PM */
	.pkt_log_init = dp_pkt_log_init,
	.pkt_log_con_service = dp_pkt_log_con_service,
	.pkt_log_exit = dp_pkt_log_exit,
	.get_num_rx_contexts = dp_get_num_rx_contexts,
	.get_tx_ack_stats = dp_tx_get_success_ack_stats,
#ifdef WLAN_SUPPORT_DATA_STALL
+54 −0
Original line number Diff line number Diff line
@@ -5344,6 +5344,14 @@ enum qca_wlan_vendor_attr_thermal_cmd {
	 * there is any critical ongoing operation.
	 */
	QCA_WLAN_VENDOR_ATTR_THERMAL_COMPLETION_WINDOW = 3,
	/* Nested attribute, driver/firmware uses this attribute to report
	 * thermal stats of different thermal levels to userspace when requested
	 * using QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS command
	 * type. This attribute contains nested array of records of thermal
	 * statistics of multiple levels. The attributes used inside this nested
	 * attribute are defined in enum qca_wlan_vendor_attr_thermal_stats.
	 */
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS = 4,
	/* keep last */
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_AFTER_LAST,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_MAX =
@@ -5368,6 +5376,16 @@ enum qca_wlan_vendor_attr_thermal_cmd {
 * resume action.
 * @QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_SET_LEVEL: Configure thermal level to
 * the driver/firmware.
 * @QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_LEVEL: Request to get the current
 * thermal level from the driver/firmware. The driver should respond with a
 * thermal level defined in enum qca_wlan_vendor_thermal_level.
 * @QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS: Request to get the
 * current thermal stats from the driver/firmware. The driver should respond
 * with stats of all thermal levels encapsulated in attribute
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS.
 * @QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_CLEAR_THERMAL_STATS: Request to clear
 * the current thermal stats all thermal levels maintained in the
 * driver/firmware and start counting from zero again.
 */
enum qca_wlan_vendor_attr_thermal_cmd_type {
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_PARAMS,
@@ -5375,6 +5393,9 @@ enum qca_wlan_vendor_attr_thermal_cmd_type {
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_SUSPEND,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_RESUME,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_SET_LEVEL,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_LEVEL,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS,
	QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_CLEAR_THERMAL_STATS,
};

/**
@@ -7676,6 +7697,35 @@ enum qca_wlan_vendor_attr_mac_info {

};

/**
 * enum qca_wlan_vendor_attr_thermal_stats - vendor subcmd attributes
 * to get thermal status from driver/firmware.
 * enum values are used for NL attributes encapsulated inside
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS nested attribute.
 *
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MIN_TEMPERATURE: Minimum temperature
 * of a thermal level in Celsius. u32 size.
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MAX_TEMPERATURE: Maximum temperature
 * of a thermal level in Celsius. u32 size.
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_DWELL_TIME: The total time spent on each
 * thermal level in milliseconds. u32 size.
 * QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_TEMP_LEVEL_COUNTER: Indicates the number
 * of times the temperature crossed into the temperature range defined by the
 * thermal level from both higher and lower directions. u32 size.
 */
enum qca_wlan_vendor_attr_thermal_stats {
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_INVALID = 0,
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MIN_TEMPERATURE,
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MAX_TEMPERATURE,
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_DWELL_TIME,
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_TEMP_LEVEL_COUNTER,

	/* keep last */
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_AFTER_LAST,
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MAX =
	QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_AFTER_LAST - 1,
};

/**
 * enum he_fragmentation_val - HE fragmentation support values
 * Indicates level of dynamic fragmentation that is supported by
@@ -8748,6 +8798,9 @@ enum qca_wlan_vendor_attr_twt_setup {
 * setup request due to channel switch in progress.
 * @QCA_WLAN_VENDOR_TWT_STATUS_SCAN_IN_PROGRESS: FW rejected the TWT setup
 * request due to scan in progress.
 * QCA_WLAN_VENDOR_TWT_STATUS_POWER_SAVE_EXIT_TERMINATE: The driver requested to
 * terminate an existing TWT session on power save exit request from userspace.
 * Used on the TWT_TERMINATE notification from the driver/firmware.
 */
enum qca_wlan_vendor_twt_status {
	QCA_WLAN_VENDOR_TWT_STATUS_OK = 0,
@@ -8772,6 +8825,7 @@ enum qca_wlan_vendor_twt_status {
	QCA_WLAN_VENDOR_TWT_STATUS_ROAMING_IN_PROGRESS = 19,
	QCA_WLAN_VENDOR_TWT_STATUS_CHANNEL_SWITCH_IN_PROGRESS = 20,
	QCA_WLAN_VENDOR_TWT_STATUS_SCAN_IN_PROGRESS = 21,
	QCA_WLAN_VENDOR_TWT_STATUS_POWER_SAVE_EXIT_TERMINATE = 22,
};

/**
+2 −0
Original line number Diff line number Diff line
@@ -2003,6 +2003,8 @@ int qdf_mem_multi_page_link(qdf_device_t osdev,
		c_elem = (void **)page_info;
		for (i_int = 0; i_int < pages->num_element_per_page; i_int++) {
			if (i_int == (pages->num_element_per_page - 1)) {
				if ((i + 1) == pages->num_pages)
					break;
				if (cacheable)
					*c_elem = pages->
						cacheable_pages[i + 1];
Loading