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

Commit db949d93 authored by Bhaumik Bhatt's avatar Bhaumik Bhatt Committed by Hemant Kumar
Browse files

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: default avatarBhaumik Bhatt <bbhatt@codeaurora.org>
parent d5ee68b8
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -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) ?