iwlwifi: add trans op to set PNVM
authorLuca Coelho <luciano.coelho@intel.com>
Thu, 8 Oct 2020 15:12:47 +0000 (18:12 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 8 Oct 2020 17:14:59 +0000 (20:14 +0300)
Add an op to allow setting the PNVM data in the trans.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201008181047.77300b00d3ce.I89d7e45e71f19fd36d89f363a28b4759b59b8765@changeid
drivers/net/wireless/intel/iwlwifi/iwl-trans.h

index caae7b5..5dbb5d4 100644 (file)
@@ -568,6 +568,8 @@ struct iwl_trans_rxq_dma_data {
  *     Note that the transport must fill in the proper file headers.
  * @debugfs_cleanup: used in the driver unload flow to make a proper cleanup
  *     of the trans debugfs
+ * @set_pnvm: set the pnvm data in the prph scratch buffer, inside the
+ *     context info.
  */
 struct iwl_trans_ops {
 
@@ -640,6 +642,7 @@ struct iwl_trans_ops {
                                                 u32 dump_mask);
        void (*debugfs_cleanup)(struct iwl_trans *trans);
        void (*sync_nmi)(struct iwl_trans *trans);
+       int (*set_pnvm)(struct iwl_trans *trans, const void *data, u32 len);
 };
 
 /**
@@ -1449,6 +1452,15 @@ static inline void iwl_trans_sync_nmi(struct iwl_trans *trans)
                trans->ops->sync_nmi(trans);
 }
 
+static inline int iwl_trans_set_pnvm(struct iwl_trans *trans,
+                                    const void *data, u32 len)
+{
+       if (trans->ops->set_pnvm)
+               return trans->ops->set_pnvm(trans, data, len);
+
+       return 0;
+}
+
 static inline bool iwl_trans_dbg_ini_valid(struct iwl_trans *trans)
 {
        return trans->dbg.internal_ini_cfg != IWL_INI_CFG_STATE_NOT_LOADED ||