1
0
Fork 0

touch: pt: Write debug when trk_id is bad

The parade touch controller support people want a
debug dump when the bad trk_id error occurs.
zero-sugar
Michal Koziel 2021-04-12 10:20:35 +02:00 committed by mkemlogic
parent 79af119c32
commit 66b869714f
2 changed files with 30 additions and 0 deletions

View File

@ -35,6 +35,31 @@
#define MT_PARAM_FUZZ(md, sig_ost) PARAM_FUZZ(md->pdata->frmwrk, sig_ost)
#define MT_PARAM_FLAT(md, sig_ost) PARAM_FLAT(md->pdata->frmwrk, sig_ost)
void pt_pr_buf_debug(struct device *dev, u8 *dptr, int size,
const char *data_name)
{
struct pt_core_data *cd = dev_get_drvdata(dev);
u8 *pr_buf = cd->pr_buf;
int i, k;
const char fmt[] = "%02X ";
int max;
if (!size)
return;
max = (PT_MAX_PRBUF_SIZE - 1) - sizeof(PT_PR_TRUNCATED);
pr_buf[0] = 0;
for (i = k = 0; i < size && k < max; i++, k += 3)
scnprintf(pr_buf + k, PT_MAX_PRBUF_SIZE, fmt, dptr[i]);
if (size)
dev_err(dev, "%s: %s[0..%d]=%s%s\n", __func__, data_name,
size - 1, pr_buf, size <= max ? "" : PT_PR_TRUNCATED);
else
dev_err(dev, "%s: %s[]\n", __func__, data_name);
}
/*******************************************************************************
* FUNCTION: pt_mt_lift_all
*
@ -307,6 +332,10 @@ static void pt_get_mt_touches(struct pt_mt_data *md,
if (md->mt_function.input_sync)
md->mt_function.input_sync(md->input);
mt_sync_count++;
pt_pr_buf_debug(dev, si->xy_mode, si->desc.tch_header_size,
"Err xy_mode");
pt_pr_buf_debug(dev, si->xy_data,
num_cur_tch* si->desc.tch_record_size, "Err xy_data");
continue;
}

View File

@ -1532,6 +1532,7 @@ struct pt_core_data {
bool show_tt_data;
bool bridge_mode;
bool hw_detect_enabled;
u8 pr_buf[PT_MAX_PRBUF_SIZE];
struct regulator *vdd;
#endif
};