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

Commit 5c0c4c85 authored by Kalle Valo's avatar Kalle Valo
Browse files

Merge tag 'iwlwifi-next-for-kalle-2019-02-20' of...

Merge tag 'iwlwifi-next-for-kalle-2019-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next

Fifth batch of iwlwifi patches intended for v5.1

* Some small fixes and continued work on the new debugging
  infrastructure;
* Greg's debugfs clean-ups;
* Some janitorial patches from the community;
* Fix to one false-positive compiler warning;
* VHT extended NSS support;
* New PCI IDs for 9260 and 22000 series;
* Other general bugfixes and cleanups;
parents 6c88e0ce 085486de
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -223,8 +223,8 @@ const struct iwl_cfg iwl22000_2ac_cfg_jf = {
	IWL_DEVICE_22500,
};

const struct iwl_cfg iwl22560_2ax_cfg_hr = {
	.name = "Intel(R) Wireless-AX 22560",
const struct iwl_cfg iwl_ax101_cfg_qu_hr = {
	.name = "Intel(R) Wi-Fi 6 AX101",
	.fw_name_pre = IWL_22000_QU_B_HR_B_FW_PRE,
	IWL_DEVICE_22500,
	/*
@@ -249,7 +249,7 @@ const struct iwl_cfg iwl22260_2ax_cfg = {
};

const struct iwl_cfg killer1650x_2ax_cfg = {
	.name = "Killer(R) Wireless-AX 1650x Wireless Network Adapter (22260NGW)",
	.name = "Killer(R) Wireless-AX 1650x Wireless Network Adapter (200NGW)",
	.fw_name_pre = IWL_CC_A_FW_PRE,
	IWL_DEVICE_22500,
	/*
@@ -262,7 +262,7 @@ const struct iwl_cfg killer1650x_2ax_cfg = {
};

const struct iwl_cfg killer1650w_2ax_cfg = {
	.name = "Killer(R) Wireless-AX 1650w Wireless Network Adapter (22260D2W)",
	.name = "Killer(R) Wireless-AX 1650w Wireless Network Adapter (200D2W)",
	.fw_name_pre = IWL_CC_A_FW_PRE,
	IWL_DEVICE_22500,
	/*
+3 −6
Original line number Diff line number Diff line
@@ -439,13 +439,10 @@ static inline void iwl_dvm_set_pmi(struct iwl_priv *priv, bool state)
}

#ifdef CONFIG_IWLWIFI_DEBUGFS
int iwl_dbgfs_register(struct iwl_priv *priv, struct dentry *dbgfs_dir);
void iwl_dbgfs_register(struct iwl_priv *priv, struct dentry *dbgfs_dir);
#else
static inline int iwl_dbgfs_register(struct iwl_priv *priv,
				     struct dentry *dbgfs_dir)
{
	return 0;
}
static inline void iwl_dbgfs_register(struct iwl_priv *priv,
				      struct dentry *dbgfs_dir) { }
#endif /* CONFIG_IWLWIFI_DEBUGFS */

#ifdef CONFIG_IWLWIFI_DEBUG
+4 −40
Original line number Diff line number Diff line
@@ -37,31 +37,8 @@

/* create and remove of files */
#define DEBUGFS_ADD_FILE(name, parent, mode) do {			\
	if (!debugfs_create_file(#name, mode, parent, priv,		\
				 &iwl_dbgfs_##name##_ops))		\
		goto err;						\
} while (0)

#define DEBUGFS_ADD_BOOL(name, parent, ptr) do {			\
	struct dentry *__tmp;						\
	__tmp = debugfs_create_bool(#name, 0600, parent, ptr);		\
	if (IS_ERR(__tmp) || !__tmp)					\
		goto err;						\
} while (0)

#define DEBUGFS_ADD_X32(name, parent, ptr) do {				\
	struct dentry *__tmp;						\
	__tmp = debugfs_create_x32(#name, 0600, parent, ptr);		\
	if (IS_ERR(__tmp) || !__tmp)					\
		goto err;						\
} while (0)

#define DEBUGFS_ADD_U32(name, parent, ptr, mode) do {			\
	struct dentry *__tmp;						\
	__tmp = debugfs_create_u32(#name, mode,				\
				   parent, ptr);			\
	if (IS_ERR(__tmp) || !__tmp)					\
		goto err;						\
	debugfs_create_file(#name, mode, parent, priv,			\
			    &iwl_dbgfs_##name##_ops);			\
} while (0)

/* file operation */
@@ -2348,21 +2325,15 @@ DEBUGFS_READ_WRITE_FILE_OPS(calib_disabled);
 * Create the debugfs files and directories
 *
 */
int iwl_dbgfs_register(struct iwl_priv *priv, struct dentry *dbgfs_dir)
void iwl_dbgfs_register(struct iwl_priv *priv, struct dentry *dbgfs_dir)
{
	struct dentry *dir_data, *dir_rf, *dir_debug;

	priv->debugfs_dir = dbgfs_dir;

	dir_data = debugfs_create_dir("data", dbgfs_dir);
	if (!dir_data)
		goto err;
	dir_rf = debugfs_create_dir("rf", dbgfs_dir);
	if (!dir_rf)
		goto err;
	dir_debug = debugfs_create_dir("debug", dbgfs_dir);
	if (!dir_debug)
		goto err;

	DEBUGFS_ADD_FILE(nvm, dir_data, 0400);
	DEBUGFS_ADD_FILE(sram, dir_data, 0600);
@@ -2422,13 +2393,6 @@ int iwl_dbgfs_register(struct iwl_priv *priv, struct dentry *dbgfs_dir)

		snprintf(buf, 100, "../../%pd2", dev_dir);

		if (!debugfs_create_symlink("iwlwifi", mac80211_dir, buf))
			goto err;
		debugfs_create_symlink("iwlwifi", mac80211_dir, buf);
	}

	return 0;

err:
	IWL_ERR(priv, "failed to create the dvm debugfs entries\n");
	return -ENOMEM;
}
+1 −4
Original line number Diff line number Diff line
@@ -1509,13 +1509,10 @@ static struct iwl_op_mode *iwl_op_mode_dvm_start(struct iwl_trans *trans,
	if (iwlagn_mac_setup_register(priv, &fw->ucode_capa))
		goto out_destroy_workqueue;

	if (iwl_dbgfs_register(priv, dbgfs_dir))
		goto out_mac80211_unregister;
	iwl_dbgfs_register(priv, dbgfs_dir);

	return op_mode;

out_mac80211_unregister:
	iwlagn_mac_unregister(priv);
out_destroy_workqueue:
	iwl_tt_exit(priv);
	iwl_cancel_deferred_work(priv);
+7 −6
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 *
 * GPL LICENSE SUMMARY
 *
 * Copyright (C) 2018 Intel Corporation
 * Copyright (C) 2018 - 2019 Intel Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of version 2 of the GNU General Public License as
@@ -25,7 +25,7 @@
 *
 * BSD LICENSE
 *
 * Copyright (C) 2018 Intel Corporation
 * Copyright (C) 2018 - 2019 Intel Corporation
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -146,16 +146,17 @@ struct iwl_fw_ini_region_cfg_internal {

/**
 * struct iwl_fw_ini_region_cfg_fifos - meta data of fifos region
 * @lmac1_id: bit map of lmac1 fifos to include in the region.
 * @lmac2_id: bit map of lmac2 fifos to include in the region.
 * @fid1: fifo id 1 - bitmap of lmac tx/rx fifos to include in the region
 * @fid2: fifo id 2 - bitmap of umac rx fifos to include in the region.
 *	It is unused for tx.
 * @num_of_registers: number of prph registers in the region, each register is
 *	4 bytes size.
 * @header_only: none zero value indicates that this region does not include
 *	fifo data and includes only the given registers.
 */
struct iwl_fw_ini_region_cfg_fifos {
	__le32 lmac1_id;
	__le32 lmac2_id;
	__le32 fid1;
	__le32 fid2;
	__le32 num_of_registers;
	__le32 header_only;
} __packed; /* FW_DEBUG_TLV_REGION_FIFOS_S */
Loading