Commit d1967ce6 authored by Shahar S Matityahu's avatar Shahar S Matityahu Committed by Luca Coelho

iwlwifi: add sync_nmi to trans ops

Allow modules from outside pcie to call sync_nmi.
Signed-off-by: default avatarShahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 475c6bde
...@@ -618,6 +618,7 @@ struct iwl_trans_ops { ...@@ -618,6 +618,7 @@ struct iwl_trans_ops {
struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans, struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans,
u32 dump_mask); u32 dump_mask);
void (*debugfs_cleanup)(struct iwl_trans *trans); void (*debugfs_cleanup)(struct iwl_trans *trans);
void (*sync_nmi)(struct iwl_trans *trans);
}; };
/** /**
...@@ -1245,6 +1246,12 @@ static inline void iwl_trans_fw_error(struct iwl_trans *trans) ...@@ -1245,6 +1246,12 @@ static inline void iwl_trans_fw_error(struct iwl_trans *trans)
} }
static inline void iwl_trans_sync_nmi(struct iwl_trans *trans)
{
if (trans->ops->sync_nmi)
trans->ops->sync_nmi(trans);
}
/***************************************************** /*****************************************************
* transport helper functions * transport helper functions
*****************************************************/ *****************************************************/
......
...@@ -1043,7 +1043,7 @@ static inline bool iwl_pcie_dbg_on(struct iwl_trans *trans) ...@@ -1043,7 +1043,7 @@ static inline bool iwl_pcie_dbg_on(struct iwl_trans *trans)
void iwl_trans_pcie_rf_kill(struct iwl_trans *trans, bool state); void iwl_trans_pcie_rf_kill(struct iwl_trans *trans, bool state);
void iwl_trans_pcie_dump_regs(struct iwl_trans *trans); void iwl_trans_pcie_dump_regs(struct iwl_trans *trans);
void iwl_trans_sync_nmi(struct iwl_trans *trans); void iwl_trans_pcie_sync_nmi(struct iwl_trans *trans);
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans); int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans);
......
...@@ -3318,7 +3318,8 @@ static void iwl_trans_pcie_resume(struct iwl_trans *trans) ...@@ -3318,7 +3318,8 @@ static void iwl_trans_pcie_resume(struct iwl_trans *trans)
.unref = iwl_trans_pcie_unref, \ .unref = iwl_trans_pcie_unref, \
.dump_data = iwl_trans_pcie_dump_data, \ .dump_data = iwl_trans_pcie_dump_data, \
.d3_suspend = iwl_trans_pcie_d3_suspend, \ .d3_suspend = iwl_trans_pcie_d3_suspend, \
.d3_resume = iwl_trans_pcie_d3_resume .d3_resume = iwl_trans_pcie_d3_resume, \
.sync_nmi = iwl_trans_pcie_sync_nmi
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
#define IWL_TRANS_PM_OPS \ #define IWL_TRANS_PM_OPS \
...@@ -3637,7 +3638,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, ...@@ -3637,7 +3638,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
return ERR_PTR(ret); return ERR_PTR(ret);
} }
void iwl_trans_sync_nmi(struct iwl_trans *trans) void iwl_trans_pcie_sync_nmi(struct iwl_trans *trans)
{ {
unsigned long timeout = jiffies + IWL_TRANS_NMI_TIMEOUT; unsigned long timeout = jiffies + IWL_TRANS_NMI_TIMEOUT;
......
...@@ -965,7 +965,7 @@ static int iwl_pcie_gen2_send_hcmd_sync(struct iwl_trans *trans, ...@@ -965,7 +965,7 @@ static int iwl_pcie_gen2_send_hcmd_sync(struct iwl_trans *trans,
cmd_str); cmd_str);
ret = -ETIMEDOUT; ret = -ETIMEDOUT;
iwl_trans_sync_nmi(trans); iwl_trans_pcie_sync_nmi(trans);
goto cancel; goto cancel;
} }
......
...@@ -1960,7 +1960,7 @@ static int iwl_pcie_send_hcmd_sync(struct iwl_trans *trans, ...@@ -1960,7 +1960,7 @@ static int iwl_pcie_send_hcmd_sync(struct iwl_trans *trans,
iwl_get_cmd_string(trans, cmd->id)); iwl_get_cmd_string(trans, cmd->id));
ret = -ETIMEDOUT; ret = -ETIMEDOUT;
iwl_trans_sync_nmi(trans); iwl_trans_pcie_sync_nmi(trans);
goto cancel; goto cancel;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment