qcacld-3.0: Query HIF for FastPath support

Data Path bypasses HTC layer for better throughput's.
Instead of dereferencing HIF structures, query HIF for fastpath
mode support

Change-Id: Iad2ae907e2d5345a71f5b64bd29f81dde4358460
CRs-Fixed: 967765
This commit is contained in:
Komal Seelam 2016-02-02 13:05:57 +05:30 • committed by Prakash Dhavali
commit 7fde14caba
2 changed files with 5 additions and 6 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2015 The Linux Foundation. All rights reserved.
* Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@ -697,7 +697,7 @@ ol_tx_ll_wrapper(ol_txrx_vdev_handle vdev, cdf_nbuf_t msdu_list)
struct ol_softc *hif_device =
(struct ol_softc *)cds_get_context(CDF_MODULE_ID_HIF);
if (cdf_likely(hif_device && hif_device->fastpath_mode_on))
if (cdf_likely(hif_device && hif_is_fastpath_mode_enabled(hif_device)))
msdu_list = ol_tx_ll_fast(vdev, msdu_list);
else
msdu_list = ol_tx_ll(vdev, msdu_list);

View file

@ -291,8 +291,7 @@ setup_fastpath_ce_handles(struct ol_softc *osc, struct ol_txrx_pdev_t *pdev)
* CE handles are (struct CE_state *)
* This is only required in the fast path
*/
pdev->ce_tx_hdl = (struct CE_handle *)
osc->ce_id_to_state[CE_HTT_H2T_MSG];
pdev->ce_tx_hdl = hif_get_ce_handle(osc, CE_HTT_H2T_MSG);
}
@ -3423,7 +3422,7 @@ void ol_register_lro_flush_cb(void (handler)(void *), void *data)
pdev->lro_info.lro_flush_cb = handler;
pdev->lro_info.lro_data = data;
ce_lro_flush_cb_register(hif_device, ol_txrx_lro_flush, pdev);
hif_lro_flush_cb_register(hif_device, ol_txrx_lro_flush, pdev);
}
/**
@ -3441,7 +3440,7 @@ void ol_deregister_lro_flush_cb(void)
(struct ol_softc *)cds_get_context(CDF_MODULE_ID_HIF);
struct ol_txrx_pdev_t *pdev = cds_get_context(CDF_MODULE_ID_TXRX);
ce_lro_flush_cb_deregister(hif_device);
hif_lro_flush_cb_deregister(hif_device);
pdev->lro_info.lro_flush_cb = NULL;
pdev->lro_info.lro_data = NULL;