[PATCH v2 03/21] ath10k: Allow changing ath10k debug mask at runtime.

Valo, Kalle kvalo at qca.qualcomm.com
Thu Sep 15 07:19:24 PDT 2016


Ben Greear <greearb at candelatech.com> writes:

> On 09/14/2016 07:06 AM, Valo, Kalle wrote:
>> greearb at candelatech.com writes:
>>
>>> From: Ben Greear <greearb at candelatech.com>
>>>
>>> Using debugfs.  More convenient than module options
>>> in some cases.
>>>
>>> Signed-off-by: Ben Greear <greearb at candelatech.com>
>>> ---
>>>   drivers/net/wireless/ath/ath10k/debug.c | 62 +++++++++++++++++++++++++++++++++
>>>   1 file changed, 62 insertions(+)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
>>> index e251155..d552a4a 100644
>>> --- a/drivers/net/wireless/ath/ath10k/debug.c
>>> +++ b/drivers/net/wireless/ath/ath10k/debug.c
>>> @@ -870,6 +870,65 @@ static const struct file_operations fops_reg_addr = {
>>>   	.llseek = default_llseek,
>>>   };
>>>
>>> +static ssize_t ath10k_read_debug_level(struct file *file,
>>> +				       char __user *user_buf,
>>> +				       size_t count, loff_t *ppos)
>>> +{
>>> +	int sz;
>>> +	const char buf[] =
>>> +		"To change debug level, set value adding up desired flags:\n"
>>> +		"PCI:                0x1\n"
>>> +		"WMI:                0x2\n"
>>> +		"HTC:                0x4\n"
>>> +		"HTT:                0x8\n"
>>> +		"MAC:               0x10\n"
>>> +		"BOOT:              0x20\n"
>>> +		"PCI-DUMP:          0x40\n"
>>> +		"HTT-DUMP:          0x80\n"
>>> +		"MGMT:             0x100\n"
>>> +		"DATA:             0x200\n"
>>> +		"BMI:              0x400\n"
>>> +		"REGULATORY:       0x800\n"
>>> +		"TESTMODE:        0x1000\n"
>>> +		"INFO-AS-DBG: 0x40000000\n"
>>> +		"FW:          0x80000000\n"
>>> +		"ALL:         0xFFFFFFFF\n";
>>> +	char wbuf[sizeof(buf) + 60];
>>> +	sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
>>> +		      ath10k_debug_mask, buf);
>>> +	wbuf[sizeof(wbuf) - 1] = 0;
>>> +
>>> +	return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
>>> +}
>>> +
>>> +/* Set logging level.
>>> + */
>>> +static ssize_t ath10k_write_debug_level(struct file *file,
>>> +					const char __user *user_buf,
>>> +					size_t count, loff_t *ppos)
>>> +{
>>> +	struct ath10k *ar = file->private_data;
>>> +	int ret;
>>> +	unsigned long mask;
>>> +
>>> +	ret = kstrtoul_from_user(user_buf, count, 0, &mask);
>>> +	if (ret)
>>> +		return ret;
>>> +
>>> +	ath10k_warn(ar, "Setting debug-mask to: 0x%lx  old: 0x%x\n",
>>> +		    mask, ath10k_debug_mask);
>>> +	ath10k_debug_mask = mask;
>>> +	return count;
>>> +}
>>
>> There are already sysfs files for module parameters which seems to work
>> just fine for this case:
>>
>> # echo 0xffffffff > /sys/module/ath10k_core/parameters/debug_mask
>
>
> Ok, but it is still nice to have the printout info of what log levels
> means.  Otherwise, you have to go look at firmware source to even know how
> to enable the proper flags.  And as these flags are internal and might change,
> we could change the printout text to match the specific kernel that is running.

The debug log levels are documented in the wiki:

https://wireless.wiki.kernel.org/en/users/drivers/ath10k/debug#debug_log_messages

And they are not supposed to change, there should be only additions.

-- 
Kalle Valo


More information about the ath10k mailing list