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

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

Merge 4fad07ec on remote branch

Change-Id: I2f8681bb48aa995383804a1607de69779785a8a4
parents 0d241582 4fad07ec
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10773,8 +10773,8 @@ dp_txrx_ext_stats_request(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
	req->rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
	req->rx_mpdu_delivered = soc->ext_stats.rx_mpdu_received;
	req->rx_mpdu_missed = soc->ext_stats.rx_mpdu_missed;
	req->rx_mpdu_error = soc->stats.rx.err_ring_pkts -
				soc->stats.rx.rx_frags;
	/* only count error source from RXDMA */
	req->rx_mpdu_error = pdev->stats.err.rxdma_error;

	return QDF_STATUS_SUCCESS;
}
+8 −1
Original line number Diff line number Diff line
@@ -2867,7 +2867,8 @@ int dp_addba_requestprocess_wifi3(struct cdp_soc_t *cdp_soc,
{
	QDF_STATUS status = QDF_STATUS_SUCCESS;
	struct dp_rx_tid *rx_tid = NULL;
	struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)cdp_soc,
	struct dp_soc *soc = (struct dp_soc *)cdp_soc;
	struct dp_peer *peer = dp_peer_find_hash_find(soc,
						       peer_mac, 0, vdev_id);

	if (!peer || peer->delete_in_progress) {
@@ -2895,6 +2896,12 @@ int dp_addba_requestprocess_wifi3(struct cdp_soc_t *cdp_soc,
		goto fail;
	}

	if (wlan_cfg_is_dp_force_rx_64_ba(soc->wlan_cfg_ctx)) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
			  "force use BA64 scheme");
		buffersize = qdf_min((uint16_t)64, buffersize);
	}

	if (rx_tid->rx_ba_win_size_override == DP_RX_BA_SESSION_DISABLE) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
			  "%s disable BA session",
+64 −17
Original line number Diff line number Diff line
@@ -3389,7 +3389,6 @@ void hif_unconfig_ce(struct hif_softc *hif_sc)
 */
