板在刷上官方固件之后,用鼠标操作可以流畅操作,但是在接上我们这边的usb触摸屏之后会出现卡顿的现象,于是就开始查找原因,为了测试是不是触摸屏的问题,我用了另一款rk3399来测试,没有卡顿现象。然后就证明了不是触摸屏的问题,于是在网上找到这个https://blog.csdn.net/mike8825/article/details/53360438,于是我打开显示触摸操作发现是一样的情况
这个是什么情况,需要怎么调试,求解
板在刷上官方固件之后,用鼠标操作可以流畅操作,但是在接上我们这边的usb触摸屏之后会出现卡顿的现象,于是就开始查找原因,为了测试是不是触摸屏的问题,我用了另一款rk3399来测试,没有卡顿现象。然后就证明了不是触摸屏的问题,于是在网上找到这个https://blog.csdn.net/mike8825/article/details/53360438,于是我打开显示触摸操作发现是一样的情况
这个是什么情况,需要怎么调试,求解
问题图片如下

刚刚试了下,没有发现你说的问题,请问用的固件是?
おのみどり 发表于 2018-6-6 10:34
刚刚试了下,没有发现你说的问题,请问用的固件是?
就官方上的固件,用的是usb的触摸屏。
我用的也是官方上的固件和USB触摸屏,没有出现卡顿。
おのみどり 发表于 2018-6-6 10:38
我用的也是官方上的固件和USB触摸屏,没有出现卡顿。
触摸屏是官方那边买的吗
kiven07 发表于 2018-6-6 10:46
触摸屏是官方那边买的吗
不是官方的屏
おのみどり 发表于 2018-6-6 11:11
不是官方的屏
我测试了发现,好像是4个usb口负载高的时候会出现这个问题,尤其是插上usbaudio设备的时候,出现的几率很高。是我这块板的问题还是其他问题
kiven07 发表于 2018-6-6 11:52
我测试了发现,好像是4个usb口负载高的时候会出现这个问题,尤其是插上usbaudio设备的时候,出现的几率很 …
已经复现到了,我们会尽快解决
おのみどり 发表于 2018-6-6 16:41
已经复现到了,我们会尽快解决
解决了之后可以通知我一下吗?因为我们这边比较急,我的邮箱445024441@qq.com
kiven07 发表于 2018-6-7 10:00
解决了之后可以通知我一下吗?因为我们这边比较急,我的邮箱
打上以下补丁测试一下,我这边验证是可以的。
diff --git a/drivers/usb/dwc_otg_310/common_port/dwc_list.h b/drivers/usb/dwc_otg_310/common_port/dwc_list.h
index 46f1da3..e20124b 100755
— a/drivers/usb/dwc_otg_310/common_port/dwc_list.h
+++ b/drivers/usb/dwc_otg_310/common_port/dwc_list.h
@@ -565,6 +565,18 @@ struct {
(head)->cqh_last = (elm);
} while (0)
+#define DWC_CIRCLEQ_INSERT_COM(head, listelm, elm, field, com) do { \
DWC_CIRCLEQ_FOREACH(listelm, head, field) { \
if ((elm)->com < (listelm)->com) { \
DWC_CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field); \
break; \
} else \
continue; \
} \
if (DWC_CIRCLEQ_PREV(listelm, field) != elm) \
DWC_CIRCLEQ_INSERT_TAIL(head, elm, field); \
+} while (0)
+
#define DWC_CIRCLEQ_REMOVE(head, elm, field) do {
if ((elm)->field.cqe_next == DWC_CIRCLEQ_END(head))
(head)->cqh_last = (elm)->field.cqe_prev;
diff --git a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
index 09197ce..07f27f3 100755
— a/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
+++ b/drivers/usb/dwc_otg_310/dwc_otg_hcd_intr.c
@@ -834,6 +834,7 @@ static void release_channel(dwc_otg_hcd_t *hcd,
dwc_otg_transaction_type_e tr_type;
int free_qtd;
int continue_trans = 1;
dwc_hc_t *hc_tmp = NULL;
DWC_DEBUGPL(DBG_HCDV, " %s: channel %d, halt_status %d\n",
func, hc->hc_num, halt_status);
@@ -914,7 +915,7 @@ cleanup:
DWC_CIRCLEQ_INSERT_TAIL(&hcd->free_hc_list, hc, hc_list_entry);
DWC_CIRCLEQ_INSERT_COM(&hcd->free_hc_list, hc_tmp, hc, hc_list_entry, hc_num);
switch (hc->ep_type) {
case DWC_OTG_EP_TYPE_CONTROL:
おのみどり 发表于 2018-6-7 14:40
打上以下补丁测试一下,我这边验证是可以的。diff --git a/drivers/usb/dwc_otg_310/common_port/dwc …
打上补丁之后卡顿明显少了,但是好像还会有一两次出现那个手离开触摸屏,还有操作点在上面。大概点50次有1-2次出现问题。
kiven07 发表于 2018-6-7 15:48
打上补丁之后卡顿明显少了,但是好像还会有一两次出现那个手离开触摸屏,还有操作点在上面。大概点50次有 …
你试一下其他负载都不接,只接触摸屏看看还会不会出现这个操作点的问题
おのみどり 发表于 2018-6-7 16:49
你试一下其他负载都不接,只接触摸屏看看还会不会出现这个操作点的问题
昨天试过了,不负载的时候有时也会有一到两次,是什么原因,这个可以根本解决吗
kiven07 发表于 2018-6-8 10:19
昨天试过了,不负载的时候有时也会有一到两次,是什么原因,这个可以根本解决吗
不接负载的时候我试不出来有问题啊,我再看看吧
RK3399接非官方触摸屏也会有类似的情况,今天能用明天可能就失灵一天后天又回复正常。
换了几套线无效,getevent也看不出名堂。
おのみどり 发表于 2018-6-8 10:38
不接负载的时候我试不出来有问题啊,我再看看吧
你好,请问之前的问题解决了吗,就是负载情况下会出现触摸没弹起的问题。我这边现在加了补丁还是会出现触摸不灵敏的问题??
kiven07 发表于 2018-9-1 11:05
你好,请问之前的问题解决了吗,就是负载情况下会出现触摸没弹起的问题。我这边现在加了补丁还是会出现触 …
接多个usb外设备,需要外接HUB,不然有可能供电不足。
おのみどり 发表于 2018-9-14 11:13
接多个usb外设备,需要外接HUB,不然有可能供电不足。
你好我想问下外接的HUB是需要有电源的那种吗??
kiven07 发表于 2018-9-14 12:38
你好我想问下外接的HUB是需要有电源的那种吗??
需要有电源的