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

Commit 8f470ce3 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by John W. Linville
Browse files

iwlagn: debug_level moves to struct iwl_shared



This will allow all the modules to look at it.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent cac988a6
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -474,7 +474,7 @@ static ssize_t show_debug_level(struct device *d,
				struct device_attribute *attr, char *buf)
{
	struct iwl_shared *shrd = dev_get_drvdata(d);
	return sprintf(buf, "0x%08X\n", iwl_get_debug_level(shrd->priv));
	return sprintf(buf, "0x%08X\n", iwl_get_debug_level(shrd));
}
static ssize_t store_debug_level(struct device *d,
				struct device_attribute *attr,
@@ -489,9 +489,9 @@ static ssize_t store_debug_level(struct device *d,
	if (ret)
		IWL_ERR(priv, "%s is not in hex or decimal form.\n", buf);
	else {
		priv->debug_level = val;
		shrd->dbg_level_dev = val;
		if (iwl_alloc_traffic_mem(priv))
			IWL_ERR(priv,
			IWL_ERR(shrd->priv,
				"Not enough memory to generate traffic log\n");
	}
	return strnlen(buf, count);
@@ -1621,7 +1621,7 @@ int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
	priv->bt_ch_announce = iwlagn_mod_params.bt_ch_announce;

#ifdef CONFIG_IWLWIFI_DEBUG
	if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) && !full_log)
	if (!(iwl_get_debug_level(priv->shrd) & IWL_DL_FW_ERRORS) && !full_log)
		size = (size > DEFAULT_DUMP_EVENT_LOG_ENTRIES)
			? DEFAULT_DUMP_EVENT_LOG_ENTRIES : size;
#else
@@ -1641,7 +1641,7 @@ int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
		if (!*buf)
			return -ENOMEM;
	}
	if ((iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) || full_log) {
	if ((iwl_get_debug_level(priv->shrd) & IWL_DL_FW_ERRORS) || full_log) {
		/*
		 * if uCode has wrapped back to top of log,
		 * start at the oldest entry,
+5 −5
Original line number Diff line number Diff line
@@ -931,7 +931,7 @@ void iwl_irq_handle_error(struct iwl_priv *priv)
	iwl_dump_fh(priv, NULL, false);
	iwl_dump_nic_event_log(priv, false, NULL, false);
#ifdef CONFIG_IWLWIFI_DEBUG
	if (iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS)
	if (iwl_get_debug_level(priv->shrd) & IWL_DL_FW_ERRORS)
		iwl_print_rx_config_cmd(priv,
					&priv->contexts[IWL_RXON_CTX_BSS]);
#endif
@@ -1397,7 +1397,7 @@ int iwl_alloc_traffic_mem(struct iwl_priv *priv)
{
	u32 traffic_size = IWL_TRAFFIC_DUMP_SIZE;

	if (iwl_get_debug_level(priv) & IWL_DL_TX) {
	if (iwl_get_debug_level(priv->shrd) & IWL_DL_TX) {
		if (!priv->tx_traffic) {
			priv->tx_traffic =
				kzalloc(traffic_size, GFP_KERNEL);
@@ -1405,7 +1405,7 @@ int iwl_alloc_traffic_mem(struct iwl_priv *priv)
				return -ENOMEM;
		}
	}
	if (iwl_get_debug_level(priv) & IWL_DL_RX) {
	if (iwl_get_debug_level(priv->shrd) & IWL_DL_RX) {
		if (!priv->rx_traffic) {
			priv->rx_traffic =
				kzalloc(traffic_size, GFP_KERNEL);
@@ -1432,7 +1432,7 @@ void iwl_dbg_log_tx_data_frame(struct iwl_priv *priv,
	__le16 fc;
	u16 len;

	if (likely(!(iwl_get_debug_level(priv) & IWL_DL_TX)))
	if (likely(!(iwl_get_debug_level(priv->shrd) & IWL_DL_TX)))
		return;

	if (!priv->tx_traffic)
@@ -1456,7 +1456,7 @@ void iwl_dbg_log_rx_data_frame(struct iwl_priv *priv,
	__le16 fc;
	u16 len;

	if (likely(!(iwl_get_debug_level(priv) & IWL_DL_RX)))
	if (likely(!(iwl_get_debug_level(priv->shrd) & IWL_DL_RX)))
		return;

	if (!priv->rx_traffic)
+3 −3
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ do { \
#ifdef CONFIG_IWLWIFI_DEBUG
#define IWL_DEBUG(__priv, level, fmt, args...)				\
do {									\
	if (iwl_get_debug_level(__priv) & (level))					\
	if (iwl_get_debug_level(__priv->shrd) & (level))		\
		dev_printk(KERN_ERR, &(__priv->hw->wiphy->dev),		\
			 "%c %s " fmt, in_interrupt() ? 'I' : 'U',	\
			__func__ , ## args);				\
@@ -53,7 +53,7 @@ do { \

#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)			\
do {									\
	if ((iwl_get_debug_level(__priv) & (level)) && net_ratelimit())		\
	if ((iwl_get_debug_level(__priv->shrd) & (level)) && net_ratelimit())\
		dev_printk(KERN_ERR, &(__priv->hw->wiphy->dev),		\
			"%c %s " fmt, in_interrupt() ? 'I' : 'U',	\
			 __func__ , ## args);				\
@@ -61,7 +61,7 @@ do { \

#define iwl_print_hex_dump(priv, level, p, len) 			\
do {                                            			\
	if (iwl_get_debug_level(priv) & level) 				\
	if (iwl_get_debug_level(priv->shrd) & level)			\
		print_hex_dump(KERN_DEBUG, "iwl data: ",		\
			       DUMP_PREFIX_OFFSET, 16, 1, p, len, 1);	\
} while (0)
+4 −2
Original line number Diff line number Diff line
@@ -915,7 +915,8 @@ static ssize_t iwl_dbgfs_traffic_log_read(struct file *file,
				"q[%d]: read_ptr: %u, write_ptr: %u\n",
				cnt, q->read_ptr, q->write_ptr);
	}
	if (priv->tx_traffic && (iwl_get_debug_level(priv) & IWL_DL_TX)) {
	if (priv->tx_traffic &&
		(iwl_get_debug_level(priv->shrd) & IWL_DL_TX)) {
		ptr = priv->tx_traffic;
		pos += scnprintf(buf + pos, bufsz - pos,
				"Tx Traffic idx: %u\n",	priv->tx_traffic_idx);
@@ -938,7 +939,8 @@ static ssize_t iwl_dbgfs_traffic_log_read(struct file *file,
			"read: %u, write: %u\n",
			 rxq->read, rxq->write);

	if (priv->rx_traffic && (iwl_get_debug_level(priv) & IWL_DL_RX)) {
	if (priv->rx_traffic &&
		(iwl_get_debug_level(priv->shrd) & IWL_DL_RX)) {
		ptr = priv->rx_traffic;
		pos += scnprintf(buf + pos, bufsz - pos,
				"Rx Traffic idx: %u\n",	priv->rx_traffic_idx);
+0 −29
Original line number Diff line number Diff line
@@ -1514,12 +1514,6 @@ struct iwl_priv {
	s8 tx_power_lmt_in_half_dbm; /* max tx power in half-dBm format */
	s8 tx_power_next;


#ifdef CONFIG_IWLWIFI_DEBUG
	/* debugging info */
	u32 debug_level; /* per device debugging will override global
			    iwlagn_mod_params.debug_level if set */
#endif /* CONFIG_IWLWIFI_DEBUG */
#ifdef CONFIG_IWLWIFI_DEBUGFS
	/* debugfs */
	u16 tx_traffic_idx;
@@ -1569,29 +1563,6 @@ static inline void iwl_txq_ctx_deactivate(struct iwl_priv *priv, int txq_id)

extern struct iwl_mod_params iwlagn_mod_params;

#ifdef CONFIG_IWLWIFI_DEBUG
/*
 * iwl_get_debug_level: Return active debug level for device
 *
 * Using sysfs it is possible to set per device debug level. This debug
 * level will be used if set, otherwise the global debug level which can be
 * set via module parameter is used.
 */
static inline u32 iwl_get_debug_level(struct iwl_priv *priv)
{
	if (priv->debug_level)
		return priv->debug_level;
	else
		return iwlagn_mod_params.debug_level;
}
#else
static inline u32 iwl_get_debug_level(struct iwl_priv *priv)
{
	return iwlagn_mod_params.debug_level;
}
#endif


static inline struct ieee80211_hdr *iwl_tx_queue_get_hdr(struct iwl_priv *priv,
							 int txq_id, int idx)
{
Loading