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

Commit f4178608 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "soc: qcom: bgrsb: send disable command to BG"

parents b4e99249 9316baf1
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
Qualcomm technologies, Inc. bgrsb-rpmsg

BGRSB-RPMSG : bgrsb-rpmsg is used as an interface between
BG-RSB and Blackghost for Glink communication. bg-rsb is
used to communicate with Blackghost over Glink to
configure the RSB events.

Required properties:
- compatible : should be "qcom,bgrsb-rpmsg"
- glink-channels : RSB_CTRL
- glinkpkt-edge : bg
- intents : <0x200 20>

Example:
	qcom,bg-rsb {
		compatible = "qcom,bgrsb-rpmsg";
		qcom,glink-channels = "RSB_CTRL";
		qcom,glinkpkt-edge = "bg";
		intents = <0x200 20>;
	};
+9 −0
Original line number Diff line number Diff line
@@ -1040,6 +1040,15 @@ config MSM_BGRSB
	  the regulator specific to RSB. Sends the side band events generated
	  by BG to input framework.

config MSM_BGRSB_RPMSG
	bool "Provide support for Blackghost events to RSB"
	depends on MSM_BGRSB
	help
	  BGRSB-RPMSG informs BGRSB driver if GLINK channel has been
	  opened by remote processor. It doesn't maintain state machine
	  and is probed when BG opens channel and removed when the
	  channel is closed by remote processor.

config MSM_PIL_SSR_BG
	tristate "MSM Subsystem Blackghost(BG) Support"
	depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ obj-$(CONFIG_SDX_EXT_IPC) += sdx_ext_ipc.o
obj-$(CONFIG_MSM_PIL_SSR_BG) += subsys-pil-bg.o
obj-$(CONFIG_QTI_NOTIFY_SIDEBAND) += sideband_notify.o
obj-$(CONFIG_MSM_BGRSB) += bg_rsb.o
obj-$(CONFIG_MSM_BGRSB_RPMSG) += bgrsb_rpmsg.o

ifdef CONFIG_MSM_SUBSYSTEM_RESTART
       obj-y += subsystem_notif.o
+4 −8
Original line number Diff line number Diff line
@@ -582,9 +582,13 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str)
		return ret;

	switch (val) {
	case BGRSB_IN_TWM:
		dev->is_in_twm = true;
	case BGRSB_POWER_DISABLE:
		queue_work(dev->bgrsb_wq, &dev->rsb_down_work);
		break;
	case BGRSB_OUT_TWM:
		dev->is_in_twm = false;
	case BGRSB_POWER_ENABLE:
		queue_work(dev->bgrsb_wq, &dev->rsb_up_work);
		break;
@@ -623,14 +627,6 @@ static int split_bg_work(struct bgrsb_priv *dev, char *str)
		dev->bttn_configs = (uint8_t)val;
		queue_work(dev->bgrsb_wq, &dev->bttn_configr_work);
		break;
	case BGRSB_IN_TWM:
		dev->is_in_twm = true;
	case BGRSB_GLINK_POWER_DISABLE:
		break;
	case BGRSB_OUT_TWM:
		dev->is_in_twm = false;
	case BGRSB_GLINK_POWER_ENABLE:
		break;
	}
	return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -51,8 +51,6 @@ struct event {
#define	BGRSB_POWER_ENABLE	1
#define	BGRSB_POWER_CALIBRATION	2
#define	BGRSB_BTTN_CONFIGURE	5
#define	BGRSB_GLINK_POWER_ENABLE	6
#define	BGRSB_GLINK_POWER_DISABLE	7
#define	BGRSB_IN_TWM	8
#define	BGRSB_OUT_TWM	9

Loading