diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-10-19 14:24:43 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-29 11:27:05 +0100 |
commit | f4feb8ac6e666d2ca37cf722166bbfadf2c6adf8 (patch) | |
tree | 950d1e7ab7ef3098f41b095f4e59d65520c6aeea /drivers/net/wireless/iwlwifi/iwl-trans.h | |
parent | 86052a77067df53ad48800e74984f84806baddbd (diff) | |
download | linux-f4feb8ac6e666d2ca37cf722166bbfadf2c6adf8.tar.bz2 |
iwlwifi: support host command with copied data
In addition to the NOCOPY flag, add a DUP flag that
tells the transport to kmemdup() the buffer and free
it after the command completes.
Currently this is only supported for a single buffer
in a given command, but that could be extended if it
should be needed.
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h index f75ea6d73ffc..76c52378f8f7 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans.h @@ -221,14 +221,18 @@ struct iwl_device_cmd { /** * struct iwl_hcmd_dataflag - flag for each one of the chunks of the command * - * IWL_HCMD_DFL_NOCOPY: By default, the command is copied to the host command's + * @IWL_HCMD_DFL_NOCOPY: By default, the command is copied to the host command's * ring. The transport layer doesn't map the command's buffer to DMA, but * rather copies it to an previously allocated DMA buffer. This flag tells * the transport layer not to copy the command, but to map the existing * buffer. This can save memcpy and is worth with very big comamnds. + * @IWL_HCMD_DFL_DUP: Only valid without NOCOPY, duplicate the memory for this + * chunk internally and free it again after the command completes. This + * can (currently) be used only once per command. */ enum iwl_hcmd_dataflag { IWL_HCMD_DFL_NOCOPY = BIT(0), + IWL_HCMD_DFL_DUP = BIT(1), }; /** |