mhi: dev: uci: inherit IPC log level from controller

Make userspace control interface devices inherit log levels
from the controller to allow level switches to reflect across
MHI clients.

Change-Id: Id8526f11acc1a0852811f9c78d7d7f073aa5c724
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
This commit is contained in:
Bhaumik Bhatt 2020-01-15 11:04:42 -08:00 • committed by Hemant Kumar
commit db949d93e3

View file

@ -50,6 +50,7 @@ struct uci_dev {
bool enabled;
u32 tiocm;
void *ipc_log;
enum MHI_DEBUG_LEVEL *ipc_log_lvl;
};
struct mhi_uci_drv {
@ -64,30 +65,26 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR;
#ifdef CONFIG_MHI_DEBUG
#define IPC_LOG_LVL (MHI_MSG_LVL_VERBOSE)
#define MHI_UCI_IPC_LOG_PAGES (25)
#else
#define IPC_LOG_LVL (MHI_MSG_LVL_ERROR)
#define MHI_UCI_IPC_LOG_PAGES (1)
#endif
#ifdef CONFIG_MHI_DEBUG
#define MSG_VERB(fmt, ...) do { \
if (msg_lvl <= MHI_MSG_LVL_VERBOSE) \
printk("%s[D][%s] " fmt, KERN_ERR, __func__, \
##__VA_ARGS__); \
if (IPC_LOG_LVL <= MHI_MSG_LVL_VERBOSE) \
if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \
(*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_VERBOSE)) \
ipc_log_string(uci_dev->ipc_log, "%s[D][%s] " fmt, \
"", __func__, ##__VA_ARGS__); \
} while (0)
#else
#define MSG_VERB(fmt, ...)
#define MHI_UCI_IPC_LOG_PAGES (1)
#define MSG_VERB(fmt, ...) do { \
if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \
(*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_VERBOSE)) \
ipc_log_string(uci_dev->ipc_log, "%s[D][%s] " fmt, \
"", __func__, ##__VA_ARGS__); \
} while (0)
#endif
@ -95,7 +92,8 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR;
if (msg_lvl <= MHI_MSG_LVL_INFO) \
printk("%s[I][%s] " fmt, KERN_ERR, __func__, \
##__VA_ARGS__); \
if (IPC_LOG_LVL <= MHI_MSG_LVL_INFO) \
if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \
(*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_INFO)) \
ipc_log_string(uci_dev->ipc_log, "%s[I][%s] " fmt, \
"", __func__, ##__VA_ARGS__); \
} while (0)
@ -104,7 +102,8 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR;
if (msg_lvl <= MHI_MSG_LVL_ERROR) \
printk("%s[E][%s] " fmt, KERN_ERR, __func__, \
##__VA_ARGS__); \
if (IPC_LOG_LVL <= MHI_MSG_LVL_ERROR) \
if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \
(*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_ERROR)) \
ipc_log_string(uci_dev->ipc_log, "%s[E][%s] " fmt, \
"", __func__, ##__VA_ARGS__); \
} while (0)
@ -574,6 +573,7 @@ static int mhi_uci_probe(struct mhi_device *mhi_dev,
const struct mhi_device_id *id)
{
struct uci_dev *uci_dev;
struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
int minor;
char node_name[32];
int dir;
@ -609,6 +609,7 @@ static int mhi_uci_probe(struct mhi_device *mhi_dev,
mhi_dev->ul_chan_id);
uci_dev->ipc_log = ipc_log_context_create(MHI_UCI_IPC_LOG_PAGES,
node_name, 0);
uci_dev->ipc_log_lvl = &mhi_cntrl->log_lvl;
for (dir = 0; dir < 2; dir++) {
struct uci_chan *uci_chan = (dir) ?