ath6kl: Move scatter information from ath6kl_device to htc_target
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Mon, 18 Jul 2011 08:53:29 +0000 (14:23 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 9 Aug 2011 16:45:21 +0000 (19:45 +0300)
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/hif-ops.h
drivers/net/wireless/ath/ath6kl/hif.h
drivers/net/wireless/ath/ath6kl/htc.c
drivers/net/wireless/ath/ath6kl/htc.h
drivers/net/wireless/ath/ath6kl/htc_hif.h
drivers/net/wireless/ath/ath6kl/sdio.c

index 32890cd530be1b97ee9e2e257b331ed55263a80a..c923979776a057fe59ce139396b17c90b094d850 100644 (file)
@@ -53,10 +53,9 @@ static inline void hif_scatter_req_add(struct ath6kl *ar,
        return ar->hif_ops->scatter_req_add(ar, s_req);
 }
 
-static inline int ath6kl_hif_enable_scatter(struct ath6kl *ar,
-                                           struct hif_dev_scat_sup_info *info)
+static inline int ath6kl_hif_enable_scatter(struct ath6kl *ar)
 {
-       return ar->hif_ops->enable_scatter(ar, info);
+       return ar->hif_ops->enable_scatter(ar);
 }
 
 static inline int ath6kl_hif_scat_req_rw(struct ath6kl *ar,
index bbacba466cb76664f0d9909116a1d21ce445acc0..5ceff54775a1deef0bafee7c51e4852bde00db7a 100644 (file)
@@ -186,11 +186,6 @@ struct hif_scatter_req {
        struct hif_scatter_item scat_list[1];
 };
 
-struct hif_dev_scat_sup_info {
-       int max_scat_entries;
-       int max_xfer_szper_scatreq;
-};
-
 struct ath6kl_hif_ops {
        int (*read_write_sync)(struct ath6kl *ar, u32 addr, u8 *buf,
                               u32 len, u32 request);
@@ -203,8 +198,7 @@ struct ath6kl_hif_ops {
        struct hif_scatter_req *(*scatter_req_get)(struct ath6kl *ar);
        void (*scatter_req_add)(struct ath6kl *ar,
                                struct hif_scatter_req *s_req);
-       int (*enable_scatter)(struct ath6kl *ar,
-                             struct hif_dev_scat_sup_info *info);
+       int (*enable_scatter)(struct ath6kl *ar);
        int (*scat_req_rw) (struct ath6kl *ar,
                            struct hif_scatter_req *scat_req);
        void (*cleanup_scatter)(struct ath6kl *ar);
index ce5c0829c957f0a426a67c9e32ec151dc1df719a..ea87a19cda9935ab5eabe5ef7ed96e4042154aa4 100644 (file)
@@ -432,11 +432,8 @@ static void htc_issue_send_bundle(struct htc_endpoint *endpoint,
 {
        struct htc_target *target = endpoint->target;
        struct hif_scatter_req *scat_req = NULL;
-       struct hif_dev_scat_sup_info hif_info;
        int n_scat, n_sent_bundle = 0, tot_pkts_bundle = 0;
 
-       hif_info = target->dev->hif_scat_info;
-
        while (true) {
                n_scat = get_queue_depth(queue);
                n_scat = min(n_scat, target->msg_per_bndl_max);
@@ -2168,19 +2165,17 @@ int htc_get_rxbuf_num(struct htc_target *target, enum htc_endpoint_id endpoint)
 
 static void htc_setup_msg_bndl(struct htc_target *target)
 {
-       struct hif_dev_scat_sup_info *scat_info = &target->dev->hif_scat_info;
-
        /* limit what HTC can handle */
        target->msg_per_bndl_max = min(HTC_HOST_MAX_MSG_PER_BUNDLE,
                                       target->msg_per_bndl_max);
 
-       if (ath6kl_hif_enable_scatter(target->dev->ar, scat_info)) {
+       if (ath6kl_hif_enable_scatter(target->dev->ar)) {
                target->msg_per_bndl_max = 0;
                return;
        }
 
        /* limit bundle what the device layer can handle */
-       target->msg_per_bndl_max = min(scat_info->max_scat_entries,
+       target->msg_per_bndl_max = min(target->max_scat_entries,
                                       target->msg_per_bndl_max);
 
        ath6kl_dbg(ATH6KL_DBG_TRC,
@@ -2188,10 +2183,10 @@ static void htc_setup_msg_bndl(struct htc_target *target)
                   target->msg_per_bndl_max);
 
        /* Max rx bundle size is limited by the max tx bundle size */
-       target->max_rx_bndl_sz = scat_info->max_xfer_szper_scatreq;
+       target->max_rx_bndl_sz = target->max_xfer_szper_scatreq;
        /* Max tx bundle size if limited by the extended mbox address range */
        target->max_tx_bndl_sz = min(HIF_MBOX0_EXT_WIDTH,
-                                    scat_info->max_xfer_szper_scatreq);
+                                    target->max_xfer_szper_scatreq);
 
        ath6kl_dbg(ATH6KL_DBG_ANY, "max recv: %d max send: %d\n",
                   target->max_rx_bndl_sz, target->max_tx_bndl_sz);
index 26e6b93aa532ad54736ec07b3979873c9d97f3b9..bf9c72569887e9abe4013d9adb5fdd9caa35da70 100644 (file)
@@ -533,6 +533,9 @@ struct htc_target {
 
        u32 block_sz;
        u32 block_mask;
+
+       int max_scat_entries;
+       int max_xfer_szper_scatreq;
 };
 
 void *htc_create(struct ath6kl *ar);
index cf5bee0ff7879fa83817ae902a4e889ab5cd0c06..47f086c5bc3c295ed0621fb6be3828794995d744 100644 (file)
@@ -80,7 +80,6 @@ struct ath6kl_device {
        struct ath6kl_irq_enable_reg irq_en_reg;
        u8 pad3[A_CACHE_LINE_PAD];
        struct htc_target *htc_cnxt;
-       struct hif_dev_scat_sup_info hif_scat_info;
        int chk_irq_status_cnt;
        struct ath6kl *ar;
 };
index 44ac68e33b7c5f052b6a0b2c3950cad796cbc265..34171604cbe409e65f4a8389a5149443b76f5b80 100644 (file)
@@ -663,10 +663,10 @@ static void ath6kl_sdio_cleanup_scatter(struct ath6kl *ar)
 }
 
 /* setup of HIF scatter resources */
-static int ath6kl_sdio_enable_scatter(struct ath6kl *ar,
-                                     struct hif_dev_scat_sup_info *pinfo)
+static int ath6kl_sdio_enable_scatter(struct ath6kl *ar)
 {
        struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
+       struct htc_target *target = ar->htc_target;
        int ret;
        bool virt_scat = false;
 
@@ -689,8 +689,8 @@ static int ath6kl_sdio_enable_scatter(struct ath6kl *ar,
                                   MAX_SCATTER_REQUESTS,
                                   MAX_SCATTER_ENTRIES_PER_REQ);
 
-                       pinfo->max_scat_entries = MAX_SCATTER_ENTRIES_PER_REQ;
-                       pinfo->max_xfer_szper_scatreq =
+                       target->max_scat_entries = MAX_SCATTER_ENTRIES_PER_REQ;
+                       target->max_xfer_szper_scatreq =
                                                MAX_SCATTER_REQ_TRANSFER_SIZE;
                } else {
                        ath6kl_sdio_cleanup_scatter(ar);
@@ -713,8 +713,8 @@ static int ath6kl_sdio_enable_scatter(struct ath6kl *ar,
                           "Vitual scatter enabled, max_scat_req:%d, entries:%d\n",
                           ATH6KL_SCATTER_REQS, ATH6KL_SCATTER_ENTRIES_PER_REQ);
 
-               pinfo->max_scat_entries = ATH6KL_SCATTER_ENTRIES_PER_REQ;
-               pinfo->max_xfer_szper_scatreq =
+               target->max_scat_entries = ATH6KL_SCATTER_ENTRIES_PER_REQ;
+               target->max_xfer_szper_scatreq =
                                        ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER;
        }