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

Commit 8ba1d75c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: fix IPC low priority logging"

parents 7c1d96b7 a97c14ab
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@

static struct dentry *dent;
static char dbg_buff[4096];
static void *gsi_ipc_logbuf_low;

static void gsi_wq_print_dp_stats(struct work_struct *work);
static DECLARE_DELAYED_WORK(gsi_print_dp_stats_work, gsi_wq_print_dp_stats);
@@ -758,22 +759,20 @@ static ssize_t gsi_enable_ipc_low(struct file *file,
	if (kstrtos8(dbg_buff, 0, &option))
		return -EFAULT;

	mutex_lock(&gsi_ctx->mlock);
	if (option) {
		if (!gsi_ctx->ipc_logbuf_low) {
			gsi_ctx->ipc_logbuf_low =
		if (!gsi_ipc_logbuf_low) {
			gsi_ipc_logbuf_low =
				ipc_log_context_create(GSI_IPC_LOG_PAGES,
					"gsi_low", 0);
		}

		if (gsi_ctx->ipc_logbuf_low == NULL) {
			if (gsi_ipc_logbuf_low == NULL)
				TERR("failed to get ipc_logbuf_low\n");
			return -EFAULT;
		}
		gsi_ctx->ipc_logbuf_low = gsi_ipc_logbuf_low;
	} else {
		if (gsi_ctx->ipc_logbuf_low)
			ipc_log_context_destroy(gsi_ctx->ipc_logbuf_low);
		gsi_ctx->ipc_logbuf_low = NULL;
	}
	mutex_unlock(&gsi_ctx->mlock);

	return count;
}
+9 −11
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ static struct dentry *dfile_ipa_poll_iteration;
static char dbg_buff[IPA_MAX_MSG_LEN];
static char *active_clients_buf;
static s8 ep_reg_idx;
static void *ipa_ipc_low_buff;

int _ipa_read_gen_reg_v1_1(char *buff, int max_len)
{
@@ -1819,23 +1820,20 @@ static ssize_t ipa_enable_ipc_low(struct file *file,
	if (kstrtos8(dbg_buff, 0, &option))
		return -EFAULT;

	mutex_lock(&ipa_ctx->lock);
	if (option) {
		if (!ipa_ctx->logbuf_low) {
			ipa_ctx->logbuf_low =
		if (!ipa_ipc_low_buff) {
			ipa_ipc_low_buff =
				ipc_log_context_create(IPA_IPC_LOG_PAGES,
				"ipa_low", 0);
		}

		if (ipa_ctx->logbuf_low == NULL) {
			if (ipa_ipc_low_buff == NULL)
				IPAERR("failed to get logbuf_low\n");
			return -EFAULT;
		}

		ipa_ctx->logbuf_low = ipa_ipc_low_buff;
	} else {
		if (ipa_ctx->logbuf_low)
			ipc_log_context_destroy(ipa_ctx->logbuf_low);
		ipa_ctx->logbuf_low = NULL;
	}
	mutex_unlock(&ipa_ctx->lock);

	return count;
}
+8 −9
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ static char dbg_buff[IPA_MAX_MSG_LEN];
static char *active_clients_buf;

static s8 ep_reg_idx;
static void *ipa_ipc_low_buff;


static ssize_t ipa3_read_gen_reg(struct file *file, char __user *ubuf,
@@ -1695,22 +1696,20 @@ static ssize_t ipa3_enable_ipc_low(struct file *file,
	if (kstrtos8(dbg_buff, 0, &option))
		return -EFAULT;

	mutex_lock(&ipa3_ctx->lock);
	if (option) {
		if (!ipa3_ctx->logbuf_low) {
			ipa3_ctx->logbuf_low =
		if (!ipa_ipc_low_buff) {
			ipa_ipc_low_buff =
				ipc_log_context_create(IPA_IPC_LOG_PAGES,
					"ipa_low", 0);
		}

		if (ipa3_ctx->logbuf_low == NULL) {
			if (ipa_ipc_low_buff == NULL)
				IPAERR("failed to get logbuf_low\n");
			return -EFAULT;
		}
		ipa3_ctx->logbuf_low = ipa_ipc_low_buff;
	} else {
		if (ipa3_ctx->logbuf_low)
			ipc_log_context_destroy(ipa3_ctx->logbuf_low);
		ipa3_ctx->logbuf_low = NULL;
	}
	mutex_unlock(&ipa3_ctx->lock);

	return count;
}