mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
Merge remote-tracking branch 'origin/wlan-cmn.driver.lnx.1.0-dev' into wlan-cmn.driver.lnx.2.0-dev
* origin/wlan-cmn.driver.lnx.1.0-dev: Release 5.1.0.22D qcacmn: Address 32 bit specific compilation issues Release 5.1.0.22C qcacmn: CL 1546483 - update fw common interface files Release 5.1.0.22B Release 5.1.0.22A qcacmn: Fix incorrect channel list passed to the firmware qcacmn: Add workqueue APIs in QDF Change-Id: Ib44c3c1cc32bd6279abb78d25a546596669803fb
This commit is contained in:
commit
8e86381872
11 changed files with 160 additions and 12 deletions
|
|
@ -1,2 +1,2 @@
|
|||
Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.22
|
||||
Matches Component wlan-cld3.driver.lnx.1.1 version 5.1.0.22
|
||||
Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.22D
|
||||
Matches Component wlan-cld3.driver.lnx.1.1 version 5.1.0.22C
|
||||
|
|
|
|||
|
|
@ -258,8 +258,7 @@ uint32_t DEBUG_CE_DEST_RING_READ_IDX_GET(struct hif_softc *scn,
|
|||
& (uint64_t)(0xF00000000))>>32))
|
||||
|
||||
#define VADDR_FOR_CE(scn, CE_ctrl_addr)\
|
||||
((uint32_t *)((uint64_t)(scn->vaddr_rri_on_ddr) + \
|
||||
COPY_ENGINE_ID(CE_ctrl_addr)*sizeof(uint32_t)))
|
||||
((scn->vaddr_rri_on_ddr) + COPY_ENGINE_ID(CE_ctrl_addr))
|
||||
|
||||
#define SRRI_FROM_DDR_ADDR(addr) ((*(addr)) & 0xFFFF)
|
||||
#define DRRI_FROM_DDR_ADDR(addr) (((*(addr))>>16) & 0xFFFF)
|
||||
|
|
|
|||
|
|
@ -203,10 +203,64 @@ static inline void qdf_sched_work(qdf_handle_t hdl, qdf_work_t *work)
|
|||
__qdf_sched_work(hdl, work);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_sched_delayed_work() - Schedule a delayed task
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
* @delay: delay interval
|
||||
* Return: none
|
||||
*/
|
||||
static inline void qdf_sched_delayed_work(qdf_handle_t hdl,
|
||||
qdf_delayed_work_t *work,
|
||||
uint32_t delay)
|
||||
{
|
||||
__qdf_sched_delayed_work(hdl, work, delay);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_cancel_work() - Cancel a work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to work
|
||||
*
|
||||
* Cancel work and wait for its execution to finish.
|
||||
* This function can be used even if the work re-queues
|
||||
* itself or migrates to another workqueue. On return
|
||||
* from this function, work is guaranteed to be not
|
||||
* pending or executing on any CPU. The caller must
|
||||
* ensure that the workqueue on which work was last
|
||||
* queued can't be destroyed before this function returns.
|
||||
*
|
||||
* Return: true if work was pending, false otherwise
|
||||
*/
|
||||
static inline bool qdf_cancel_work(qdf_handle_t hdl,
|
||||
qdf_work_t *work)
|
||||
{
|
||||
return __qdf_cancel_work(hdl, work);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_cancel_delayed_work() - Cancel a delayed work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
*
|
||||
* This is qdf_cancel_work for delayed works.
|
||||
*
|
||||
* Return: true if work was pending, false otherwise
|
||||
*/
|
||||
static inline bool qdf_cancel_delayed_work(qdf_handle_t hdl,
|
||||
qdf_delayed_work_t *work)
|
||||
{
|
||||
return __qdf_cancel_delayed_work(hdl, work);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_flush_work - Flush a deferred task on non-interrupt context
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to work
|
||||
*
|
||||
* Wait until work has finished execution. work is guaranteed to be
|
||||
* idle on return if it hasn't been requeued since flush started.
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static inline void qdf_flush_work(qdf_handle_t hdl, qdf_work_t *work)
|
||||
|
|
@ -214,6 +268,21 @@ static inline void qdf_flush_work(qdf_handle_t hdl, qdf_work_t *work)
|
|||
__qdf_flush_work(hdl, work);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_flush_delayed_work() - Flush a delayed work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
*
|
||||
* This is qdf_flush_work for delayed works.
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static inline void qdf_flush_delayed_work(qdf_handle_t hdl,
|
||||
qdf_delayed_work_t *work)
|
||||
{
|
||||
__qdf_flush_delayed_work(hdl, work);
|
||||
}
|
||||
|
||||
/**
|
||||
* qdf_disable_work - disable the deferred task (synchronous)
|
||||
* @hdl: OS handle
|
||||
|
|
@ -225,7 +294,6 @@ static inline uint32_t qdf_disable_work(qdf_handle_t hdl, qdf_work_t *work)
|
|||
return __qdf_disable_work(hdl, work);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* qdf_destroy_work - destroy the deferred task (synchronous)
|
||||
* @hdl: OS handle
|
||||
|
|
|
|||
|
|
@ -156,6 +156,45 @@ static inline QDF_STATUS __qdf_sched_work(qdf_handle_t hdl, __qdf_work_t *work)
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_sched_delayed_work() - Schedule a delayed work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
* @delay: delay interval
|
||||
* Return: none
|
||||
*/
|
||||
static inline QDF_STATUS __qdf_sched_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work,
|
||||
uint32_t delay)
|
||||
{
|
||||
schedule_delayed_work(work, delay);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_cancel_work() - Cancel a work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to work
|
||||
* Return: true if work was pending, false otherwise
|
||||
*/
|
||||
static inline bool __qdf_cancel_work(qdf_handle_t hdl,
|
||||
__qdf_work_t *work)
|
||||
{
|
||||
return cancel_work_sync(work);
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_cancel_delayed_work() - Cancel a delayed work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
* Return: true if work was pending, false otherwise
|
||||
*/
|
||||
static inline bool __qdf_cancel_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work)
|
||||
{
|
||||
return cancel_delayed_work_sync(work);
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_flush_work - Flush a deferred task on non-interrupt context
|
||||
* @hdl: OS handle
|
||||
|
|
@ -167,6 +206,20 @@ static inline uint32_t __qdf_flush_work(qdf_handle_t hdl, __qdf_work_t *work)
|
|||
flush_work(work);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* __qdf_flush_delayed_work() - Flush a delayed work
|
||||
* @hdl: OS handle
|
||||
* @work: pointer to delayed work
|
||||
* Return: none
|
||||
*/
|
||||
static inline uint32_t __qdf_flush_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work)
|
||||
{
|
||||
flush_delayed_work(work);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#else
|
||||
static inline QDF_STATUS __qdf_init_work(qdf_handle_t hdl,
|
||||
__qdf_work_t *work,
|
||||
|
|
@ -210,11 +263,38 @@ static inline QDF_STATUS __qdf_sched_work(qdf_handle_t hdl, __qdf_work_t *work)
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS __qdf_sched_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work,
|
||||
uint32_t delay)
|
||||
{
|
||||
schedule_delayed_work(&work->dwork, delay);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline bool __qdf_cancel_work(qdf_handle_t hdl,
|
||||
__qdf_work_t *work)
|
||||
{
|
||||
return cancel_work_sync(&work->work);
|
||||
}
|
||||
|
||||
static inline bool __qdf_cancel_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work)
|
||||
{
|
||||
return cancel_delayed_work_sync(&work->dwork);
|
||||
}
|
||||
|
||||
static inline uint32_t __qdf_flush_work(qdf_handle_t hdl, __qdf_work_t *work)
|
||||
{
|
||||
flush_work(&work->work);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
static inline uint32_t __qdf_flush_delayed_work(qdf_handle_t hdl,
|
||||
__qdf_delayed_work_t *work)
|
||||
{
|
||||
flush_delayed_work(&work->dwork);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1115,8 +1115,8 @@ void __qdf_dmaaddr_to_32s(qdf_dma_addr_t dmaaddr,
|
|||
uint32_t *lo, uint32_t *hi)
|
||||
{
|
||||
if (sizeof(dmaaddr) > sizeof(uint32_t)) {
|
||||
*lo = (uint32_t) (dmaaddr & 0x0ffffffff);
|
||||
*hi = (uint32_t) (dmaaddr >> 32);
|
||||
*lo = lower_32_bits(dmaaddr);
|
||||
*hi = upper_32_bits(dmaaddr);
|
||||
} else {
|
||||
*lo = dmaaddr;
|
||||
*hi = 0;
|
||||
|
|
|
|||
|
|
@ -819,7 +819,7 @@ QDF_STATUS wmi_unified_roam_scan_offload_scan_period(void *wmi_hdl,
|
|||
|
||||
QDF_STATUS wmi_unified_roam_scan_offload_chan_list_cmd(void *wmi_hdl,
|
||||
uint8_t chan_count,
|
||||
uint8_t *chan_list,
|
||||
uint32_t *chan_list,
|
||||
uint8_t list_type, uint32_t vdev_id);
|
||||
|
||||
QDF_STATUS wmi_unified_roam_scan_offload_rssi_change_cmd(void *wmi_hdl,
|
||||
|
|
|
|||
|
|
@ -698,7 +698,7 @@ QDF_STATUS (*send_roam_scan_offload_scan_period_cmd)(wmi_unified_t wmi_handle,
|
|||
|
||||
QDF_STATUS (*send_roam_scan_offload_chan_list_cmd)(wmi_unified_t wmi_handle,
|
||||
uint8_t chan_count,
|
||||
uint8_t *chan_list,
|
||||
uint32_t *chan_list,
|
||||
uint8_t list_type, uint32_t vdev_id);
|
||||
|
||||
QDF_STATUS (*send_roam_scan_offload_rssi_change_cmd)(wmi_unified_t wmi_handle,
|
||||
|
|
|
|||
|
|
@ -543,7 +543,7 @@ QDF_STATUS send_roam_scan_offload_scan_period_cmd_tlv(wmi_unified_t wmi_handle,
|
|||
|
||||
QDF_STATUS send_roam_scan_offload_chan_list_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
uint8_t chan_count,
|
||||
uint8_t *chan_list,
|
||||
uint32_t *chan_list,
|
||||
uint8_t list_type, uint32_t vdev_id);
|
||||
|
||||
QDF_STATUS send_roam_scan_offload_rssi_change_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
|
|
|
|||
|
|
@ -1580,6 +1580,7 @@ static uint8_t *wmi_id_to_name(WMI_CMD_ID wmi_command)
|
|||
CASE_RETURN_STRING(WMI_READ_DATA_FROM_FLASH_CMDID);
|
||||
CASE_RETURN_STRING(WMI_PDEV_SET_REORDER_TIMEOUT_VAL_CMDID);
|
||||
CASE_RETURN_STRING(WMI_PEER_SET_RX_BLOCKSIZE_CMDID);
|
||||
CASE_RETURN_STRING(WMI_PDEV_SET_WAKEUP_CONFIG_CMDID);
|
||||
}
|
||||
|
||||
return "Invalid WMI cmd";
|
||||
|
|
|
|||
|
|
@ -3360,7 +3360,7 @@ QDF_STATUS wmi_unified_roam_scan_offload_scan_period(void *wmi_hdl,
|
|||
*/
|
||||
QDF_STATUS wmi_unified_roam_scan_offload_chan_list_cmd(void *wmi_hdl,
|
||||
uint8_t chan_count,
|
||||
uint8_t *chan_list,
|
||||
uint32_t *chan_list,
|
||||
uint8_t list_type, uint32_t vdev_id)
|
||||
{
|
||||
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
|
||||
|
|
|
|||
|
|
@ -10187,7 +10187,7 @@ error:
|
|||
*/
|
||||
QDF_STATUS send_roam_scan_offload_chan_list_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
uint8_t chan_count,
|
||||
uint8_t *chan_list,
|
||||
uint32_t *chan_list,
|
||||
uint8_t list_type, uint32_t vdev_id)
|
||||
{
|
||||
wmi_buf_t buf = NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue