mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
Merge changes Ibef1681f,Ia62137da into wlan-cmn.driver.lnx.2.0-dev
* changes: qcacmn: Fix checkpatch warning in policy manager component qcacmn: Fix the position of qdf_nbuf_map in Tx DP
This commit is contained in:
commit
f3c5a24628
3 changed files with 50 additions and 19 deletions
|
|
@ -126,8 +126,30 @@ dp_tx_desc_release(struct dp_tx_desc_s *tx_desc, uint8_t desc_pool_id)
|
|||
* dp_tx_htt_metadata_prepare() - Prepare HTT metadata for special frames
|
||||
* @vdev: DP vdev Handle
|
||||
* @nbuf: skb
|
||||
* @align_pad: Alignment Pad bytes to be added in frame header before adding HTT
|
||||
* metadata
|
||||
* @align_pad: Alignment Pad bytes to be pushed in headroom before adding
|
||||
* HTT metadata
|
||||
*
|
||||
* |-----------------------------|
|
||||
* | |
|
||||
* |-----------------------------| <-----Buffer Pointer Address given
|
||||
* | | ^ in HW descriptor (aligned)
|
||||
* | | |
|
||||
* | HTT Metadata | |
|
||||
* | | |
|
||||
* | | | Packet Offset given in descriptor
|
||||
* | | |
|
||||
* | | |
|
||||
* |-----------------------------| |
|
||||
* | Alignment Pad | v
|
||||
* |-----------------------------| <----- Actual buffer start address
|
||||
* | SKB Data | (Unaligned)
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* |-----------------------------|
|
||||
*
|
||||
* Prepares and fills HTT metadata in the frame pre-header for special frames
|
||||
* that should be transmitted using varying transmit parameters.
|
||||
|
|
@ -157,15 +179,25 @@ static uint8_t dp_tx_prepare_htt_metadata(struct dp_vdev *vdev, qdf_nbuf_t nbuf,
|
|||
htt_desc_size = sizeof(struct htt_tx_msdu_desc_ext2_t);
|
||||
|
||||
if (vdev->mesh_vdev) {
|
||||
|
||||
/* Fill and add HTT metaheader */
|
||||
hdr = qdf_nbuf_push_head(nbuf, htt_desc_size + align_pad);
|
||||
|
||||
qdf_mem_copy(hdr, desc_ext, htt_desc_size);
|
||||
|
||||
if (qdf_unlikely(QDF_STATUS_SUCCESS !=
|
||||
qdf_nbuf_map_nbytes_single(
|
||||
vdev->pdev->soc->osdev, nbuf,
|
||||
QDF_DMA_TO_DEVICE,
|
||||
(htt_desc_size + align_pad)))) {
|
||||
|
||||
/* Handle failure */
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
"htt qdf_nbuf_map failed\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
} else if (vdev->opmode == wlan_op_mode_ocb) {
|
||||
/* Todo - Add support for DSRC */
|
||||
|
||||
}
|
||||
|
||||
return htt_desc_size;
|
||||
|
|
@ -183,7 +215,6 @@ static void dp_tx_prepare_tso_ext_desc(struct qdf_tso_seg_t *tso_seg,
|
|||
void *ext_desc)
|
||||
{
|
||||
uint8_t num_frag;
|
||||
uint32_t *buf_ptr;
|
||||
uint32_t tso_flags;
|
||||
|
||||
/*
|
||||
|
|
@ -403,6 +434,15 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
tx_desc->pdev = pdev;
|
||||
tx_desc->msdu_ext_desc = NULL;
|
||||
|
||||
if (qdf_unlikely(QDF_STATUS_SUCCESS !=
|
||||
qdf_nbuf_map(soc->osdev, nbuf,
|
||||
QDF_DMA_TO_DEVICE))) {
|
||||
/* Handle failure */
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
"qdf_nbuf_map failed\n");
|
||||
goto failure;
|
||||
}
|
||||
|
||||
align_pad = ((unsigned long) qdf_nbuf_mapped_paddr_get(nbuf)) & 0x7;
|
||||
tx_desc->pkt_offset = align_pad;
|
||||
|
||||
|
|
@ -439,15 +479,6 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
qdf_atomic_inc(&pdev->num_tx_exception);
|
||||
}
|
||||
|
||||
if (qdf_unlikely(QDF_STATUS_SUCCESS !=
|
||||
qdf_nbuf_map(soc->osdev, nbuf,
|
||||
QDF_DMA_TO_DEVICE))) {
|
||||
/* Handle failure */
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
"qdf_nbuf_map failed\n");
|
||||
goto failure;
|
||||
}
|
||||
|
||||
return tx_desc;
|
||||
|
||||
failure:
|
||||
|
|
|
|||
|
|
@ -757,12 +757,12 @@ struct policy_mgr_sme_cbacks {
|
|||
uint8_t new_nss, policy_mgr_nss_update_cback cback,
|
||||
uint8_t next_action, struct wlan_objmgr_psoc *psoc,
|
||||
enum policy_mgr_conn_update_reason reason);
|
||||
QDF_STATUS (*sme_change_mcc_beacon_interval) (uint8_t session_id);
|
||||
QDF_STATUS (*sme_get_ap_channel_from_scan) (
|
||||
QDF_STATUS (*sme_change_mcc_beacon_interval)(uint8_t session_id);
|
||||
QDF_STATUS (*sme_get_ap_channel_from_scan)(
|
||||
void *roam_profile,
|
||||
void **scan_cache,
|
||||
uint8_t *channel);
|
||||
QDF_STATUS (*sme_scan_result_purge) (
|
||||
QDF_STATUS (*sme_scan_result_purge)(
|
||||
void *scan_result);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ extern enum policy_mgr_conc_next_action
|
|||
* @hw_mode_change_in_progress: This is to track if HW mode
|
||||
* change is in progress
|
||||
* @enable_mcc_adaptive_scheduler: Enable MCC adaptive scheduler
|
||||
* value from INI
|
||||
* value from INI
|
||||
*/
|
||||
struct policy_mgr_psoc_priv_obj {
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
|
|
|||
Loading…
Reference in a new issue