162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/************************************************************************
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci    AudioScience HPI driver
562306a36Sopenharmony_ci    Copyright (C) 1997-2011  AudioScience Inc. <support@audioscience.com>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciDebug macro translation.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci************************************************************************/
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "hpi_internal.h"
1362306a36Sopenharmony_ci#include "hpidebug.h"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/* Debug level; 0 quiet; 1 informative, 2 debug, 3 verbose debug.  */
1662306a36Sopenharmony_ciint hpi_debug_level = HPI_DEBUG_LEVEL_DEFAULT;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_civoid hpi_debug_init(void)
1962306a36Sopenharmony_ci{
2062306a36Sopenharmony_ci	printk(KERN_INFO "debug start\n");
2162306a36Sopenharmony_ci}
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciint hpi_debug_level_set(int level)
2462306a36Sopenharmony_ci{
2562306a36Sopenharmony_ci	int old_level;
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	old_level = hpi_debug_level;
2862306a36Sopenharmony_ci	hpi_debug_level = level;
2962306a36Sopenharmony_ci	return old_level;
3062306a36Sopenharmony_ci}
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciint hpi_debug_level_get(void)
3362306a36Sopenharmony_ci{
3462306a36Sopenharmony_ci	return hpi_debug_level;
3562306a36Sopenharmony_ci}
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_civoid hpi_debug_message(struct hpi_message *phm, char *sz_fileline)
3862306a36Sopenharmony_ci{
3962306a36Sopenharmony_ci	if (phm) {
4062306a36Sopenharmony_ci		printk(KERN_DEBUG "HPI_MSG%d,%d,%d,%d,%d\n", phm->version,
4162306a36Sopenharmony_ci			phm->adapter_index, phm->obj_index, phm->function,
4262306a36Sopenharmony_ci			phm->u.c.attribute);
4362306a36Sopenharmony_ci	}
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci}
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_civoid hpi_debug_data(u16 *pdata, u32 len)
4862306a36Sopenharmony_ci{
4962306a36Sopenharmony_ci	u32 i;
5062306a36Sopenharmony_ci	int j;
5162306a36Sopenharmony_ci	int k;
5262306a36Sopenharmony_ci	int lines;
5362306a36Sopenharmony_ci	int cols = 8;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	lines = DIV_ROUND_UP(len, cols);
5662306a36Sopenharmony_ci	if (lines > 8)
5762306a36Sopenharmony_ci		lines = 8;
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	for (i = 0, j = 0; j < lines; j++) {
6062306a36Sopenharmony_ci		printk(KERN_DEBUG "%p:", (pdata + i));
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		for (k = 0; k < cols && i < len; i++, k++)
6362306a36Sopenharmony_ci			printk(KERN_CONT "%s%04x", k == 0 ? "" : " ", pdata[i]);
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci		printk(KERN_CONT "\n");
6662306a36Sopenharmony_ci	}
6762306a36Sopenharmony_ci}
68