* [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression
@ 2019-08-16 8:30 Jiada Wang
2019-08-16 8:30 ` [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Jiada Wang @ 2019-08-16 8:30 UTC (permalink / raw)
To: nick, dmitry.torokhov; +Cc: linux-input, linux-kernel, jiada_wang, george_davis
From: Nick Dyer <nick.dyer@itdev.co.uk>
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit 2895a6ff150a49f27a02938f8d262be238b296d8)
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 2d70ddf71cd9..a75c35c6f9f9 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -324,6 +324,7 @@ struct mxt_data {
u16 T18_address;
u8 T19_reportid;
u16 T44_address;
+ u8 T48_reportid;
u8 T100_reportid_min;
u8 T100_reportid_max;
@@ -977,6 +978,24 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
data->update_input = true;
}
+static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg)
+{
+ struct device *dev = &data->client->dev;
+ u8 status, state;
+
+ status = msg[1];
+ state = msg[4];
+
+ dev_dbg(dev, "T48 state %d status %02X %s%s%s%s%s\n", state, status,
+ status & 0x01 ? "FREQCHG " : "",
+ status & 0x02 ? "APXCHG " : "",
+ status & 0x04 ? "ALGOERR " : "",
+ status & 0x10 ? "STATCHG " : "",
+ status & 0x20 ? "NLVLCHG " : "");
+
+ return 0;
+}
+
static int mxt_proc_message(struct mxt_data *data, u8 *message)
{
u8 report_id = message[0];
@@ -986,6 +1005,8 @@ static int mxt_proc_message(struct mxt_data *data, u8 *message)
if (report_id == data->T6_reportid) {
mxt_proc_t6_messages(data, message);
+ } else if (report_id == data->T48_reportid) {
+ mxt_proc_t48_messages(data, message);
} else if (!data->input_dev) {
/*
* Do not report events if input device
@@ -1663,6 +1684,7 @@ static void mxt_free_object_table(struct mxt_data *data)
data->T18_address = 0;
data->T19_reportid = 0;
data->T44_address = 0;
+ data->T48_reportid = 0;
data->T100_reportid_min = 0;
data->T100_reportid_max = 0;
data->max_reportid = 0;
@@ -1744,6 +1766,9 @@ static int mxt_parse_object_table(struct mxt_data *data,
case MXT_SPT_GPIOPWM_T19:
data->T19_reportid = min_id;
break;
+ case MXT_PROCG_NOISESUPPRESSION_T48:
+ data->T48_reportid = min_id;
+ break;
case MXT_TOUCH_MULTITOUCHSCREEN_T100:
data->multitouch = MXT_TOUCH_MULTITOUCHSCREEN_T100;
data->T100_reportid_min = min_id;
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression
2019-08-16 8:30 [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
@ 2019-08-16 8:30 ` Jiada Wang
2019-08-16 17:34 ` Dmitry Torokhov
2019-08-16 8:30 ` [PATCH v1 07/63] Input: atmel_mxt_ts - implement T9 vector/orientation support Jiada Wang
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Jiada Wang @ 2019-08-16 8:30 UTC (permalink / raw)
To: nick, dmitry.torokhov; +Cc: linux-input, linux-kernel, jiada_wang, george_davis
From: Nick Dyer <nick.dyer@itdev.co.uk>
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index a75c35c6f9f9..9226ec528adf 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -155,6 +155,9 @@ struct t37_debug {
#define MXT_RESET_VALUE 0x01
#define MXT_BACKUP_VALUE 0x55
+/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
+#define MXT_T42_MSG_TCHSUP BIT(0)
+
/* T100 Multiple Touch Touchscreen */
#define MXT_T100_CTRL 0
#define MXT_T100_CFG1 1
@@ -323,6 +326,8 @@ struct mxt_data {
u8 T9_reportid_max;
u16 T18_address;
u8 T19_reportid;
+ u8 T42_reportid_min;
+ u8 T42_reportid_max;
u16 T44_address;
u8 T48_reportid;
u8 T100_reportid_min;
@@ -978,6 +983,17 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
data->update_input = true;
}
+static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
+{
+ struct device *dev = &data->client->dev;
+ u8 status = msg[1];
+
+ if (status & MXT_T42_MSG_TCHSUP)
+ dev_info(dev, "T42 suppress\n");
+ else
+ dev_info(dev, "T42 normal\n");
+}
+
static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg)
{
struct device *dev = &data->client->dev;
@@ -1005,6 +1021,9 @@ static int mxt_proc_message(struct mxt_data *data, u8 *message)
if (report_id == data->T6_reportid) {
mxt_proc_t6_messages(data, message);
+ } else if (report_id >= data->T42_reportid_min
+ && report_id <= data->T42_reportid_max) {
+ mxt_proc_t42_messages(data, message);
} else if (report_id == data->T48_reportid) {
mxt_proc_t48_messages(data, message);
} else if (!data->input_dev) {
@@ -1683,6 +1702,8 @@ static void mxt_free_object_table(struct mxt_data *data)
data->T9_reportid_max = 0;
data->T18_address = 0;
data->T19_reportid = 0;
+ data->T42_reportid_min = 0;
+ data->T42_reportid_max = 0;
data->T44_address = 0;
data->T48_reportid = 0;
data->T100_reportid_min = 0;
@@ -1760,6 +1781,10 @@ static int mxt_parse_object_table(struct mxt_data *data,
case MXT_SPT_COMMSCONFIG_T18:
data->T18_address = object->start_address;
break;
+ case MXT_PROCI_TOUCHSUPPRESSION_T42:
+ data->T42_reportid_min = min_id;
+ data->T42_reportid_max = max_id;
+ break;
case MXT_SPT_MESSAGECOUNT_T44:
data->T44_address = object->start_address;
break;
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 07/63] Input: atmel_mxt_ts - implement T9 vector/orientation support
2019-08-16 8:30 [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
2019-08-16 8:30 ` [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
@ 2019-08-16 8:30 ` Jiada Wang
2019-08-16 8:30 ` [PATCH v1 08/63] Input: atmel_mxt_ts - implement T15 Key Array support Jiada Wang
2019-08-16 8:30 ` [PATCH v1 09/63] Input: atmel_mxt_ts - handle reports from T47 Stylus object Jiada Wang
3 siblings, 0 replies; 7+ messages in thread
From: Jiada Wang @ 2019-08-16 8:30 UTC (permalink / raw)
To: nick, dmitry.torokhov; +Cc: linux-input, linux-kernel, jiada_wang, george_davis
From: Nick Dyer <nick.dyer@itdev.co.uk>
The atmel touch messages contain orientation information as a byte in a
packed format which can be passed straight on to Android if the input
device configuration is correct.
This requires vector reports to be enabled in maXTouch config (zero
DISVECT bit 3 in T9 CTRL field)
Android converts the format in InputReader.cpp, search for
ORIENTATION_CALIBRATION_VECTOR.
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit a6f0ee919d2631678169b23fb18f55b6dbabcd4c)
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 9226ec528adf..c619ac9f3108 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -816,6 +816,7 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
int y;
int area;
int amplitude;
+ u8 vector;
id = message[0] - data->T9_reportid_min;
status = message[1];
@@ -830,9 +831,10 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
area = message[5];
amplitude = message[6];
+ vector = message[7];
dev_dbg(dev,
- "[%u] %c%c%c%c%c%c%c%c x: %5u y: %5u area: %3u amp: %3u\n",
+ "[%u] %c%c%c%c%c%c%c%c x: %5u y: %5u area: %3u amp: %3u vector: %02X\n",
id,
(status & MXT_T9_DETECT) ? 'D' : '.',
(status & MXT_T9_PRESS) ? 'P' : '.',
@@ -842,7 +844,7 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
(status & MXT_T9_AMP) ? 'A' : '.',
(status & MXT_T9_SUPPRESS) ? 'S' : '.',
(status & MXT_T9_UNGRIP) ? 'U' : '.',
- x, y, area, amplitude);
+ x, y, area, amplitude, vector);
input_mt_slot(input_dev, id);
@@ -867,6 +869,7 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
input_report_abs(input_dev, ABS_MT_POSITION_Y, y);
input_report_abs(input_dev, ABS_MT_PRESSURE, amplitude);
input_report_abs(input_dev, ABS_MT_TOUCH_MAJOR, area);
+ input_report_abs(input_dev, ABS_MT_ORIENTATION, vector);
} else {
/* Touch no longer active, close out slot */
input_mt_report_slot_inactive(input_dev);
@@ -2177,8 +2180,9 @@ static int mxt_initialize_input_device(struct mxt_data *data)
0, 255, 0, 0);
}
- if (data->multitouch == MXT_TOUCH_MULTITOUCHSCREEN_T100 &&
- data->t100_aux_vect) {
+ if (data->multitouch == MXT_TOUCH_MULTI_T9 ||
+ (data->multitouch == MXT_TOUCH_MULTITOUCHSCREEN_T100 &&
+ data->t100_aux_vect)) {
input_set_abs_params(input_dev, ABS_MT_ORIENTATION,
0, 255, 0, 0);
}
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 08/63] Input: atmel_mxt_ts - implement T15 Key Array support
2019-08-16 8:30 [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
2019-08-16 8:30 ` [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
2019-08-16 8:30 ` [PATCH v1 07/63] Input: atmel_mxt_ts - implement T9 vector/orientation support Jiada Wang
@ 2019-08-16 8:30 ` Jiada Wang
2019-08-16 8:30 ` [PATCH v1 09/63] Input: atmel_mxt_ts - handle reports from T47 Stylus object Jiada Wang
3 siblings, 0 replies; 7+ messages in thread
From: Jiada Wang @ 2019-08-16 8:30 UTC (permalink / raw)
To: nick, dmitry.torokhov; +Cc: linux-input, linux-kernel, jiada_wang, george_davis
From: Nick Dyer <nick.dyer@itdev.co.uk>
There is a key array object in many maXTouch chips which allows some X/Y
lines to be used as a key array. This patch maps them to a series of keys
which may be configured in a platform data array.
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit 15bb074b5abf3a101f7b79544213f1c110ea4cab)
[gdavis: Resolve forward port conflicts due to applying upstream
commit 96a938aa214e ("Input: atmel_mxt_ts - remove platform
data support").]
Signed-off-by: George G. Davis <george_davis@mentor.com>
[jiada: Fix compilation warning]
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 56 ++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index c619ac9f3108..99b87042dfe5 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -314,6 +314,9 @@ struct mxt_data {
struct mxt_dbg dbg;
struct gpio_desc *reset_gpio;
bool use_retrigen_workaround;
+ unsigned long t15_keystatus;
+ int t15_num_keys;
+ const unsigned int *t15_keymap;
/* Cached parameters from object table */
u16 T5_address;
@@ -324,6 +327,8 @@ struct mxt_data {
u16 T71_address;
u8 T9_reportid_min;
u8 T9_reportid_max;
+ u8 T15_reportid_min;
+ u8 T15_reportid_max;
u16 T18_address;
u8 T19_reportid;
u8 T42_reportid_min;
@@ -986,6 +991,38 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
data->update_input = true;
}
+static void mxt_proc_t15_messages(struct mxt_data *data, u8 *msg)
+{
+ struct input_dev *input_dev = data->input_dev;
+ struct device *dev = &data->client->dev;
+ int key;
+ bool curr_state, new_state;
+ bool sync = false;
+ unsigned long keystates = le32_to_cpu((__force __le32)msg[2]);
+
+ for (key = 0; key < data->t15_num_keys; key++) {
+ curr_state = test_bit(key, &data->t15_keystatus);
+ new_state = test_bit(key, &keystates);
+
+ if (!curr_state && new_state) {
+ dev_dbg(dev, "T15 key press: %u\n", key);
+ __set_bit(key, &data->t15_keystatus);
+ input_event(input_dev, EV_KEY,
+ data->t15_keymap[key], 1);
+ sync = true;
+ } else if (curr_state && !new_state) {
+ dev_dbg(dev, "T15 key release: %u\n", key);
+ __clear_bit(key, &data->t15_keystatus);
+ input_event(input_dev, EV_KEY,
+ data->t15_keymap[key], 0);
+ sync = true;
+ }
+ }
+
+ if (sync)
+ input_sync(input_dev);
+}
+
static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
{
struct device *dev = &data->client->dev;
@@ -1044,6 +1081,9 @@ static int mxt_proc_message(struct mxt_data *data, u8 *message)
} else if (report_id == data->T19_reportid) {
mxt_input_button(data, message);
data->update_input = true;
+ } else if (report_id >= data->T15_reportid_min
+ && report_id <= data->T15_reportid_max) {
+ mxt_proc_t15_messages(data, message);
} else {
mxt_dump_message(data, message);
}
@@ -1703,6 +1743,8 @@ static void mxt_free_object_table(struct mxt_data *data)
data->T71_address = 0;
data->T9_reportid_min = 0;
data->T9_reportid_max = 0;
+ data->T15_reportid_min = 0;
+ data->T15_reportid_max = 0;
data->T18_address = 0;
data->T19_reportid = 0;
data->T42_reportid_min = 0;
@@ -1781,6 +1823,10 @@ static int mxt_parse_object_table(struct mxt_data *data,
object->num_report_ids - 1;
data->num_touchids = object->num_report_ids;
break;
+ case MXT_TOUCH_KEYARRAY_T15:
+ data->T15_reportid_min = min_id;
+ data->T15_reportid_max = max_id;
+ break;
case MXT_SPT_COMMSCONFIG_T18:
data->T18_address = object->start_address;
break;
@@ -2074,6 +2120,7 @@ static int mxt_initialize_input_device(struct mxt_data *data)
int error;
unsigned int num_mt_slots;
unsigned int mt_flags = 0;
+ int i;
switch (data->multitouch) {
case MXT_TOUCH_MULTI_T9:
@@ -2187,6 +2234,15 @@ static int mxt_initialize_input_device(struct mxt_data *data)
0, 255, 0, 0);
}
+ /* For T15 Key Array */
+ if (data->T15_reportid_min) {
+ data->t15_keystatus = 0;
+
+ for (i = 0; i < data->t15_num_keys; i++)
+ input_set_capability(input_dev, EV_KEY,
+ data->t15_keymap[i]);
+ }
+
input_set_drvdata(input_dev, data);
error = input_register_device(input_dev);
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 09/63] Input: atmel_mxt_ts - handle reports from T47 Stylus object
2019-08-16 8:30 [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
` (2 preceding siblings ...)
2019-08-16 8:30 ` [PATCH v1 08/63] Input: atmel_mxt_ts - implement T15 Key Array support Jiada Wang
@ 2019-08-16 8:30 ` Jiada Wang
3 siblings, 0 replies; 7+ messages in thread
From: Jiada Wang @ 2019-08-16 8:30 UTC (permalink / raw)
To: nick, dmitry.torokhov; +Cc: linux-input, linux-kernel, jiada_wang, george_davis
From: Nick Dyer <nick.dyer@itdev.co.uk>
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit 56405a5ea08eb34cfe83f3121867c9de0a5c48c1)
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 99b87042dfe5..adf63ecf6b8e 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -822,6 +822,7 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
int area;
int amplitude;
u8 vector;
+ int tool;
id = message[0] - data->T9_reportid_min;
status = message[1];
@@ -835,6 +836,7 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
y >>= 2;
area = message[5];
+
amplitude = message[6];
vector = message[7];
@@ -864,12 +866,20 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 *message)
mxt_input_sync(data);
}
+ /* A size of zero indicates touch is from a linked T47 Stylus */
+ if (area == 0) {
+ area = MXT_TOUCH_MAJOR_DEFAULT;
+ tool = MT_TOOL_PEN;
+ } else {
+ tool = MT_TOOL_FINGER;
+ }
+
/* if active, pressure must be non-zero */
if (!amplitude)
amplitude = MXT_PRESSURE_DEFAULT;
/* Touch active */
- input_mt_report_slot_state(input_dev, MT_TOOL_FINGER, 1);
+ input_mt_report_slot_state(input_dev, tool, 1);
input_report_abs(input_dev, ABS_MT_POSITION_X, x);
input_report_abs(input_dev, ABS_MT_POSITION_Y, y);
input_report_abs(input_dev, ABS_MT_PRESSURE, amplitude);
--
2.19.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression
2019-08-16 8:30 ` [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
@ 2019-08-16 17:34 ` Dmitry Torokhov
2019-08-22 5:52 ` Jiada Wang
0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Torokhov @ 2019-08-16 17:34 UTC (permalink / raw)
To: Jiada Wang; +Cc: nick, linux-input, linux-kernel, george_davis
On Fri, Aug 16, 2019 at 05:30:33PM +0900, Jiada Wang wrote:
> From: Nick Dyer <nick.dyer@itdev.co.uk>
>
> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
> Acked-by: Benson Leung <bleung@chromium.org>
> Acked-by: Yufeng Shen <miletus@chromium.org>
> (cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
> Signed-off-by: George G. Davis <george_davis@mentor.com>
> Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
> ---
> drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index a75c35c6f9f9..9226ec528adf 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -155,6 +155,9 @@ struct t37_debug {
> #define MXT_RESET_VALUE 0x01
> #define MXT_BACKUP_VALUE 0x55
>
> +/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
> +#define MXT_T42_MSG_TCHSUP BIT(0)
> +
> /* T100 Multiple Touch Touchscreen */
> #define MXT_T100_CTRL 0
> #define MXT_T100_CFG1 1
> @@ -323,6 +326,8 @@ struct mxt_data {
> u8 T9_reportid_max;
> u16 T18_address;
> u8 T19_reportid;
> + u8 T42_reportid_min;
> + u8 T42_reportid_max;
> u16 T44_address;
> u8 T48_reportid;
> u8 T100_reportid_min;
> @@ -978,6 +983,17 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
> data->update_input = true;
> }
>
> +static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
> +{
> + struct device *dev = &data->client->dev;
> + u8 status = msg[1];
> +
> + if (status & MXT_T42_MSG_TCHSUP)
> + dev_info(dev, "T42 suppress\n");
> + else
> + dev_info(dev, "T42 normal\n");
dev_dbg(). There is no need to flood the logs with this. I'd assume this
is for assisting in bringup. Should there be some more generic way of
monitoring the status?
--
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression
2019-08-16 17:34 ` Dmitry Torokhov
@ 2019-08-22 5:52 ` Jiada Wang
0 siblings, 0 replies; 7+ messages in thread
From: Jiada Wang @ 2019-08-22 5:52 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: nick, linux-input, linux-kernel, george_davis
Hi
On 2019/08/17 2:34, Dmitry Torokhov wrote:
> On Fri, Aug 16, 2019 at 05:30:33PM +0900, Jiada Wang wrote:
>> From: Nick Dyer <nick.dyer@itdev.co.uk>
>>
>> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
>> Acked-by: Benson Leung <bleung@chromium.org>
>> Acked-by: Yufeng Shen <miletus@chromium.org>
>> (cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
>> Signed-off-by: George G. Davis <george_davis@mentor.com>
>> Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
>> ---
>> drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
>> 1 file changed, 25 insertions(+)
>>
>> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
>> index a75c35c6f9f9..9226ec528adf 100644
>> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
>> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
>> @@ -155,6 +155,9 @@ struct t37_debug {
>> #define MXT_RESET_VALUE 0x01
>> #define MXT_BACKUP_VALUE 0x55
>>
>> +/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
>> +#define MXT_T42_MSG_TCHSUP BIT(0)
>> +
>> /* T100 Multiple Touch Touchscreen */
>> #define MXT_T100_CTRL 0
>> #define MXT_T100_CFG1 1
>> @@ -323,6 +326,8 @@ struct mxt_data {
>> u8 T9_reportid_max;
>> u16 T18_address;
>> u8 T19_reportid;
>> + u8 T42_reportid_min;
>> + u8 T42_reportid_max;
>> u16 T44_address;
>> u8 T48_reportid;
>> u8 T100_reportid_min;
>> @@ -978,6 +983,17 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
>> data->update_input = true;
>> }
>>
>> +static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
>> +{
>> + struct device *dev = &data->client->dev;
>> + u8 status = msg[1];
>> +
>> + if (status & MXT_T42_MSG_TCHSUP)
>> + dev_info(dev, "T42 suppress\n");
>> + else
>> + dev_info(dev, "T42 normal\n");
>
> dev_dbg(). There is no need to flood the logs with this. I'd assume this
> is for assisting in bringup. Should there be some more generic way of
> monitoring the status?
>
will replace with dev_dbg() in v2 patchset
thanks,
Jiada
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-08-22 5:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-16 8:30 [PATCH v1 05/63] Input: atmel_mxt_ts - output status from T48 Noise Supression Jiada Wang
2019-08-16 8:30 ` [PATCH v1 06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression Jiada Wang
2019-08-16 17:34 ` Dmitry Torokhov
2019-08-22 5:52 ` Jiada Wang
2019-08-16 8:30 ` [PATCH v1 07/63] Input: atmel_mxt_ts - implement T9 vector/orientation support Jiada Wang
2019-08-16 8:30 ` [PATCH v1 08/63] Input: atmel_mxt_ts - implement T15 Key Array support Jiada Wang
2019-08-16 8:30 ` [PATCH v1 09/63] Input: atmel_mxt_ts - handle reports from T47 Stylus object Jiada Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).