static void hif_post_static_buf_to_target(struct hif_softc *scn)
{
	void *target_va;
	phys_addr_t target_pa;
	struct ce_info *ce_info_ptr;
	uint32_t msi_data_start;
@@ -3398,15 +3397,19 @@ static void hif_post_static_buf_to_target(struct hif_softc *scn)
	uint32_t i = 0;
	int ret;

	target_va = qdf_mem_alloc_consistent(scn->qdf_dev,
	scn->vaddr_qmi_bypass =
			(uint32_t *)qdf_mem_alloc_consistent(scn->qdf_dev,
							     scn->qdf_dev->dev,
					     FW_SHARED_MEM +
					     sizeof(struct ce_info),
							     FW_SHARED_MEM,
							     &target_pa);
	if (!target_va)
	if (!scn->vaddr_qmi_bypass) {
		hif_err("Memory allocation failed could not post target buf");
		return;
	}

	ce_info_ptr = (struct ce_info *)target_va;
	scn->paddr_qmi_bypass = target_pa;

	ce_info_ptr = (struct ce_info *)scn->vaddr_qmi_bypass;

	if (scn->vaddr_rri_on_ddr) {
		ce_info_ptr->rri_over_ddr_low_paddr  =
@@ -3430,7 +3433,26 @@ static void hif_post_static_buf_to_target(struct hif_softc *scn)
	}

	hif_write32_mb(scn, scn->mem + BYPASS_QMI_TEMP_REGISTER, target_pa);
	hif_info("target va %pK target pa %pa", target_va, &target_pa);
	hif_info("target va %pK target pa %pa", scn->vaddr_qmi_bypass,
		 &target_pa);
}

/**
 * hif_cleanup_static_buf_to_target() -  clean up static buffer to WLAN FW
 * @scn: pointer to HIF structure
 *
 *
 * Return: void
 */
void hif_cleanup_static_buf_to_target(struct hif_softc *scn)
{
	void *target_va = scn->vaddr_qmi_bypass;
	phys_addr_t target_pa = scn->paddr_qmi_bypass;

	qdf_mem_free_consistent(scn->qdf_dev, scn->qdf_dev->dev,
				FW_SHARED_MEM, target_va,
				target_pa, 0);
	hif_write32_mb(scn, scn->mem + BYPASS_QMI_TEMP_REGISTER, 0);
}
#else
/**
@@ -3443,17 +3465,38 @@ static void hif_post_static_buf_to_target(struct hif_softc *scn)
 */
static void hif_post_static_buf_to_target(struct hif_softc *scn)
{
	void *target_va;
	phys_addr_t target_pa;
	qdf_dma_addr_t target_pa;

	target_va = qdf_mem_alloc_consistent(scn->qdf_dev, scn->qdf_dev->dev,
				FW_SHARED_MEM, &target_pa);
	if (!target_va) {
		HIF_TRACE("Memory allocation failed could not post target buf");
	scn->vaddr_qmi_bypass =
			(uint32_t *)qdf_mem_alloc_consistent(scn->qdf_dev,
							     scn->qdf_dev->dev,
							     FW_SHARED_MEM,
							     &target_pa);
	if (!scn->vaddr_qmi_bypass) {
		hif_err("Memory allocation failed could not post target buf");
		return;
	}

	scn->paddr_qmi_bypass = target_pa;
	hif_write32_mb(scn, scn->mem + BYPASS_QMI_TEMP_REGISTER, target_pa);
	HIF_TRACE("target va %pK target pa %pa", target_va, &target_pa);
}

/**
 * hif_cleanup_static_buf_to_target() -  clean up static buffer to WLAN FW
 * @scn: pointer to HIF structure
 *
 *
 * Return: void
 */
void hif_cleanup_static_buf_to_target(struct hif_softc *scn)
{
	void *target_va = scn->vaddr_qmi_bypass;
	phys_addr_t target_pa = scn->paddr_qmi_bypass;

	qdf_mem_free_consistent(scn->qdf_dev, scn->qdf_dev->dev,
				FW_SHARED_MEM, target_va,
				target_pa, 0);
	hif_write32_mb(snc, scn->mem + BYPASS_QMI_TEMP_REGISTER, 0);
}
#endif

@@ -3461,6 +3504,10 @@ static void hif_post_static_buf_to_target(struct hif_softc *scn)
static inline void hif_post_static_buf_to_target(struct hif_softc *scn)
{
}

void hif_cleanup_static_buf_to_target(struct hif_softc *scn)
{
}
#endif

static int hif_srng_sleep_state_adjust(struct hif_softc *scn, bool sleep_ok,
+3 −2
Original line number Diff line number Diff line
@@ -384,9 +384,10 @@ void hif_dummy_config_irq_affinity(struct hif_softc *scn)
 * @data: hang event data buffer
 * @offset: offset at which data needs to be written
 *
 * Return: None
 * Return: bool
 */
void hif_dummy_log_bus_info(struct hif_softc *scn, uint8_t *data,
bool hif_dummy_log_bus_info(struct hif_softc *scn, uint8_t *data,
			    unsigned int *offset)
{
	return false;
}
+1 −1
Original line number Diff line number Diff line
@@ -60,5 +60,5 @@ int hif_dummy_bus_reset_resume(struct hif_softc *hif_ctx);
int hif_dummy_map_ce_to_irq(struct hif_softc *scn, int ce_id);
int hif_dummy_addr_in_boundary(struct hif_softc *scn, uint32_t offset);
void hif_dummy_config_irq_affinity(struct hif_softc *scn);
void hif_dummy_log_bus_info(struct hif_softc *scn, uint8_t *data,
bool hif_dummy_log_bus_info(struct hif_softc *scn, uint8_t *data,
			    unsigned int *offset);
Loading