iwlwifi: enhance testmode command sram_read
This patch enables SRAM read function to support entire target memory. Signed-off-by: Kenny Hsu <kenny.hsu@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
102f097f19
Коммит
b07f08a565
|
@ -733,7 +733,7 @@ static int iwl_testmode_ownership(struct ieee80211_hw *hw, struct nlattr **tb)
|
|||
static int iwl_testmode_sram(struct ieee80211_hw *hw, struct nlattr **tb)
|
||||
{
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
u32 base, ofs, size, maxsize;
|
||||
u32 ofs, size, maxsize;
|
||||
|
||||
if (priv->testmode_sram.sram_readed)
|
||||
return -EBUSY;
|
||||
|
@ -765,7 +765,7 @@ static int iwl_testmode_sram(struct ieee80211_hw *hw, struct nlattr **tb)
|
|||
IWL_DEBUG_INFO(priv, "Error, unsupported uCode type\n");
|
||||
return -ENOSYS;
|
||||
}
|
||||
if ((ofs + size) > maxsize) {
|
||||
if ((ofs + size) > (maxsize + SRAM_DATA_SEG_OFFSET)) {
|
||||
IWL_DEBUG_INFO(priv, "Invalid offset/size: out of range\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -776,8 +776,7 @@ static int iwl_testmode_sram(struct ieee80211_hw *hw, struct nlattr **tb)
|
|||
IWL_DEBUG_INFO(priv, "Error allocating memory\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
base = 0x800000;
|
||||
_iwl_read_targ_mem_words(bus(priv), base + ofs,
|
||||
_iwl_read_targ_mem_words(bus(priv), ofs,
|
||||
priv->testmode_sram.buff_addr,
|
||||
priv->testmode_sram.buff_size / 4);
|
||||
priv->testmode_sram.num_chunks =
|
||||
|
|
|
@ -271,4 +271,7 @@ enum iwl_tm_attr_t {
|
|||
/* Maximum data size of each dump it packet */
|
||||
#define DUMP_CHUNK_SIZE (PAGE_SIZE - 1024)
|
||||
|
||||
/* Address offset of data segment in SRAM */
|
||||
#define SRAM_DATA_SEG_OFFSET 0x800000
|
||||
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче