summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan2011-07-16 16:59:15 +0200
committerKalle Valo2011-08-09 18:45:20 +0200
commit4a005c3ed0e6424e991daeea385bd08a9b97b67a (patch)
tree1ec9969f4001fe42c7aafeb2fd1e97f098bcb6d9
parentath6kl: Merge scatter gather setup functions for two method (diff)
downloadkernel-qcow2-linux-4a005c3ed0e6424e991daeea385bd08a9b97b67a.tar.gz
kernel-qcow2-linux-4a005c3ed0e6424e991daeea385bd08a9b97b67a.tar.xz
kernel-qcow2-linux-4a005c3ed0e6424e991daeea385bd08a9b97b67a.zip
ath6kl: Moe virt_scat from hif_dev_scat_sup_info to hif_scatter_req
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath6kl/hif.h3
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc_hif.c6
-rw-r--r--drivers/net/wireless/ath/ath6kl/sdio.c4
3 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/hif.h b/drivers/net/wireless/ath/ath6kl/hif.h
index d5a79911bdc9..bbacba466cb7 100644
--- a/drivers/net/wireless/ath/ath6kl/hif.h
+++ b/drivers/net/wireless/ath/ath6kl/hif.h
@@ -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 {
diff --git a/drivers/net/wireless/ath/ath6kl/htc_hif.c b/drivers/net/wireless/ath/ath6kl/htc_hif.c
index 33887ccce034..44bee90bc9a6 100644
--- a/drivers/net/wireless/ath/ath6kl/htc_hif.c
+++ b/drivers/net/wireless/ath/ath6kl/htc_hif.c
@@ -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);
}
diff --git a/drivers/net/wireless/ath/ath6kl/sdio.c b/drivers/net/wireless/ath/ath6kl/sdio.c
index 96a112ef34b4..686f091fd93a 100644
--- a/drivers/net/wireless/ath/ath6kl/sdio.c
+++ b/drivers/net/wireless/ath/ath6kl/sdio.c
@@ -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;
}