Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d3f5e8e authored by Shahar S Matityahu's avatar Shahar S Matityahu Committed by Luca Coelho
Browse files

iwlwifi: fw api: add DRAM buffer allocation command



Add support code to be able to use the DRAM buffer allocation command,
which allows us to send information about a buffer to the firmware
to use it with the DBGC hardware.

Signed-off-by: default avatarShahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent b108d8c7
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -87,6 +87,12 @@ enum iwl_debug_cmds {
	 * 1 - suspend DBGC recording
	 */
	DBGC_SUSPEND_RESUME = 0x7,
	/**
	 * @BUFFER_ALLOCATION:
	 * passes DRAM buffers to a DBGC
	 * &struct iwl_buf_alloc_cmd
	 */
	BUFFER_ALLOCATION = 0x8,
	/**
	 * @MFU_ASSERT_DUMP_NTF:
	 * &struct iwl_mfu_assert_dump_notif
@@ -361,4 +367,30 @@ struct iwl_dbg_suspend_resume_cmd {
	__le32 operation;
} __packed;

#define BUF_ALLOC_MAX_NUM_FRAGS 16

/**
 * struct iwl_buf_alloc_frag - a DBGC fragment
 * @addr: base address of the fragment
 * @size: size of the fragment
 */
struct iwl_buf_alloc_frag {
	__le64 addr;
	__le32 size;
} __packed; /* FRAGMENT_STRUCTURE_API_S_VER_1 */

/**
 * struct iwl_buf_alloc_cmd - buffer allocation command
 * @alloc_id: &enum iwl_fw_ini_allocation_id
 * @buf_location: &enum iwl_fw_ini_buffer_location
 * @num_frags: number of fragments
 * @frags: fragments array
 */
struct iwl_buf_alloc_cmd {
	__le32 alloc_id;
	__le32 buf_location;
	__le32 num_frags;
	struct iwl_buf_alloc_frag frags[BUF_ALLOC_MAX_NUM_FRAGS];
} __packed; /* BUFFER_ALLOCATION_CMD_API_S_VER_2 */

#endif /* __iwl_fw_api_debug_h__ */
+1 −0
Original line number Diff line number Diff line
@@ -468,6 +468,7 @@ enum iwl_ucode_tlv_capa {
	IWL_UCODE_TLV_CAPA_MCC_UPDATE_11AX_SUPPORT	= (__force iwl_ucode_tlv_capa_t)89,
	IWL_UCODE_TLV_CAPA_CSI_REPORTING		= (__force iwl_ucode_tlv_capa_t)90,
	IWL_UCODE_TLV_CAPA_DBG_SUSPEND_RESUME_CMD_SUPP	= (__force iwl_ucode_tlv_capa_t)92,
	IWL_UCODE_TLV_CAPA_DBG_BUF_ALLOC_CMD_SUPP	= (__force iwl_ucode_tlv_capa_t)93,

	/* set 3 */
	IWL_UCODE_TLV_CAPA_MLME_OFFLOAD			= (__force iwl_ucode_tlv_capa_t)96,
+1 −0
Original line number Diff line number Diff line
@@ -468,6 +468,7 @@ static const struct iwl_hcmd_names iwl_mvm_data_path_names[] = {
 */
static const struct iwl_hcmd_names iwl_mvm_debug_names[] = {
	HCMD_NAME(DBGC_SUSPEND_RESUME),
	HCMD_NAME(BUFFER_ALLOCATION),
	HCMD_NAME(MFU_ASSERT_DUMP_NTF),
};