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>
This commit is contained in:
parent
c381be2853
commit
25324caf6e
|
@ -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)
|
static int iwl_testmode_sram(struct ieee80211_hw *hw, struct nlattr **tb)
|
||||||
{
|
{
|
||||||
struct iwl_priv *priv = hw->priv;
|
struct iwl_priv *priv = hw->priv;
|
||||||
u32 base, ofs, size, maxsize;
|
u32 ofs, size, maxsize;
|
||||||
|
|
||||||
if (priv->testmode_sram.sram_readed)
|
if (priv->testmode_sram.sram_readed)
|
||||||
return -EBUSY;
|
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");
|
IWL_DEBUG_INFO(priv, "Error, unsupported uCode type\n");
|
||||||
return -ENOSYS;
|
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");
|
IWL_DEBUG_INFO(priv, "Invalid offset/size: out of range\n");
|
||||||
return -EINVAL;
|
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");
|
IWL_DEBUG_INFO(priv, "Error allocating memory\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
base = 0x800000;
|
_iwl_read_targ_mem_words(bus(priv), ofs,
|
||||||
_iwl_read_targ_mem_words(bus(priv), base + ofs,
|
|
||||||
priv->testmode_sram.buff_addr,
|
priv->testmode_sram.buff_addr,
|
||||||
priv->testmode_sram.buff_size / 4);
|
priv->testmode_sram.buff_size / 4);
|
||||||
priv->testmode_sram.num_chunks =
|
priv->testmode_sram.num_chunks =
|
||||||
|
|
|
@ -271,4 +271,7 @@ enum iwl_tm_attr_t {
|
||||||
/* Maximum data size of each dump it packet */
|
/* Maximum data size of each dump it packet */
|
||||||
#define DUMP_CHUNK_SIZE (PAGE_SIZE - 1024)
|
#define DUMP_CHUNK_SIZE (PAGE_SIZE - 1024)
|
||||||
|
|
||||||
|
/* Address offset of data segment in SRAM */
|
||||||
|
#define SRAM_DATA_SEG_OFFSET 0x800000
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue