summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-fw.h
diff options
context:
space:
mode:
authorJohannes Berg2012-09-10 11:50:18 +0200
committerJohannes Berg2012-09-10 19:14:30 +0200
commit83f84d7bd49f9e4deea0a77a76c9882673ee1f3c (patch)
treefb2f84fa74450f89cbb429a7457ff0e80ece35b7 /drivers/net/wireless/iwlwifi/iwl-fw.h
parentiwlwifi: don't access the HW when it is not available (diff)
downloadkernel-qcow2-linux-83f84d7bd49f9e4deea0a77a76c9882673ee1f3c.tar.gz
kernel-qcow2-linux-83f84d7bd49f9e4deea0a77a76c9882673ee1f3c.tar.xz
kernel-qcow2-linux-83f84d7bd49f9e4deea0a77a76c9882673ee1f3c.zip
iwlwifi: load firmware in chunks
Instead of allocating one big chunk of DMA-coherent memory for the firmware and keeping it around, only vmalloc() the firmware and copy it into a single page of DMA-coherent memory for the upload. The advantage is that we don't need DMA memory for the firmware image that is stored while the driver is operating, we only need it while uploading. This will make it easier for the driver to work if the system has fragmented memory. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-fw.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-fw.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-fw.h b/drivers/net/wireless/iwlwifi/iwl-fw.h
index 2153e4cc5572..d1a86b66bc51 100644
--- a/drivers/net/wireless/iwlwifi/iwl-fw.h
+++ b/drivers/net/wireless/iwlwifi/iwl-fw.h
@@ -124,8 +124,7 @@ struct iwl_ucode_capabilities {
/* one for each uCode image (inst/data, init/runtime/wowlan) */
struct fw_desc {
- dma_addr_t p_addr; /* hardware address */
- void *v_addr; /* software address */
+ const void *data; /* vmalloc'ed data */
u32 len; /* size in bytes */
u32 offset; /* offset in the device */
};