ath6kl: Moe virt_scat from hif_dev_scat_sup_info to hif_scatter_req
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Sat, 16 Jul 2011 14:59:15 +0000 (20:29 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 9 Aug 2011 16:45:20 +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.h
drivers/net/wireless/ath/ath6kl/htc_hif.c
drivers/net/wireless/ath/ath6kl/sdio.c

index d5a79911bdc9f50b1e65baadc938fcb91104fa09..bbacba466cb76664f0d9909116a1d21ce445acc0 100644 (file)
@@ -171,6 +171,8 @@ struct hif_scatter_req {
        /* total length of entire transfer */
        u32 len;
 
+       bool virt_scat;
+
        void (*complete) (struct htc_target *, struct hif_scatter_req *);
        int status;
        int scat_entries;
@@ -187,7 +189,6 @@ struct hif_scatter_req {
 struct hif_dev_scat_sup_info {
        int max_scat_entries;
        int max_xfer_szper_scatreq;
-       bool virt_scat;
 };
 
 struct ath6kl_hif_ops {
index 33887ccce0344a2a205bcf60c622f4e01397a50e..44bee90bc9a64d3438d1c1d233a6c01aea770be3 100644 (file)
@@ -273,7 +273,7 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
                   scat_req->addr, !read ? "async" : "sync",
                   (read) ? "rd" : "wr");
 
-       if (!read && dev->hif_scat_info.virt_scat)
+       if (!read && scat_req->virt_scat)
                status = ath6kldev_cp_scat_dma_buf(scat_req, false);
 
        if (status) {
@@ -285,7 +285,7 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
                return status;
        }
 
-       if (dev->hif_scat_info.virt_scat)
+       if (scat_req->virt_scat)
                status =  ath6kldev_rw_scatter(dev->ar, scat_req);
        else
                status = ath6kl_hif_scat_req_rw(dev->ar, scat_req);
@@ -293,7 +293,7 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
        if (read) {
                /* in sync mode, we can touch the scatter request */
                scat_req->status = status;
-               if (!status && dev->hif_scat_info.virt_scat)
+               if (!status && scat_req->virt_scat)
                        scat_req->status =
                                ath6kldev_cp_scat_dma_buf(scat_req, true);
        }
index 96a112ef34b44803b180da6a88d9123e788ad6a7..686f091fd93a1b7f231f1e34a42624f9a2e2d3ca 100644 (file)
@@ -325,6 +325,8 @@ static int ath6kl_sdio_alloc_prep_scat_req(struct ath6kl_sdio *ar_sdio,
                bus_req->scat_req = s_req;
                s_req->busrequest = bus_req;
 
+               s_req->virt_scat = virt_scat;
+
                /* add it to the scatter pool */
                hif_scatter_req_add(ar_sdio->ar, s_req);
        }
@@ -694,8 +696,6 @@ static int ath6kl_sdio_enable_scatter(struct ath6kl *ar,
                                        ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER;
        }
 
-       pinfo->virt_scat = virt_scat;
-
        return 0;
 }