Commit 832c3f66 authored by Kalle Valo's avatar Kalle Valo
Browse files

Merge tag 'iwlwifi-next-for-kalle-2022-12-07' of...

Merge tag 'iwlwifi-next-for-kalle-2022-12-07' of http://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next

An additional set of patches intended for v6.2.

It contains:
* Adjustments for the new HW
* Adjustments for FW API update
* A few small fixes and cleanups
* Improvements for debug dumps mechanism
parents 695c5d3a a6365c2d
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -382,9 +382,11 @@ enum iwl_scd_queue_cfg_operation {
 * @u.add.cb_size: size code
 * @u.add.bc_dram_addr: byte-count table IOVA
 * @u.add.tfdq_dram_addr: TFD queue IOVA
 * @u.remove.queue: queue ID for removal
 * @u.modify.sta_mask: new station mask for modify
 * @u.modify.queue: queue ID to modify
 * @u.remove.sta_mask: station mask of queue to remove
 * @u.remove.tid: TID of queue to remove
 * @u.modify.old_sta_mask: old station mask for modify
 * @u.modify.tid: TID of queue to modify
 * @u.modify.new_sta_mask: new station mask for modify
 */
struct iwl_scd_queue_cfg_cmd {
	__le32 operation;
@@ -399,11 +401,13 @@ struct iwl_scd_queue_cfg_cmd {
			__le64 tfdq_dram_addr;
		} __packed add; /* TX_QUEUE_CFG_CMD_ADD_API_S_VER_1 */
		struct {
			__le32 queue;
			__le32 sta_mask;
			__le32 tid;
		} __packed remove; /* TX_QUEUE_CFG_CMD_REMOVE_API_S_VER_1 */
		struct {
			__le32 sta_mask;
			__le32 queue;
			__le32 old_sta_mask;
			__le32 tid;
			__le32 new_sta_mask;
		} __packed modify; /* TX_QUEUE_CFG_CMD_MODIFY_API_S_VER_1 */
	} __packed u; /* TX_QUEUE_CFG_CMD_OPERATION_API_U_VER_1 */
} __packed; /* TX_QUEUE_CFG_CMD_API_S_VER_3 */
+4 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
 * Copyright (C) 2012-2014, 2018-2021 Intel Corporation
 * Copyright (C) 2012-2014, 2018-2022 Intel Corporation
 * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
 * Copyright (C) 2015-2017 Intel Deutschland GmbH
 */
@@ -157,7 +157,8 @@ static void iwl_fwrt_dump_lmac_error_log(struct iwl_fw_runtime *fwrt, u8 lmac_nu
			base = fwrt->fw->inst_errlog_ptr;
	}

	if (base < 0x400000) {
	if ((fwrt->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_BZ && !base) ||
	    (fwrt->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ && base < 0x400000)) {
		IWL_ERR(fwrt,
			"Not valid error log pointer 0x%08X for %s uCode\n",
			base,
@@ -376,7 +377,7 @@ static void iwl_fwrt_dump_iml_error_log(struct iwl_fw_runtime *fwrt)
		return;
	}

	error = iwl_read_umac_prph(trans, UMAG_SB_CPU_2_STATUS);
	error = iwl_read_umac_prph(trans, error);

	IWL_ERR(trans, "IML/ROM dump:\n");

+2 −0
Original line number Diff line number Diff line
@@ -1964,6 +1964,8 @@ struct iwl_nvm_data *iwl_get_nvm(struct iwl_trans *trans,
		!!(mac_flags & NVM_MAC_SKU_FLAGS_BAND_5_2_ENABLED);
	nvm->sku_cap_mimo_disabled =
		!!(mac_flags & NVM_MAC_SKU_FLAGS_MIMO_DISABLED);
	if (CSR_HW_RFID_TYPE(trans->hw_rf_id) == IWL_CFG_RF_TYPE_FM)
		nvm->sku_cap_11be_enable = true;

	/* Initialize PHY sku data */
	nvm->valid_tx_ant = (u8)le32_to_cpu(rsp->phy_sku.tx_chains);
+4 −0
Original line number Diff line number Diff line
@@ -976,6 +976,8 @@ struct iwl_trans_txqs {
 * @max_skb_frags: maximum number of fragments an SKB can have when transmitted.
 *	0 indicates that frag SKBs (NETIF_F_SG) aren't supported.
 * @hw_rf_id a u32 with the device RF ID
 * @hw_crf_id a u32 with the device CRF ID
 * @hw_cdb_id a u32 with the device CDB ID
 * @hw_id: a u32 with the ID of the device / sub-device.
 *	Set during transport allocation.
 * @hw_id_str: a string with info about HW ID. Set during transport allocation.
@@ -1015,6 +1017,8 @@ struct iwl_trans {
	u32 hw_rev;
	u32 hw_rev_step;
	u32 hw_rf_id;
	u32 hw_crf_id;
	u32 hw_cdb_id;
	u32 hw_id;
	char hw_id_str[52];
	u32 sku_id[3];
+3 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2021 Intel Corporation
 */
@@ -13,7 +13,7 @@
/**
 * DOC: Introduction
 *
 * iwlmei is the kernel module that is in charge of the commnunication between
 * iwlmei is the kernel module that is in charge of the communication between
 * the iwlwifi driver and the CSME firmware's WLAN driver. This communication
 * uses the SAP protocol defined in another file.
 * iwlwifi can request or release ownership on the WiFi device through iwlmei.
@@ -348,7 +348,7 @@ void iwl_mei_set_rfkill_state(bool hw_rfkill, bool sw_rfkill);
/**
 * iwl_mei_set_nic_info() - set mac address
 * @mac_address: mac address to set
 * @nvm_address: NVM mac adsress to set
 * @nvm_address: NVM mac address to set
 *
 * This function must be called upon mac address change.
 */
Loading