mirror of https://gitee.com/openkylin/linux.git
iwlwifi: add sync_nmi to trans ops
Allow modules from outside pcie to call sync_nmi. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
475c6bde72
commit
d1967ce641
|
@ -618,6 +618,7 @@ struct iwl_trans_ops {
|
|||
struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans,
|
||||
u32 dump_mask);
|
||||
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)
|
|||
|
||||
}
|
||||
|
||||
static inline void iwl_trans_sync_nmi(struct iwl_trans *trans)
|
||||
{
|
||||
if (trans->ops->sync_nmi)
|
||||
trans->ops->sync_nmi(trans);
|
||||
}
|
||||
|
||||
/*****************************************************
|
||||
* transport helper functions
|
||||
*****************************************************/
|
||||
|
|
|
@ -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_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
|
||||
int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans);
|
||||
|
|
|
@ -3318,7 +3318,8 @@ static void iwl_trans_pcie_resume(struct iwl_trans *trans)
|
|||
.unref = iwl_trans_pcie_unref, \
|
||||
.dump_data = iwl_trans_pcie_dump_data, \
|
||||
.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
|
||||
#define IWL_TRANS_PM_OPS \
|
||||
|
@ -3637,7 +3638,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
|
|||
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;
|
||||
|
||||
|
|
|
@ -965,7 +965,7 @@ static int iwl_pcie_gen2_send_hcmd_sync(struct iwl_trans *trans,
|
|||
cmd_str);
|
||||
ret = -ETIMEDOUT;
|
||||
|
||||
iwl_trans_sync_nmi(trans);
|
||||
iwl_trans_pcie_sync_nmi(trans);
|
||||
goto cancel;
|
||||
}
|
||||
|
||||
|
|
|
@ -1960,7 +1960,7 @@ static int iwl_pcie_send_hcmd_sync(struct iwl_trans *trans,
|
|||
iwl_get_cmd_string(trans, cmd->id));
|
||||
ret = -ETIMEDOUT;
|
||||
|
||||
iwl_trans_sync_nmi(trans);
|
||||
iwl_trans_pcie_sync_nmi(trans);
|
||||
goto cancel;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue