Merge "defconfig: sdm429w: enable raydium touch driver"
diff --git a/Documentation/devicetree/bindings/input/touchscreen/raydium_ts.txt b/Documentation/devicetree/bindings/input/touchscreen/raydium_ts.txt
new file mode 100644
index 0000000..4e640e0
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/raydium_ts.txt
@@ -0,0 +1,52 @@
+Raydium WT030 touch controller
+
+Please add this description here: The Raydium Touch controller is connected to the
+host processor via I2C. The controller generates interrupts when the user touches
+the panel. The host controller is expected to read the touch coordinates over I2C and
+pass the coordinates to the rest of the system.
+
+Required properties:
+
+ - compatible : should be "raydium,raydium-ts".
+ - reg : i2c slave address of the device.
+ - interrupt-parent : parent of interrupt.
+ - raydium,irq-gpio : irq gpio.
+ - raydium,reset-gpio : reset gpio.
+ - vdd_ana-supply : analog voltage power supply needed to power device.
+ - vcc_i2c-supply : i2c voltage power supply needed to power device.
+
+Optional property:
+ - raydium,max-num-touches : addr of ub-i2c.
+ - raydium,display-coords : array of display coordinates.
+ - raydium,x_max : maximal x value of the panel.
+ - raydium,y_max : maximal y value of the panel.
+ - raydium,fw_id : firmare id.
+ - raydium,soft-reset-delay-ms : reset delay for controller (ms), default 100.
+ - raydium,hard-reset-delay-ms : reset delay for controller (ms), default 100.
+
+Example:
+ i2c@78b7000 {
+ status = "ok";
+ raydium_ts@39 {
+ compatible = "raydium,raydium-ts";
+ reg = <0x39>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <13 0x2008>;
+ vdd_ana-supply = <&pm8916_l17>;
+ vcc_i2c-supply = <&pm8916_l6>;
+ pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ raydium,reset-gpio = <&msm_gpio 12 0x00>;
+ raydium,irq-gpio = <&msm_gpio 13 0x00>;
+ raydium,num-max-touches = <2>;
+ raydium,soft-reset-delay-ms = <50>;
+ raydium,hard-reset-delay-ms = <100>;
+ raydium,x_max = <390>;
+ raydium,y_max = <390>;
+ raydium,display-coords= <0 0 390 390>;
+ raydium,fw_id = <0x2202>
+ };
+ };
+
diff --git a/arch/arm/boot/dts/qcom/sa415m-ccard-pcie-ep.dts b/arch/arm/boot/dts/qcom/sa415m-ccard-pcie-ep.dts
index f073aef..a14ad6f 100644
--- a/arch/arm/boot/dts/qcom/sa415m-ccard-pcie-ep.dts
+++ b/arch/arm/boot/dts/qcom/sa415m-ccard-pcie-ep.dts
@@ -1,4 +1,4 @@
-/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
diff --git a/arch/arm/configs/msm8909_defconfig b/arch/arm/configs/msm8909_defconfig
index 9ce2354..6c151af 100644
--- a/arch/arm/configs/msm8909_defconfig
+++ b/arch/arm/configs/msm8909_defconfig
@@ -500,6 +500,7 @@
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDER_IPC_32BIT=y
+CONFIG_STM=y
CONFIG_SENSORS_SSC=y
CONFIG_MSM_TZ_LOG=y
CONFIG_EXT2_FS=y
@@ -573,19 +574,6 @@
CONFIG_PID_IN_CONTEXTIDR=y
CONFIG_DEBUG_SET_MODULE_RONX=y
CONFIG_CORESIGHT=y
-CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
-CONFIG_CORESIGHT_SINK_TPIU=y
-CONFIG_CORESIGHT_SOURCE_ETM3X=y
-CONFIG_CORESIGHT_REMOTE_ETM=y
-CONFIG_CORESIGHT_REMOTE_ETM_DEFAULT_ENABLE=0
-CONFIG_CORESIGHT_QCOM_REPLICATOR=y
-CONFIG_CORESIGHT_DBGUI=y
-CONFIG_CORESIGHT_STM=y
-CONFIG_CORESIGHT_TPDA=y
-CONFIG_CORESIGHT_TPDM=y
-CONFIG_CORESIGHT_CTI=y
-CONFIG_CORESIGHT_EVENT=y
-CONFIG_CORESIGHT_HWEVENT=y
CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
CONFIG_SECURITY=y
CONFIG_LSM_MMAP_MIN_ADDR=4096
diff --git a/arch/arm/configs/sa415m-perf_defconfig b/arch/arm/configs/sa415m-perf_defconfig
index cf65764..192094e 100644
--- a/arch/arm/configs/sa415m-perf_defconfig
+++ b/arch/arm/configs/sa415m-perf_defconfig
@@ -224,11 +224,12 @@
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_WCNSS_MEM_PRE_ALLOC=y
-CONFIG_CNSS2=y
+CONFIG_CNSS2=m
CONFIG_CNSS2_DEBUG=y
CONFIG_CNSS2_QMI=y
CONFIG_CLD_HL_SDIO_CORE=y
CONFIG_CLD_LL_CORE=y
+CONFIG_CNSS_UTILS=y
CONFIG_CNSS_GENL=y
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_EVDEV=m
diff --git a/arch/arm/configs/sa415m_defconfig b/arch/arm/configs/sa415m_defconfig
index 867df2a..96e21cc 100644
--- a/arch/arm/configs/sa415m_defconfig
+++ b/arch/arm/configs/sa415m_defconfig
@@ -225,11 +225,12 @@
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_WCNSS_MEM_PRE_ALLOC=y
-CONFIG_CNSS2=y
+CONFIG_CNSS2=m
CONFIG_CNSS2_DEBUG=y
CONFIG_CNSS2_QMI=y
CONFIG_CLD_HL_SDIO_CORE=y
CONFIG_CLD_LL_CORE=y
+CONFIG_CNSS_UTILS=y
CONFIG_CNSS_GENL=y
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_EVDEV=m
diff --git a/arch/arm64/boot/dts/qcom/sda429-bg-wtp-overlay.dts b/arch/arm64/boot/dts/qcom/sda429-bg-wtp-overlay.dts
index 4a635a4..8962539 100644
--- a/arch/arm64/boot/dts/qcom/sda429-bg-wtp-overlay.dts
+++ b/arch/arm64/boot/dts/qcom/sda429-bg-wtp-overlay.dts
@@ -156,6 +156,36 @@
/delete-node/ qcom,panel-supply-entry@0;
};
+&i2c_4 {
+ status = "ok";
+ tsc@24 {
+ status = "disabled";
+ };
+
+ raydium_ts@39 {
+ compatible = "raydium,raydium-ts";
+ reg = <0x39>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <13 0x2008>;
+ vdd_ana-supply = <&pm660_l11>;
+ vcc_i2c-supply = <&pm660_l13>;
+ pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
+ "pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ raydium,reset-gpio = <&tlmm 64 0x00>;
+ raydium,irq-gpio = <&tlmm 65 0x00>;
+ raydium,num-max-touches = <2>;
+ raydium,soft-reset-delay-ms = <50>;
+ raydium,hard-reset-delay-ms = <100>;
+ raydium,x_max = <416>;
+ raydium,y_max = <416>;
+ raydium,display-coords= <0 0 416 416>;
+ raydium,fw_id = <0x2202>;
+ };
+};
+
&usb_otg {
HSUSB_3p3-supply = <&L16A>;
};
diff --git a/arch/arm64/boot/dts/qcom/sdm429-bg-wdp-overlay.dts b/arch/arm64/boot/dts/qcom/sdm429-bg-wdp-overlay.dts
index 37ff160..2a4a02d2 100644
--- a/arch/arm64/boot/dts/qcom/sdm429-bg-wdp-overlay.dts
+++ b/arch/arm64/boot/dts/qcom/sdm429-bg-wdp-overlay.dts
@@ -20,7 +20,7 @@
model = "Qualcomm Technologies, Inc. SDM429 QRD BG WDP Overlay";
compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
qcom,msm-id = <416 0x0>;
- qcom,board-id = <0x01000b 9>;
+ qcom,board-id = <0x00010b 9>;
qcom,pmic-id = <0x0002001b 0x0 0x0 0x0>;
};
diff --git a/arch/arm64/boot/dts/qcom/sdm429-bg-wdp.dts b/arch/arm64/boot/dts/qcom/sdm429-bg-wdp.dts
index d945659..af981b4 100644
--- a/arch/arm64/boot/dts/qcom/sdm429-bg-wdp.dts
+++ b/arch/arm64/boot/dts/qcom/sdm429-bg-wdp.dts
@@ -21,6 +21,6 @@
model = "Qualcomm Technologies, Inc. SDM429 BG WDP";
compatible = "qcom,sdm429w-qrd", "qcom,sdm429w", "qcom,qrd";
qcom,msm-id = <416 0x0>;
- qcom,board-id = <0x01000b 9>;
+ qcom,board-id = <0x00010b 9>;
qcom,pmic-id = <0x0002001b 0x0 0x0 0x0>;
};
diff --git a/arch/arm64/boot/dts/qcom/sdm429-bg-wtp-overlay.dts b/arch/arm64/boot/dts/qcom/sdm429-bg-wtp-overlay.dts
index 438cc8a..2d6e4f5 100644
--- a/arch/arm64/boot/dts/qcom/sdm429-bg-wtp-overlay.dts
+++ b/arch/arm64/boot/dts/qcom/sdm429-bg-wtp-overlay.dts
@@ -149,6 +149,8 @@
qcom,dsi-pref-prim-pan = <&dsi_auo_416p_amoled_cmd>;
/delete-property/ vdd-supply;
vddio-supply = <&L11A>;
+ pinctrl-0 = <&mdss_te_active>;
+ pinctrl-1 = <&mdss_te_suspend>;
qcom,platform-enable-gpio = <&pm660_gpios 12 0>;
};
@@ -156,6 +158,36 @@
/delete-node/ qcom,panel-supply-entry@0;
};
+&i2c_4 {
+ status = "ok";
+ tsc@24 {
+ status = "disabled";
+ };
+
+ raydium_ts@39 {
+ compatible = "raydium,raydium-ts";
+ reg = <0x39>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <13 0x2008>;
+ vdd_ana-supply = <&pm660_l11>;
+ vcc_i2c-supply = <&pm660_l13>;
+ pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
+ "pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ raydium,reset-gpio = <&tlmm 64 0x00>;
+ raydium,irq-gpio = <&tlmm 65 0x00>;
+ raydium,num-max-touches = <2>;
+ raydium,soft-reset-delay-ms = <50>;
+ raydium,hard-reset-delay-ms = <100>;
+ raydium,x_max = <416>;
+ raydium,y_max = <416>;
+ raydium,display-coords= <0 0 416 416>;
+ raydium,fw_id = <0x2202>;
+ };
+};
+
&usb_otg {
HSUSB_3p3-supply = <&L16A>;
};
diff --git a/drivers/char/diag/diag_dci.c b/drivers/char/diag/diag_dci.c
index 548bd58..2a3b46b 100644
--- a/drivers/char/diag/diag_dci.c
+++ b/drivers/char/diag/diag_dci.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -3133,6 +3133,7 @@
kfree(new_entry);
new_entry = NULL;
}
+ put_task_struct(current);
mutex_unlock(&driver->dci_mutex);
return DIAG_DCI_NO_REG;
}
diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c
index dc49be3..607369d 100644
--- a/drivers/net/wireless/cnss2/pci.c
+++ b/drivers/net/wireless/cnss2/pci.c
@@ -2155,8 +2155,8 @@
mhi_ctrl->iova_stop = pci_priv->smmu_iova_start +
pci_priv->smmu_iova_len;
} else {
- mhi_ctrl->iova_start = memblock_start_of_DRAM();
- mhi_ctrl->iova_stop = memblock_end_of_DRAM();
+ mhi_ctrl->iova_start = 0;
+ mhi_ctrl->iova_stop = (dma_addr_t)U64_MAX;
}
mhi_ctrl->link_status = cnss_mhi_link_status;
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
index 50dc080..672f721 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -32,6 +32,8 @@
#define IPA_READ_WRITE_MODE 0664
#define IPA_WRITE_ONLY_MODE 0220
+#define DEBUG_BUF_MAX_LEN(nbytes) (nbytes < IPA_MAX_MSG_LEN ? 1 : 0)
+
struct ipa3_debugfs_file {
const char *name;
umode_t mode;
@@ -392,26 +394,34 @@
ipa3_hdr_l2_type_name[entry->type]);
if (entry->is_hdr_proc_ctx) {
- nbytes += scnprintf(
- dbg_buff + nbytes,
- IPA_MAX_MSG_LEN - nbytes,
- "phys_base=0x%pa ",
- &entry->phys_base);
+ if (DEBUG_BUF_MAX_LEN(nbytes)) {
+ nbytes += scnprintf(
+ dbg_buff + nbytes,
+ IPA_MAX_MSG_LEN - nbytes,
+ "phys_base=0x%pa ",
+ &entry->phys_base);
+ }
} else {
- nbytes += scnprintf(
- dbg_buff + nbytes,
- IPA_MAX_MSG_LEN - nbytes,
- "ofst=%u ",
- entry->offset_entry->offset >> 2);
+ if (DEBUG_BUF_MAX_LEN(nbytes)) {
+ nbytes += scnprintf(
+ dbg_buff + nbytes,
+ IPA_MAX_MSG_LEN - nbytes,
+ "ofst=%u ",
+ entry->offset_entry->offset >> 2);
+ }
}
for (i = 0; i < entry->hdr_len; i++) {
- scnprintf(dbg_buff + nbytes + i * 2,
- IPA_MAX_MSG_LEN - nbytes - i * 2,
- "%02x", entry->hdr[i]);
+ if (DEBUG_BUF_MAX_LEN(nbytes + i * 2)) {
+ scnprintf(dbg_buff + nbytes + i * 2,
+ IPA_MAX_MSG_LEN - nbytes - i * 2,
+ "%02x", entry->hdr[i]);
+ }
}
- scnprintf(dbg_buff + nbytes + entry->hdr_len * 2,
- IPA_MAX_MSG_LEN - nbytes - entry->hdr_len * 2,
- "\n");
+ if (DEBUG_BUF_MAX_LEN(nbytes + entry->hdr_len * 2)) {
+ scnprintf(dbg_buff + nbytes + entry->hdr_len * 2,
+ IPA_MAX_MSG_LEN - nbytes - entry->hdr_len * 2,
+ "\n");
+ }
pr_err("%s", dbg_buff);
}
mutex_unlock(&ipa3_ctx->lock);
diff --git a/drivers/platform/msm/ipa/test/ipa_ut_framework.c b/drivers/platform/msm/ipa/test/ipa_ut_framework.c
index dad3ec9..1db9ce9 100644
--- a/drivers/platform/msm/ipa/test/ipa_ut_framework.c
+++ b/drivers/platform/msm/ipa/test/ipa_ut_framework.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -439,9 +439,11 @@
for (i = 0 ; i < suite->tests_cnt ; i++) {
if (!suite->tests[i].run_in_regression)
continue;
- nbytes += scnprintf(buf + nbytes,
- IPA_UT_DEBUG_READ_BUF_SIZE - nbytes,
- "\t\t%s\n", suite->tests[i].name);
+ if (nbytes < IPA_UT_DEBUG_READ_BUF_SIZE) {
+ nbytes += scnprintf(buf + nbytes,
+ IPA_UT_DEBUG_READ_BUF_SIZE - nbytes,
+ "\t\t%s\n", suite->tests[i].name);
+ }
}
}
diff --git a/include/linux/diagchar.h b/include/linux/diagchar.h
index ae72202..9e9408d 100644
--- a/include/linux/diagchar.h
+++ b/include/linux/diagchar.h
@@ -148,7 +148,7 @@
* a new RANGE of SSIDs to the msg_mask_tbl.
*/
#define MSG_MASK_TBL_CNT 26
-#define APPS_EVENT_LAST_ID 0xCB9
+#define APPS_EVENT_LAST_ID 0xCC1
#define MSG_SSID_0 0
#define MSG_SSID_0_LAST 132
@@ -925,7 +925,7 @@
/* LOG CODES */
static const uint32_t log_code_last_tbl[] = {
0x0, /* EQUIP ID 0 */
- 0x1CCA, /* EQUIP ID 1 */
+ 0x1CD6, /* EQUIP ID 1 */
0x0, /* EQUIP ID 2 */
0x0, /* EQUIP ID 3 */
0x4910, /* EQUIP ID 4 */
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 3e9b136..fd7a83c 100755
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -1671,6 +1671,7 @@
CMD(add_tx_ts, ADD_TX_TS);
CMD(set_multicast_to_unicast, SET_MULTICAST_TO_UNICAST);
CMD(update_connect_params, UPDATE_CONNECT_PARAMS);
+ CMD(update_ft_ies, UPDATE_FT_IES);
}
/* add into the if now */
#undef CMD