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

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

Merge "diag: Enable Diag over MHI"

parents c2b53b2d 46cc8217
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ endmenu
menu "HSIC/SMUX support for DIAG"

config DIAGFWD_BRIDGE_CODE
	depends on USB_QCOM_DIAG_BRIDGE
	depends on USB_QCOM_DIAG_BRIDGE || MSM_MHI
	default y
	bool "Enable QSC/9K DIAG traffic over SMUX/HSIC"
	help
+3 −3
Original line number Diff line number Diff line
obj-$(CONFIG_DIAG_CHAR) := diagchar.o
obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_bridge.o
obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_hsic.o
obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_smux.o
obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_mhi.o
obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_hsic.o
obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_smux.o
obj-$(CONFIG_MSM_MHI) += diagfwd_mhi.o
diagchar-objs := diagchar_core.o diagchar_hdlc.o diagfwd.o diagfwd_peripheral.o diagfwd_smd.o diagfwd_socket.o diag_mux.o diag_memorydevice.o diag_usb.o diagmem.o diagfwd_cntl.o diag_dci.o diag_masks.o diag_debugfs.o
+20 −11
Original line number Diff line number Diff line
@@ -20,8 +20,12 @@
#include "diagfwd.h"
#ifdef CONFIG_DIAGFWD_BRIDGE_CODE
#include "diagfwd_bridge.h"
#endif
#ifdef CONFIG_USB_QCOM_DIAG_BRIDGE
#include "diagfwd_hsic.h"
#include "diagfwd_smux.h"
#endif
#ifdef CONFIG_MSM_MHI
#include "diagfwd_mhi.h"
#endif
#include "diagmem.h"
@@ -712,6 +716,7 @@ static ssize_t diag_dbgfs_write_debug(struct file *fp, const char __user *buf,
}

#ifdef CONFIG_DIAGFWD_BRIDGE_CODE
#ifdef CONFIG_USB_QCOM_DIAG_BRIDGE
static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf,
					size_t count, loff_t *ppos)
{
@@ -779,6 +784,11 @@ static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf,
	return ret;
}

const struct file_operations diag_dbgfs_hsicinfo_ops = {
	.read = diag_dbgfs_read_hsicinfo,
};
#endif
#ifdef CONFIG_MSM_MHI
static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf,
				       size_t count, loff_t *ppos)
{
@@ -848,6 +858,12 @@ static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf,
	return ret;
}


const struct file_operations diag_dbgfs_mhiinfo_ops = {
	.read = diag_dbgfs_read_mhiinfo,
};

#endif
static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf,
				      size_t count, loff_t *ppos)
{
@@ -913,14 +929,6 @@ static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf,
	return ret;
}

const struct file_operations diag_dbgfs_mhiinfo_ops = {
	.read = diag_dbgfs_read_mhiinfo,
};

const struct file_operations diag_dbgfs_hsicinfo_ops = {
	.read = diag_dbgfs_read_hsicinfo,
};

const struct file_operations diag_dbgfs_bridge_ops = {
	.read = diag_dbgfs_read_bridge,
};
@@ -1021,18 +1029,19 @@ int diag_debugfs_init(void)
				    &diag_dbgfs_bridge_ops);
	if (!entry)
		goto err;

#ifdef CONFIG_USB_QCOM_DIAG_BRIDGE
	entry = debugfs_create_file("hsicinfo", 0444, diag_dbgfs_dent, 0,
				    &diag_dbgfs_hsicinfo_ops);
	if (!entry)
		goto err;

#endif
#ifdef CONFIG_MSM_MHI
	entry = debugfs_create_file("mhiinfo", 0444, diag_dbgfs_dent, 0,
				    &diag_dbgfs_mhiinfo_ops);
	if (!entry)
		goto err;
#endif

#endif
	diag_dbgfs_table_index = 0;
	diag_dbgfs_mempool_index = 0;
	diag_dbgfs_usbinfo_index = 0;
+2 −1
Original line number Diff line number Diff line
@@ -3142,7 +3142,8 @@ static void diag_debug_init(void)
	 * Set the bit mask here as per diag_ipc_logging.h to enable debug logs
	 * to be logged to IPC
	 */
	diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI;
	diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI |
				DIAG_DEBUG_BRIDGE;
}
#else
static void diag_debug_init(void)
+8 −0
Original line number Diff line number Diff line
@@ -18,11 +18,15 @@
#include <linux/workqueue.h>
#include <linux/ratelimit.h>
#include <linux/platform_device.h>
#ifdef USB_QCOM_DIAG_BRIDGE
#include <linux/smux.h>
#endif
#include "diag_mux.h"
#include "diagfwd_bridge.h"
#ifdef USB_QCOM_DIAG_BRIDGE
#include "diagfwd_hsic.h"
#include "diagfwd_smux.h"
#endif
#include "diagfwd_mhi.h"
#include "diag_dci.h"

@@ -256,9 +260,11 @@ int diagfwd_bridge_init()
	err = diag_mdm_init();
	if (err)
		goto fail;
	#ifdef USB_QCOM_DIAG_BRIDGE
	err = diag_smux_init();
	if (err)
		goto fail;
	#endif
	return 0;

fail:
@@ -268,8 +274,10 @@ fail:

void diagfwd_bridge_exit()
{
	#ifdef USB_QCOM_DIAG_BRIDGE
	diag_hsic_exit();
	diag_smux_exit();
	#endif
}

int diagfwd_bridge_close(int id)
Loading