|
@@ -38,6 +38,9 @@
|
|
|
#define ATH_MODULE_NAME hif
|
|
|
#include <a_debug.h>
|
|
|
#include "qdf_module.h"
|
|
|
+#include "hif_usb_internal.h"
|
|
|
+#include "if_usb.h"
|
|
|
+#include "usb_api.h"
|
|
|
|
|
|
#if defined(WLAN_DEBUG) || defined(DEBUG)
|
|
|
static ATH_DEBUG_MASK_DESCRIPTION g_hif_debug_description[] = {
|
|
@@ -74,9 +77,10 @@ unsigned int hif_usb_disable_rxdata2 = 1;
|
|
|
*/
|
|
|
static void usb_hif_usb_transmit_complete(struct urb *urb)
|
|
|
{
|
|
|
- HIF_URB_CONTEXT *urb_context = (HIF_URB_CONTEXT *) urb->context;
|
|
|
+ struct HIF_URB_CONTEXT *urb_context =
|
|
|
+ (struct HIF_URB_CONTEXT *)urb->context;
|
|
|
qdf_nbuf_t buf;
|
|
|
- HIF_USB_PIPE *pipe = urb_context->pipe;
|
|
|
+ struct HIF_USB_PIPE *pipe = urb_context->pipe;
|
|
|
struct hif_usb_send_context *send_context;
|
|
|
|
|
|
HIF_DBG("+%s: pipe: %d, stat:%d, len:%d", __func__,
|
|
@@ -103,7 +107,7 @@ static void usb_hif_usb_transmit_complete(struct urb *urb)
|
|
|
|
|
|
|
|
|
skb_queue_tail(&pipe->io_comp_queue, buf);
|
|
|
- HIF_USB_SCHEDULE_WORK(pipe)
|
|
|
+ HIF_USB_SCHEDULE_WORK(pipe);
|
|
|
|
|
|
HIF_DBG("-%s", __func__);
|
|
|
}
|
|
@@ -118,15 +122,15 @@ static void usb_hif_usb_transmit_complete(struct urb *urb)
|
|
|
*
|
|
|
* Return: QDF_STATUS_SUCCESS on success and error QDF status on failure
|
|
|
*/
|
|
|
-static QDF_STATUS hif_send_internal(HIF_DEVICE_USB *hif_usb_device,
|
|
|
+static QDF_STATUS hif_send_internal(struct HIF_DEVICE_USB *hif_usb_device,
|
|
|
uint8_t pipe_id,
|
|
|
qdf_nbuf_t hdr_buf,
|
|
|
qdf_nbuf_t buf, unsigned int nbytes)
|
|
|
{
|
|
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
|
|
- HIF_DEVICE_USB *device = hif_usb_device;
|
|
|
- HIF_USB_PIPE *pipe = &device->pipes[pipe_id];
|
|
|
- HIF_URB_CONTEXT *urb_context;
|
|
|
+ struct HIF_DEVICE_USB *device = hif_usb_device;
|
|
|
+ struct HIF_USB_PIPE *pipe = &device->pipes[pipe_id];
|
|
|
+ struct HIF_URB_CONTEXT *urb_context;
|
|
|
uint8_t *data;
|
|
|
uint32_t len;
|
|
|
struct urb *urb;
|
|
@@ -285,7 +289,7 @@ QDF_STATUS hif_send_head(struct hif_opaque_softc *scn, uint8_t pipe_id,
|
|
|
qdf_nbuf_t wbuf, uint32_t data_attr)
|
|
|
{
|
|
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
HIF_TRACE("+%s", __func__);
|
|
|
status = hif_send_internal(device, pipe_id, NULL, wbuf, nbytes);
|
|
@@ -303,7 +307,7 @@ QDF_STATUS hif_send_head(struct hif_opaque_softc *scn, uint8_t pipe_id,
|
|
|
uint16_t hif_get_free_queue_number(struct hif_opaque_softc *scn,
|
|
|
uint8_t pipe_id)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
return device->pipes[pipe_id].urb_cnt;
|
|
|
}
|
|
@@ -319,7 +323,7 @@ uint16_t hif_get_free_queue_number(struct hif_opaque_softc *scn,
|
|
|
void hif_post_init(struct hif_opaque_softc *scn, void *target,
|
|
|
struct hif_msg_callbacks *callbacks)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
qdf_mem_copy(&device->htc_callbacks, callbacks,
|
|
|
sizeof(device->htc_callbacks));
|
|
@@ -333,7 +337,7 @@ void hif_post_init(struct hif_opaque_softc *scn, void *target,
|
|
|
*/
|
|
|
void hif_detach_htc(struct hif_opaque_softc *scn)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
usb_hif_flush_all(device);
|
|
|
qdf_mem_zero(&device->htc_callbacks, sizeof(device->htc_callbacks));
|
|
@@ -347,7 +351,7 @@ void hif_detach_htc(struct hif_opaque_softc *scn)
|
|
|
*/
|
|
|
void hif_usb_device_deinit(struct hif_usb_softc *sc)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = &sc->hif_hdl;
|
|
|
+ struct HIF_DEVICE_USB *device = &sc->hif_hdl;
|
|
|
|
|
|
HIF_TRACE("+%s", __func__);
|
|
|
|
|
@@ -373,11 +377,11 @@ void hif_usb_device_deinit(struct hif_usb_softc *sc)
|
|
|
QDF_STATUS hif_usb_device_init(struct hif_usb_softc *sc)
|
|
|
{
|
|
|
int i;
|
|
|
- HIF_DEVICE_USB *device = &sc->hif_hdl;
|
|
|
+ struct HIF_DEVICE_USB *device = &sc->hif_hdl;
|
|
|
struct usb_interface *interface = sc->interface;
|
|
|
struct usb_device *dev = interface_to_usbdev(interface);
|
|
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
|
|
- HIF_USB_PIPE *pipe;
|
|
|
+ struct HIF_USB_PIPE *pipe;
|
|
|
|
|
|
HIF_TRACE("+%s", __func__);
|
|
|
|
|
@@ -435,7 +439,7 @@ QDF_STATUS hif_usb_device_init(struct hif_usb_softc *sc)
|
|
|
*/
|
|
|
QDF_STATUS hif_start(struct hif_opaque_softc *scn)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
int i;
|
|
|
|
|
|
HIF_TRACE("+%s", __func__);
|
|
@@ -459,7 +463,7 @@ QDF_STATUS hif_start(struct hif_opaque_softc *scn)
|
|
|
*/
|
|
|
void hif_usb_stop_device(struct hif_softc *hif_sc)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(hif_sc);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(hif_sc);
|
|
|
|
|
|
HIF_TRACE("+%s", __func__);
|
|
|
|
|
@@ -625,13 +629,13 @@ int hif_map_service_to_pipe(struct hif_opaque_softc *scn, uint16_t svc_id,
|
|
|
*
|
|
|
* Return: QDF_STATUS_SUCCESS if success else an appropriate QDF_STATUS error
|
|
|
*/
|
|
|
-static QDF_STATUS hif_ctrl_msg_exchange(HIF_DEVICE_USB *macp,
|
|
|
- uint8_t send_req_val,
|
|
|
- uint8_t *send_msg,
|
|
|
- uint32_t len,
|
|
|
- uint8_t response_req_val,
|
|
|
- uint8_t *response_msg,
|
|
|
- uint32_t *response_len)
|
|
|
+static QDF_STATUS hif_ctrl_msg_exchange(struct HIF_DEVICE_USB *macp,
|
|
|
+ uint8_t send_req_val,
|
|
|
+ uint8_t *send_msg,
|
|
|
+ uint32_t len,
|
|
|
+ uint8_t response_req_val,
|
|
|
+ uint8_t *response_msg,
|
|
|
+ uint32_t *response_len)
|
|
|
{
|
|
|
QDF_STATUS status;
|
|
|
|
|
@@ -681,7 +685,7 @@ QDF_STATUS hif_exchange_bmi_msg(struct hif_opaque_softc *scn,
|
|
|
uint32_t *bmi_response_lengthp,
|
|
|
uint32_t timeout_ms)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
return hif_ctrl_msg_exchange(macp,
|
|
|
USB_CONTROL_REQ_SEND_BMI_CMD,
|
|
@@ -702,7 +706,7 @@ QDF_STATUS hif_exchange_bmi_msg(struct hif_opaque_softc *scn,
|
|
|
QDF_STATUS hif_diag_read_access(struct hif_opaque_softc *scn, uint32_t address,
|
|
|
uint32_t *data)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
QDF_STATUS status;
|
|
|
USB_CTRL_DIAG_CMD_READ *cmd;
|
|
|
uint32_t respLength;
|
|
@@ -745,7 +749,7 @@ QDF_STATUS hif_diag_write_access(struct hif_opaque_softc *scn,
|
|
|
uint32_t address,
|
|
|
uint32_t data)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *macp = HIF_GET_USB_DEVICE(scn);
|
|
|
USB_CTRL_DIAG_CMD_WRITE *cmd;
|
|
|
|
|
|
cmd = (USB_CTRL_DIAG_CMD_WRITE *) macp->diag_cmd_buffer;
|
|
@@ -769,8 +773,8 @@ QDF_STATUS hif_diag_write_access(struct hif_opaque_softc *scn,
|
|
|
*/
|
|
|
void hif_dump_info(struct hif_opaque_softc *scn)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
- HIF_USB_PIPE *pipe = NULL;
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_USB_PIPE *pipe = NULL;
|
|
|
struct usb_host_interface *iface_desc = NULL;
|
|
|
struct usb_endpoint_descriptor *ep_desc;
|
|
|
uint8_t i = 0;
|
|
@@ -918,7 +922,7 @@ void hif_suspend_wow(struct hif_opaque_softc *scn)
|
|
|
void hif_usb_set_bundle_mode(struct hif_softc *scn,
|
|
|
bool enabled, int rx_bundle_cnt)
|
|
|
{
|
|
|
- HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
+ struct HIF_DEVICE_USB *device = HIF_GET_USB_DEVICE(scn);
|
|
|
|
|
|
device->is_bundle_enabled = enabled;
|
|
|
device->rx_bundle_cnt = rx_bundle_cnt;
|