[Intel-wired-lan] [PATCH net-next v9 3/5] ice: add ability to set FW log configuration

Tony Nguyen anthony.l.nguyen at intel.com
Fri Mar 3 23:21:48 UTC 2023


On 3/2/2023 1:51 PM, Paul M Stillwell Jr wrote:

[...]

> +/**
> + * ice_pf_fwlog_update_modules - update 1 or more modules via debugfs
> + * @pf: pointer to the PF struct
> + * @log_level: log_level to use for the @events
> + * @events: events to update
> + */
> +int ice_pf_fwlog_update_modules(struct ice_pf *pf, u8 log_level,
> +				unsigned long events)
> +{
> +	struct ice_fwlog_module_entry *entries;
> +	u16 module_id, max_bits;
> +	struct ice_hw *hw = &pf->hw;

In addition to what lkp reported. RCT

> +
> +	if (log_level >= ICE_FWLOG_LEVEL_INVALID) {
> +		dev_err(ice_pf_to_dev(pf), "Invalid FW log level %u, all level(s) >= %u are invalid\n",
> +			log_level, ICE_FWLOG_LEVEL_INVALID);
> +		return -EINVAL;
> +	}
> +
> +	if (events >= BIT(ICE_AQC_FW_LOG_ID_MAX)) {
> +		dev_err(ice_pf_to_dev(pf), "Invalid FW log events 0x%lx, all FW log event bits >= 0x%lx are invalid\n",
> +			events, BIT(ICE_AQC_FW_LOG_ID_MAX));
> +		return -EINVAL;
> +	}
> +
> +	entries = (struct ice_fwlog_module_entry *)hw->fwlog_cfg.module_entries;
> +
> +	max_bits = min_t(u16, BITS_PER_TYPE(unsigned long),
> +			 ICE_AQC_FW_LOG_ID_MAX);
> +
> +	for_each_set_bit(module_id, &events, max_bits) {
> +		entries[module_id].log_level = log_level;
> +	}
> +
> +	return 0;
> +}
> +
>   /**
>    * ice_register_netdev - register netdev
>    * @vsi: pointer to the VSI struct


More information about the Intel-wired-lan mailing list