Peter Chen [Thu, 22 Aug 2019 09:37:52 +0000 (17:37 +0800)]
MLK-22366-8 usb: cdns3: gadget: improve EP0 init and de-init routine
We find there is still EP0 request duirng EP0 configuration, and the
pointer for this request is incorrect. In this commit, we make sure
the EP0 request has deleted from the list at .udc_stop. If there is
still one EP0 request during .udc_start, we will show a warning. Below
oops is fixed by this change.
[ 6339.760440] init: Sending signal 9 to service 'adbd' (pid 1878) process group...
[ 6339.780901] audit: audit_lost=111533 audit_rate_limit=5 audit_backlog_limit=64
[ 6339.788319] audit: rate limit exceeded
[ 6339.823842] libprocessgroup: Successfully killed process cgroup uid 0 pid 1878 in 54ms
[ 6339.832589] init: Service 'adbd' (pid 1878) received signal 9
[ 6339.839108] init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:14)
[ 6340.002992] init: Received control message 'start' for 'adbd' from pid: 3324 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
[ 6340.023541] read descriptors
[ 6340.026452] read strings
[ 6340.927793] Unable to handle kernel paging request at virtual address
00020249
[ 6340.935026] Mem abort info:
[ 6340.937824] Exception class = DABT (current EL), IL = 32 bits
[ 6340.943747] SET = 0, FnV = 0
[ 6340.946805] EA = 0, S1PTW = 0
[ 6340.949949] Data abort info:
[ 6340.952834] ISV = 0, ISS = 0x00000044
[ 6340.956673] CM = 0, WnR = 1
[ 6340.959648] user pgtable: 4k pages, 48-bit VAs, pgd =
ffff8008f0309000
[ 6340.966178] [
0000000000020249] *pgd=
0000000000000000
[ 6340.971151] Internal error: Oops:
96000044 [#1] PREEMPT SMP
[ 6340.976726] Modules linked in:
[ 6340.979789] CPU: 5 PID: 1910 Comm: usb@1.1-service Not tainted
4.14.98-07858-g3dd4133 #1
[ 6340.987888] Hardware name: Freescale i.MX8QM MEK (DT)
[ 6340.992945] task:
ffff8008ee468e00 task.stack:
ffff00000f1a8000
[ 6340.998884] PC is at cdns3_ep0_config+0x50/0xf0
[ 6341.003418] LR is at cdns3_ep0_config+0x40/0xf0
[ 6341.007949] pc : [<
ffff0000089be374>] lr : [<
ffff0000089be364>] pstate:
200001c5
[ 6341.015349] sp :
ffff00000f1abc80
[ 6341.018668] x29:
ffff00000f1abc80 x28:
ffff8008ee468e00
[ 6341.023992] x27:
ffff000009022000 x26:
0000000000000040
[ 6341.029318] x25:
ffff00000f1abeb0 x24:
ffff8008f05a4500
[ 6341.034635] x23:
ffff8008f3929680 x22:
0000000000000040
[ 6341.039952] x21:
0000000000400001 x20:
ffff00000f1f0000
[ 6341.045268] x19:
ffff8008f2d22000 x18:
0000f7c42593c000
[ 6341.050585] x17:
0000f7c4258b17d0 x16:
ffff00000829ecd8
[ 6341.055902] x15:
0000000000000000 x14:
0000000430060004
[ 6341.061219] x13:
0002010507010142 x12:
ff02000004090002
[ 6341.066535] x11:
0002820507000200 x10:
ffff8008eb685e68
[ 6341.071852] x9 :
0000000000000000 x8 :
ffff8008ea9efd00
[ 6341.077168] x7 :
0000000000000000 x6 :
000000000000003f
[ 6341.082485] x5 :
0000000000000040 x4 :
0000000000000000
[ 6341.087802] x3 :
0000000000020241 x2 :
0000000000000000
[ 6341.093119] x1 :
ffff8008f059d040 x0 :
ffff8008f059d000
[ 6341.098438]
[ 6341.098438] X0: 0xffff8008f059cf80:
[ 6341.103405] cf80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.111623] cfa0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.119842] cfc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.128051] cfe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.136261] d000
f059dc00 ffff8008 082a01f8 ffff0000 00000000 00000000 00000000 00000000
[ 6341.144479] d020
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.152689] d040
00020241 00000000 00000000 00000000 00000000 00000000 f059d058 ffff8008
[ 6341.160898] d060
f059d058 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.169110]
[ 6341.169110] X1: 0xffff8008f059cfc0:
[ 6341.174077] cfc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.182287] cfe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.190496] d000
f059dc00 ffff8008 082a01f8 ffff0000 00000000 00000000 00000000 00000000
[ 6341.198706] d020
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.206916] d040
00020241 00000000 00000000 00000000 00000000 00000000 f059d058 ffff8008
[ 6341.215126] d060
f059d058 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.223335] d080
00000000 00000000 00000000 00000000 f3647c00 ffff8008 00000000 00000000
[ 6341.231545] d0a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.239759]
[ 6341.239759] X8: 0xffff8008ea9efc80:
[ 6341.244724] fc80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.252934] fca0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.261145] fcc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.269371] fce0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.277580] fd00
6d766976 ffffffff 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.285790] fd20
00000000 00000000 00000000 00000000 ebbfb800 ffff8008 f7feee00 ffff8008
[ 6341.294000] fd40
f16a2980 ffff8008 f16a2300 ffff8008 00000000 00000000 00000000 00000000
[ 6341.302209] fd60
0000000d 00000006 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.310430]
[ 6341.310430] X10: 0xffff8008eb685de8:
[ 6341.315484] 5de8
00000000 00000000 00000000 00000000 00000000 00000000 f2d22010 ffff8008
[ 6341.323693] 5e08
00000000 00000000 00000000 00000000 eb685e18 ffff8008 eb685e18 ffff8008
[ 6341.331903] 5e28
4f894f89 00000000 ea9ef800 ffff8008 00000000 00000000 00000000 00000000
[ 6341.340113] 5e48
eb685e48 ffff8008 eb685e48 ffff8008 00000005 00000003 00000002 00000000
[ 6341.348323] 5e68
00000000 00010001 00000000 00000000 23df23df 00000000 eb685e80 ffff8008
[ 6341.356532] 5e88
eb685e80 ffff8008 00000003 00000000 316e316e 00000000 0fbcbdb8 ffff0000
[ 6341.364741] 5ea8
0fbcbdb8 ffff0000 00000000 00000000 f3b05b80 ffff8008 f2f2ce80 ffff8008
[ 6341.372952] 5ec8
eea86900 ffff8008 eea8691c ffff8008 00000074 00000003 00000003 00000005
[ 6341.381166]
[ 6341.381166] X19: 0xffff8008f2d21f80:
[ 6341.386217] 1f80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.394427] 1fa0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.402637] 1fc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.410846] 1fe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.419057] 2000
f7540010 ffff8008 f7540010 ffff8008 00000000 00000000 f2d22018 ffff8008
[ 6341.427285] 2020
f2d22018 ffff8008 08a06998 ffff0000 f2d29800 ffff8008 091c3650 ffff0000
[ 6341.435502] 2040
f2d63218 ffff8008 f2d63330 ffff8008 f2d64030 ffff8008 00000000 00000005
[ 6341.443720] 2060
00000000 00000000 095d0150 ffff0000 f7540010 ffff8008 f2d64100 ffff8008
[ 6341.451932]
[ 6341.451932] X23: 0xffff8008f3929600:
[ 6341.456986] 9600
00000001 ffff8008 00010000 00000000 74737973 615f6d65 735f7070 63697274
[ 6341.465195] 9620
646f6d74 35314065 38333636 36303837 2e353432 00747874 00000000 00000000
[ 6341.473414] 9640
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.481632] 9660
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.489842] 9680
31316235 30303030 6273752e 00000033 00000000 00000000 f3929690 ffff8008
[ 6341.498051] 96a0
00000000 00000000 00000cfe 00000000 002010df 00000000 00000000 00000000
[ 6341.506261] 96c0
00000000 00000000 00000000 00000000 00000000 00000000 25401230 ffff0000
[ 6341.514470] 96e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.522683]
[ 6341.522683] X24: 0xffff8008f05a4480:
[ 6341.527737] 4480
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.535947] 44a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.544156] 44c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.552366] 44e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.560575] 4500
00000000 00000000 00000000 00000000 f7a338a0 ffff8008 6e038c00 ffff8000
[ 6341.568786] 4520
ec35b6a0 ffff8008 090571f0 ffff0000 00000000 00000000 00000002 00000000
[ 6341.577026] 4540
00028001 0005801e ee468e00 ffff8008 00000000 00000000 f05a4558 ffff8008
[ 6341.585248] 4560
f05a4558 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.593478]
[ 6341.593478] X28: 0xffff8008ee468d80:
[ 6341.598531] 8d80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.606740] 8da0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.614950] 8dc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.623160] 8de0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 6341.631369] 8e00
00000022 00000000 ffffffff ffffffff 00000002 00000000 00000000 00000000
[ 6341.639579] 8e20
0f1a8000 ffff0000 00000002 00404040 00000000 00000000 f7acd438 ffff8008
[ 6341.647789] 8e40
00000001 00000005 0000003d 00000000 00170a04 00000001 f2f9e200 ffff8008
[ 6341.655998] 8e60
00000005 00000001 00000078 00000078 00000078 00000000 09031d48 ffff0000
[ 6341.664209]
[ 6341.665707] Process usb@1.1-service (pid: 1910, stack limit = 0xffff00000f1a8000)
[ 6341.673192] Call trace:
[ 6341.675644] Exception stack(0xffff00000f1abb40 to 0xffff00000f1abc80)
[ 6341.682092] bb40:
ffff8008f059d000 ffff8008f059d040 0000000000000000 0000000000020241
[ 6341.689927] bb60:
0000000000000000 0000000000000040 000000000000003f 0000000000000000
[ 6341.697763] bb80:
ffff8008ea9efd00 0000000000000000 ffff8008eb685e68 0002820507000200
[ 6341.705599] bba0:
ff02000004090002 0002010507010142 0000000430060004 0000000000000000
[ 6341.713435] bbc0:
ffff00000829ecd8 0000f7c4258b17d0 0000f7c42593c000 ffff8008f2d22000
[ 6341.721271] bbe0:
ffff00000f1f0000 0000000000400001 0000000000000040 ffff8008f3929680
[ 6341.729107] bc00:
ffff8008f05a4500 ffff00000f1abeb0 0000000000000040 ffff000009022000
[ 6341.736943] bc20:
ffff8008ee468e00 ffff00000f1abc80 ffff0000089be364 ffff00000f1abc80
[ 6341.744779] bc40:
ffff0000089be374 00000000200001c5 ffff8008f36abe00 0000000000000000
[ 6341.752615] bc60:
0000ffffffffffff ffff8008f36abe00 ffff00000f1abc80 ffff0000089be374
[ 6341.760459] [<
ffff0000089be374>] cdns3_ep0_config+0x50/0xf0
[ 6341.766041] [<
ffff0000089b9ea0>] cdns3_gadget_config+0x18/0xb4
[ 6341.771878] [<
ffff0000089ba074>] cdns3_gadget_udc_start+0x40/0x60
[ 6341.777978] [<
ffff000008a06a8c>] udc_bind_to_driver+0xc8/0x118
[ 6341.783814] [<
ffff000008a06e5c>] usb_gadget_probe_driver+0xa0/0x12c
[ 6341.790087] [<
ffff000008a04d2c>] gadget_dev_desc_UDC_store+0xc8/0x124
[ 6341.796536] [<
ffff00000832fc9c>] configfs_write_file+0xe8/0x184
[ 6341.802457] [<
ffff00000829e640>] vfs_write+0xb8/0x1d4
[ 6341.807513] [<
ffff00000829ed28>] SyS_write+0x50/0xb0
[ 6341.812480] Exception stack(0xffff00000f1abec0 to 0xffff00000f1ac000)
[ 6341.818928] bec0:
0000000000000014 0000f7c424dff219 000000000000000d 00000000000001b6
[ 6341.826764] bee0:
0000000000000000 0000f7c424dff008 0000000000000000 0000000000000000
[ 6341.834599] bf00:
0000000000000040 0000000000000000 000000000000000d 0000f7c424dff070
[ 6341.842436] bf20:
0000f7c424dff028 0000000000000bb0 0000f7c425400000 0000000000000000
[ 6341.850272] bf40:
0000f7c425e3ac28 0000f7c4258b17d0 0000f7c42593c000 000000000000000d
[ 6341.858108] bf60:
0000000000000014 0000f7c424dff219 0000000000088241 00000000000001b6
[ 6341.865944] bf80:
0000f7c424dff141 0000f7c424d02000 aaaaaaaaaaaaaaab 0000b23b75c123c8
[ 6341.873780] bfa0:
0000000000000022 0000f7c424dff060 0000f7c425e121b0 0000f7c424dff040
[ 6341.881617] bfc0:
0000f7c4258b17d8 0000000040000000 0000000000000014 0000000000000040
[ 6341.889452] bfe0:
0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 6341.897291] [<
ffff000008083ac0>] el0_svc_naked+0x34/0x38
[ 6341.902608] Code:
b4000100 f9402003 91010001 f9402402 (
f9000462)
[ 6341.908714] ---[ end trace
b38490f7134cdbe8 ]---
[ 6341.913334] Kernel panic - not syncing: Fatal exception
[ 6341.918567] SMP: stopping secondary CPUs
[ 6341.922494] Kernel Offset: disabled
[ 6341.925983] CPU features: 0x180200c
[ 6341.929473] Memory Limit: none
[ 6341.932541] Rebooting in 5 seconds..
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 8 Aug 2019 07:52:49 +0000 (15:52 +0800)]
MLK-22366-7 usb: cdns3: gadget: quit if endpoint has already disabled
It fixed below oops:
audit: audit_lost=500851 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
libprocessgroup: Successfully killed process cgroup uid 0 pid 25371 in 49ms
init: Service 'adbd' (pid 25371) received signal 9
init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:14)
init: Received control message 'start' for 'adbd' from pid: 3308 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
init: Received control message 'start' for 'adbd' from pid: 3447 (system_server)
android_work: did not send uevent (0 0 (null))
audit: audit_lost=500888 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=500925 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC 32:e7:67:29:5f:d8
usb0: MAC 02:5c:48:b3:2b:d7
android_work: sent uevent USB_STATE=CONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONFIGURED
Unable to handle kernel NULL pointer dereference at virtual address
00000002
Mem abort info:
Exception class = DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgd =
ffff8008f7bed000
[
0000000000000002] *pgd=
0000000000000000
Internal error: Oops:
96000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 2 PID: 3326 Comm: Binder:3276_2 Not tainted
4.14.98-07848-gfb2a5a8 #1
Hardware name: Freescale i.MX8QM MEK (DT)
task:
ffff8008f77f3800 task.stack:
ffff00000b378000
PC is at __cdns3_gadget_ep_queue.isra.18+0x238/0x524
LR is at cdns3_gadget_ep_queue+0x44/0xd8
pc : [<
ffff0000089bbf90>] lr : [<
ffff0000089bc2c0>] pstate:
400001c5
sp :
ffff00000b37ba40
x29:
ffff00000b37ba40 x28:
ffff8008f235fa00
x27:
ffff8008f2f11600 x26:
ffff8008f2dee118
x25:
ffff8008f2df0000 x24:
0000000000000000
x23:
ffff000009c8e000 x22:
ffff8008f2df0000
x21:
0000000000000000 x20:
ffff8008f2dee118
x19:
ffff8008f1f1ac00 x18:
0000fcc72810fc1a
x17:
0000fcc729e2d0e0 x16:
ffff0000082b4430
x15:
0000000000000000 x14:
ffffffffffffffff
x13:
0000000000000000 x12:
0000000000000020
x11:
0000000000000020 x10:
0101010101010101
x9 :
0000000000000000 x8 :
0000000000000024
x7 :
0000000040000000 x6 :
0000000000000020
x5 :
0000000000000000 x4 :
0000000000000000
x3 :
0000000000000140 x2 :
0000000000000000
x1 :
ffff8008f1f1ac00 x0 :
ffff8008f7738010
X0: 0xffff8008f7737f90:
7f90
f75baef8 ffff8008 00000000 00000000 3305708c 00000000 f7332aa0 ffff8008
7fb0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0
00005408 00000001 a1ff0014 00000000 00000000 00000000 00000000 00000000
7ff0
00000000 00000000 00000000 00000000 f7548780 ffff8008 ffffffff 00000000
8010
09dc50d8 ffff0000 f76fc800 ffff8008 f7548780 ffff8008 f7738428 ffff8008
8030
f76e7c28 ffff8008 09dc50e8 ffff0000 f6e6ae80 ffff8008 09dc4ac8 ffff0000
8050
f753e660 ffff8008 00000007 00000007 00000000 00000000 00000000 00000000
8070
00000000 00000000 00000000 00000000 f7738080 ffff8008 f7738080 ffff8008
X1: 0xffff8008f1f1ab80:
ab80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
aba0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ac00
ec128080 ffff8008 0000062a 00000000 f5383800 00000000 00000000 00000000
ac20
00000000 00000000 00000000 00000000 08a179d8 ffff0000 e85aeb00 ffff8008
ac40
f1f1ac40 ffff8008 f1f1ac40 ffff8008 ffffff8d 00000000 f2dee118 ffff8008
ac60
0afdb024 ffff0000 00000003 00000003 00000000 00000000 00000000 00000000
X19: 0xffff8008f1f1ab80:
ab80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
aba0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
abe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ac00
ec128080 ffff8008 0000062a 00000000 f5383800 00000000 00000000 00000000
ac20
00000000 00000000 00000000 00000000 08a179d8 ffff0000 e85aeb00 ffff8008
ac40
f1f1ac40 ffff8008 f1f1ac40 ffff8008 ffffff8d 00000000 f2dee118 ffff8008
ac60
0afdb024 ffff0000 00000003 00000003 00000000 00000000 00000000 00000000
X20: 0xffff8008f2dee098:
e098
ae000000 00000000 f2df0000 ffff8008 00307065 00000000 00000000 00000000
e0b8
00000000 00000010 00000000 00000000 00000080 00000000 00000002 00000000
e0d8
00000000 00000000 00000002 00000000 00000000 00000000 00000000 00000000
e0f8
00000000 00000000 f2dee200 ffff8008 f2dee000 ffff8008 087793a4 ffff0000
e118
f0475900 ffff8008 f2dee1a8 ffff8008 091c36b0 ffff0000 f2dee230 ffff8008
e138
f2df0048 ffff8008 0000002e 02000000 000f0400 00000101 00000000 00000000
e158
00000000 00000000 f2dee160 ffff8008 f2dee160 ffff8008 f2dee170 ffff8008
e178
f2dee170 ffff8008 f2dee180 ffff8008 f2dee180 ffff8008 0afdb000 ffff0000
X22: 0xffff8008f2deff80:
ff80
f33b40a0 ffff8008 f3dd6810 ffff8008 f03f8de8 ffff8008 00000000 00000000
ffa0
27ac430e 00000000 00000000 00000000 f2aec128 ffff8008 f32e0680 ffff8008
ffc0
00000000 00000000 f3623400 ffff8008 000000ac 00000001 41e80011 00000000
ffe0
f3b18000 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
0000
f7738010 ffff8008 f7738010 ffff8008 000000c0 00000000 f2df0018 ffff8008
0020
f2df0018 ffff8008 08a077e4 ffff0000 f2d42c00 ffff8008 091c3650 ffff0000
0040
f2dee018 ffff8008 f2dee130 ffff8008 f2deee30 ffff8008 00000003 00000005
0060
00000007 00000000 095d1550 ffff0000 f7738010 ffff8008 f2deef00 ffff8008
X25: 0xffff8008f2deff80:
ff80
f33b40a0 ffff8008 f3dd6810 ffff8008 f03f8de8 ffff8008 00000000 00000000
ffa0
27ac430e 00000000 00000000 00000000 f2aec128 ffff8008 f32e0680 ffff8008
ffc0
00000000 00000000 f3623400 ffff8008 000000ac 00000001 41e80011 00000000
ffe0
f3b18000 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
0000
f7738010 ffff8008 f7738010 ffff8008 000000c0 00000000 f2df0018 ffff8008
0020
f2df0018 ffff8008 08a077e4 ffff0000 f2d42c00 ffff8008 091c3650 ffff0000
0040
f2dee018 ffff8008 f2dee130 ffff8008 f2deee30 ffff8008 00000003 00000005
0060
00000007 00000000 095d1550 ffff0000 f7738010 ffff8008 f2deef00 ffff8008
X26: 0xffff8008f2dee098:
e098
ae000000 00000000 f2df0000 ffff8008 00307065 00000000 00000000 00000000
e0b8
00000000 00000010 00000000 00000000 00000080 00000000 00000002 00000000
e0d8
00000000 00000000 00000002 00000000 00000000 00000000 00000000 00000000
e0f8
00000000 00000000 f2dee200 ffff8008 f2dee000 ffff8008 087793a4 ffff0000
e118
f0475900 ffff8008 f2dee1a8 ffff8008 091c36b0 ffff0000 f2dee230 ffff8008
e138
f2df0048 ffff8008 0000002e 02000000 000f0400 00000101 00000000 00000000
e158
00000000 00000000 f2dee160 ffff8008 f2dee160 ffff8008 f2dee170 ffff8008
e178
f2dee170 ffff8008 f2dee180 ffff8008 f2dee180 ffff8008 0afdb000 ffff0000
X27: 0xffff8008f2f11580:
1580
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
15e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1600
f0475000 ffff8008 00000003 00000000 f235fa00 ffff8008 00000000 00000000
1620
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1640
00000000 00000000 00000000 00000000 00000002 00000000 00000000 00000000
1660
00000000 00000000 00000000 00000000 08e3b158 ffff0000 f2f11600 ffff8008
X28: 0xffff8008f235f980:
f980
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
f9e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
fa00
00000000 00000000 09f6e3d8 ffff0000 00000000 00000000 f2f11600 ffff8008
fa20
00000000 00000000 00000000 00000000 812aa8c0 812aa8c0 00ffffff ff2aa8c0
fa40
00001800 00000080 30627375 00000000 00000000 00000000 00000000 00000000
fa60
0046ac7c 00000001 0046ac7c 00000001 00000000 00000000 00000000 00000000
Process Binder:3276_2 (pid: 3326, stack limit = 0xffff00000b378000)
Call trace:
Exception stack(0xffff00000b37b900 to 0xffff00000b37ba40)
b900:
ffff8008f7738010 ffff8008f1f1ac00 0000000000000000 0000000000000140
b920:
0000000000000000 0000000000000000 0000000000000020 0000000040000000
b940:
0000000000000024 0000000000000000 0101010101010101 0000000000000020
b960:
0000000000000020 0000000000000000 ffffffffffffffff 0000000000000000
b980:
ffff0000082b4430 0000fcc729e2d0e0 0000fcc72810fc1a ffff8008f1f1ac00
b9a0:
ffff8008f2dee118 0000000000000000 ffff8008f2df0000 ffff000009c8e000
b9c0:
0000000000000000 ffff8008f2df0000 ffff8008f2dee118 ffff8008f2f11600
b9e0:
ffff8008f235fa00 ffff00000b37ba40 ffff0000089bc2c0 ffff00000b37ba40
ba00:
ffff0000089bbf90 00000000400001c5 ffff00000b37ba20 ffff00000827c354
ba20:
0000ffffffffffff ffff000008d578c4 ffff00000b37ba40 ffff0000089bbf90
[<
ffff0000089bbf90>] __cdns3_gadget_ep_queue.isra.18+0x238/0x524
[<
ffff0000089bc2c0>] cdns3_gadget_ep_queue+0x44/0xd8
[<
ffff000008a06f70>] usb_ep_queue+0x5c/0xfc
[<
ffff000008a1762c>] rx_submit+0xec/0x1bc
[<
ffff000008a1775c>] rx_fill+0x60/0xb4
[<
ffff000008a17c7c>] eth_open+0x64/0x78
[<
ffff000008d72cf4>] __dev_open+0xe0/0x164
[<
ffff000008d73128>] __dev_change_flags+0x160/0x18c
[<
ffff000008d73174>] dev_change_flags+0x20/0x5c
[<
ffff000008e359f0>] devinet_ioctl+0x68c/0x724
[<
ffff000008e37cc4>] inet_ioctl+0x8c/0xa8
[<
ffff000008d48a48>] sock_do_ioctl+0x34/0x70
[<
ffff000008d49da0>] sock_ioctl+0x21c/0x320
[<
ffff0000082b3b98>] do_vfs_ioctl+0xbc/0x954
[<
ffff0000082b44b4>] SyS_ioctl+0x84/0x98
Exception stack(0xffff00000b37bec0 to 0xffff00000b37c000)
bec0:
000000000000003d 0000000000008914 0000fcc728110840 0000000000000003
bee0:
0000fcc728110850 6f43ffffffffffff 0000000000000000 0000000000800000
bf00:
000000000000001d 0000fcc7281107f8 0000fcc7281107f8 0000fcc728110840
bf20:
0000fcc728110458 0000000000000028 ffffffffffffffff 00002d18ec000000
bf40:
0000fcc72962af68 0000fcc729e2d0e0 0000fcc72810fc1a 0000fcc728111588
bf60:
0000fcc72962b000 0000ab36f6e99ac5 0000ab36f6e99a8e 0000000000000008
bf80:
0000ab36f6e99ac8 0000fcc728111588 0000ab36f6e99c0e 0000000000000006
bfa0:
0000fcc72902b108 0000fcc728110830 0000fcc729e2d16c 0000fcc728110740
bfc0:
0000fcc729e73758 00000000a0000000 000000000000003d 000000000000001d
bfe0:
0000000000000000 0000000000000000 0000000000000000 0000000000000000
[<
ffff000008083ac0>] el0_svc_naked+0x34/0x38
Code:
d503201f f9401e82 aa1303e1 f94006c0 (
39c00842)
---[ end trace
f7b45310362d53ac ]---
Kernel panic - not syncing: Fatal exception
SMP: stopping secondary CPUs
SMP: failed to stop secondary CPUs 0,2,4
Kernel Offset: disabled
CPU features: 0x180200c
Memory Limit: none
Rebooting in 5 seconds..
SMP: stopping secondary CPUs
SMP: failed to stop secondary CPUs 0,2,4
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Wed, 7 Aug 2019 01:47:06 +0000 (09:47 +0800)]
MLK-22366-6 usb: cdns3: gadget: do not call disconnect if it is not configured
Fix below oops:
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=CONFIGURED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=179935 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=179970 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC f2:80:c5:eb:a1:fd
usb0: MAC 92:da:4f:13:01:73
android_work: did not send uevent (0 0 (null))
audit: audit_lost=180005 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
composite_disconnect: Calling disconnect on a Gadget that is not connected
android_work: did not send uevent (0 0 (null))
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 22343) process group...
------------[ cut here ]------------
audit: audit_lost=180038 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
WARNING: CPU: 0 PID: 3468 at /home/tianyang/maddev_pie9.0/vendor/nxp-opensource/kernel_imx/drivers/usb/gadget/composite.c:2009 composite_disconnect+0x80/0x88
Modules linked in:
CPU: 0 PID: 3468 Comm: HWC-UEvent-Thre Not tainted
4.14.98-07846-g0b40a9b-dirty #16
Hardware name: Freescale i.MX8QM MEK (DT)
task:
ffff8008f2349c00 task.stack:
ffff00000b0a8000
PC is at composite_disconnect+0x80/0x88
LR is at composite_disconnect+0x80/0x88
pc : [<
ffff0000089ff9b0>] lr : [<
ffff0000089ff9b0>] pstate:
600001c5
sp :
ffff000008003dd0
x29:
ffff000008003dd0 x28:
ffff8008f2349c00
x27:
ffff000009885018 x26:
ffff000008004000
Timeout for IPC response!
x25:
ffff000009885018 x24:
ffff000009c8e280
x23:
ffff8008f2d98010 x22:
00000000000001c0
x21:
ffff8008f2d98394 x20:
ffff8008f2d98010
x19:
0000000000000000 x18:
0000e3956f4f075a
fxos8700 4-001e: i2c block read acc failed
x17:
0000e395735727e8 x16:
ffff00000829f4d4
x15:
ffffffffffffffff x14:
7463656e6e6f6320
x13:
746f6e2009090920 x12:
7369207461687420
x11:
7465676461472061 x10:
206e6f207463656e
x9 :
6e6f637369642067 x8 :
ffff000009c8e280
x7 :
ffff0000086ca6cc x6 :
ffff000009f15e78
x5 :
0000000000000000 x4 :
0000000000000000
x3 :
ffffffffffffffff x2 :
c3f28b86000c3900
x1 :
c3f28b86000c3900 x0 :
000000000000004e
X20: 0xffff8008f2d97f90:
7f90
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
libprocessgroup: Failed to kill process cgroup uid 0 pid 22343 in 215ms, 1 processes remain
7fd0
Timeout for IPC response!
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
using random self ethernet address
7ff0
00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010
00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc
using random host ethernet address
ffff0000
8030
f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050
f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070
f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008
X21: 0xffff8008f2d98314:
8314
ffff8008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8334
00000000 00000000 00000000 00000000 00000000 08a04cf4 ffff0000 00000000
8354
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8374
00000000 00000000 00000000 00001001 00000000 00000000 00000000 00000000
8394
e4bbe4bb 0f230000 ffff0000 0afae000 ffff0000 ae001000 00000000 f206d400
Timeout for IPC response!
83b4
ffff8008 00000000 00000000 f7957b18 ffff8008 f7957718 ffff8008 f7957018
83d4
ffff8008 f7957118 ffff8008 f7957618 ffff8008 f7957818 ffff8008 f7957918
83f4
ffff8008 f7957d18 ffff8008 00000000 00000000 00000000 00000000 00000000
X23: 0xffff8008f2d97f90:
7f90
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ff0
00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010
00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc ffff0000
8030
f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050
f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070
f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008
X28: 0xffff8008f2349b80:
9b80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9ba0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9bc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9be0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9c00
00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
9c20
0b0a8000 ffff0000 00000002 00404040 00000000 00000000 00000000 00000000
9c40
00000001 00000000 00000001 00000000 001ebd44 00000001 f390b800 ffff8008
9c60
00000000 00000001 00000070 00000070 00000070 00000000 09031d48 ffff0000
Call trace:
Exception stack(0xffff000008003c90 to 0xffff000008003dd0)
3c80:
000000000000004e c3f28b86000c3900
3ca0:
c3f28b86000c3900 ffffffffffffffff 0000000000000000 0000000000000000
3cc0:
ffff000009f15e78 ffff0000086ca6cc ffff000009c8e280 6e6f637369642067
3ce0:
206e6f207463656e 7465676461472061 7369207461687420 746f6e2009090920
3d00:
7463656e6e6f6320 ffffffffffffffff ffff00000829f4d4 0000e395735727e8
3d20:
0000e3956f4f075a 0000000000000000 ffff8008f2d98010 ffff8008f2d98394
3d40:
00000000000001c0 ffff8008f2d98010 ffff000009c8e280 ffff000009885018
3d60:
ffff000008004000 ffff000009885018 ffff8008f2349c00 ffff000008003dd0
3d80:
ffff0000089ff9b0 ffff000008003dd0 ffff0000089ff9b0 00000000600001c5
3da0:
ffff8008f33f2cd8 0000000000000000 0000ffffffffffff 0000000000000000
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
3dc0:
ffff000008003dd0 ffff0000089ff9b0
[<
ffff0000089ff9b0>] composite_disconnect+0x80/0x88
[<
ffff000008a044d4>] android_disconnect+0x3c/0x68
[<
ffff0000089ba9f8>] cdns3_device_irq_handler+0xfc/0x2c8
[<
ffff0000089b84c0>] cdns3_irq+0x44/0x94
[<
ffff00000814494c>] __handle_irq_event_percpu+0x60/0x24c
[<
ffff000008144c0c>] handle_irq_event+0x58/0xc0
[<
ffff00000814873c>] handle_fasteoi_irq+0x98/0x180
[<
ffff000008143a10>] generic_handle_irq+0x24/0x38
[<
ffff000008144170>] __handle_domain_irq+0x60/0xac
[<
ffff0000080819c4>] gic_handle_irq+0xd4/0x17c
Exception stack(0xffff00000b0ab950 to 0xffff00000b0aba90)
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Tue, 6 Aug 2019 07:18:30 +0000 (15:18 +0800)]
Peter Chen [Thu, 1 Aug 2019 03:23:24 +0000 (11:23 +0800)]
MLK-22366-4 usb: cdns3: gadget: don't call request handler for the unconfigured device
We don't need to notify the bus reset for class driver if the non-control
endpoints are not enabled. It could cause unnecessary disconnect event for
android due to below two reasons:
- Android declares the disconnect event for reset handler.
- The controller will get two reset interrupts at HS mode
it fixed two below oops:
oops #1
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
android_work: sent uevent USB_STATE=CONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONFIGURED
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=8846 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
init: Received control message 'start' for 'adbd' from pid: 3275 (system_server)
android_work: sent uevent USB_STATE=CONNECTED
android_disconnect: gadget driver already disconnected
init: Received control message 'stop' for 'adbd' from pid: 3135
(/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 5859) process group...
android_work: sent uevent USB_STATE=DISCONNECTED
------------[ cut here ]------------
WARNING: CPU: 0 PID: 5858 at kernel_imx/drivers/usb/gadget/configfs.c:1533 android_disconnect+0x60/0x68
Modules linked in:
audit: audit_lost=8877 audit_rate_limit=5 audit_backlog_limit=64
CPU: 0 PID: 5858 Comm: main Not tainted
4.14.98-07844-g346f959 #14
audit: rate limit exceeded
Hardware name: Freescale i.MX8QXP MEK (DT)
task:
ffff800063950e00 task.stack:
ffff00000daf8000
PC is at android_disconnect+0x60/0x68
LR is at android_disconnect+0x60/0x68
pc : [<
ffff000008a044cc>] lr : [<
ffff000008a044cc>] pstate:
600001c5
sp :
ffff000008003e00
x29:
ffff000008003e00 x28:
ffff800063950e00
Timeout for IPC response!
x27:
ffff000009885018 x26:
ffff000008004000
Failed power operation on resource 248 sc_err 3
x25:
ffff000009885018 x24:
ffff000009c8e280
x23:
ffff800836158810 x22:
00000000000001c0
x21:
ffff800836158b94 x20:
ffff800836158810
x19:
0000000000000000 x18:
0000f6cba5d06050
Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff000011790024
x17:
0000f6cba74ac218 x16:
ffff00000829be84
Internal error: :
96000210 [#1] PREEMPT SMP
Modules linked in:
x15:
0000f6cba5d067f0
x14:
0000f6cba5d0a3d0
CPU: 2 PID: 2353 Comm: kworker/2:1H Not tainted
4.14.98-07844-g346f959 #14
Hardware name: Freescale i.MX8QXP MEK (DT)
x13:
656c626174206665 x12:
078db5fab2ae6e00
Workqueue: kblockd blk_mq_run_work_fn
x11:
ffff000008003ad0
task:
ffff80083bf62a00 task.stack:
ffff00000b5e8000
x10:
ffff000008003ad0
PC is at esdhc_readl_le+0x8/0x15c
x9 :
0000000000000006
LR is at sdhci_send_command+0xc4/0xa54
x8 :
ffff000009c8e280
pc : [<
ffff000008b82ea4>] lr : [<
ffff000008b6ca48>] pstate:
200001c5
i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: rpmsg_xfer failed: timeout
fxos8700 14-001e: i2c block read acc failed
i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: rpmsg_xfer failed: timeout
oops 2#:
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: starting service 'adbd'...
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
configfs-gadget gadget: high-speed config #1: b
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=CONFIGURED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
android_work: sent uevent USB_STATE=DISCONNECTED
audit: audit_lost=179935 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
audit: audit_lost=179970 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
using random self ethernet address
using random host ethernet address
read descriptors
read strings
usb0: HOST MAC f2:80:c5:eb:a1:fd
usb0: MAC 92:da:4f:13:01:73
android_work: did not send uevent (0 0 (null))
audit: audit_lost=180005 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
read descriptors
read strings
android_work: did not send uevent (0 0 (null))
android_work: sent uevent USB_STATE=CONNECTED
android_work: sent uevent USB_STATE=DISCONNECTED
init: Received control message 'start' for 'adbd' from pid: 3499 (system_server)
composite_disconnect: Calling disconnect on a Gadget that is not connected
android_work: did not send uevent (0 0 (null))
init: Received control message 'stop' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
init: Sending signal 9 to service 'adbd' (pid 22343) process group...
------------[ cut here ]------------
audit: audit_lost=180038 audit_rate_limit=5 audit_backlog_limit=64
audit: rate limit exceeded
WARNING: CPU: 0 PID: 3468 at /home/tianyang/maddev_pie9.0/vendor/nxp-opensource/kernel_imx/drivers/usb/gadget/composite.c:2009 composite_disconnect+0x80/0x88
Modules linked in:
CPU: 0 PID: 3468 Comm: HWC-UEvent-Thre Not tainted
4.14.98-07846-g0b40a9b-dirty #16
Hardware name: Freescale i.MX8QM MEK (DT)
task:
ffff8008f2349c00 task.stack:
ffff00000b0a8000
PC is at composite_disconnect+0x80/0x88
LR is at composite_disconnect+0x80/0x88
pc : [<
ffff0000089ff9b0>] lr : [<
ffff0000089ff9b0>] pstate:
600001c5
sp :
ffff000008003dd0
x29:
ffff000008003dd0 x28:
ffff8008f2349c00
x27:
ffff000009885018 x26:
ffff000008004000
Timeout for IPC response!
x25:
ffff000009885018 x24:
ffff000009c8e280
x23:
ffff8008f2d98010 x22:
00000000000001c0
x21:
ffff8008f2d98394 x20:
ffff8008f2d98010
x19:
0000000000000000 x18:
0000e3956f4f075a
fxos8700 4-001e: i2c block read acc failed
x17:
0000e395735727e8 x16:
ffff00000829f4d4
x15:
ffffffffffffffff x14:
7463656e6e6f6320
x13:
746f6e2009090920 x12:
7369207461687420
x11:
7465676461472061 x10:
206e6f207463656e
x9 :
6e6f637369642067 x8 :
ffff000009c8e280
x7 :
ffff0000086ca6cc x6 :
ffff000009f15e78
x5 :
0000000000000000 x4 :
0000000000000000
x3 :
ffffffffffffffff x2 :
c3f28b86000c3900
x1 :
c3f28b86000c3900 x0 :
000000000000004e
X20: 0xffff8008f2d97f90:
7f90
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
libprocessgroup: Failed to kill process cgroup uid 0 pid 22343 in 215ms, 1 processes remain
7fd0
Timeout for IPC response!
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
using random self ethernet address
7ff0
00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010
00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc
using random host ethernet address
ffff0000
8030
f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050
f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070
f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008
X21: 0xffff8008f2d98314:
8314
ffff8008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8334
00000000 00000000 00000000 00000000 00000000 08a04cf4 ffff0000 00000000
8354
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8374
00000000 00000000 00000000 00001001 00000000 00000000 00000000 00000000
8394
e4bbe4bb 0f230000 ffff0000 0afae000 ffff0000 ae001000 00000000 f206d400
Timeout for IPC response!
83b4
ffff8008 00000000 00000000 f7957b18 ffff8008 f7957718 ffff8008 f7957018
83d4
ffff8008 f7957118 ffff8008 f7957618 ffff8008 f7957818 ffff8008 f7957918
83f4
ffff8008 f7957d18 ffff8008 00000000 00000000 00000000 00000000 00000000
X23: 0xffff8008f2d97f90:
7f90
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fb0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fd0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ff0
00000000 00000000 00000000 00000000 f76c8010 ffff8008 f76c8010 ffff8008
8010
00000100 00000000 f2d98018 ffff8008 f2d98018 ffff8008 08a067dc ffff0000
8030
f206d800 ffff8008 091c3650 ffff0000 f7957b18 ffff8008 f7957730 ffff8008
8050
f716a630 ffff8008 00000000 00000005 00000000 00000000 095d1568 ffff0000
8070
f76c8010 ffff8008 f716a800 ffff8008 095cac68 ffff0000 f206d828 ffff8008
X28: 0xffff8008f2349b80:
9b80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9ba0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9bc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9be0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9c00
00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
9c20
0b0a8000 ffff0000 00000002 00404040 00000000 00000000 00000000 00000000
9c40
00000001 00000000 00000001 00000000 001ebd44 00000001 f390b800 ffff8008
9c60
00000000 00000001 00000070 00000070 00000070 00000000 09031d48 ffff0000
Call trace:
Exception stack(0xffff000008003c90 to 0xffff000008003dd0)
3c80:
000000000000004e c3f28b86000c3900
3ca0:
c3f28b86000c3900 ffffffffffffffff 0000000000000000 0000000000000000
3cc0:
ffff000009f15e78 ffff0000086ca6cc ffff000009c8e280 6e6f637369642067
3ce0:
206e6f207463656e 7465676461472061 7369207461687420 746f6e2009090920
3d00:
7463656e6e6f6320 ffffffffffffffff ffff00000829f4d4 0000e395735727e8
3d20:
0000e3956f4f075a 0000000000000000 ffff8008f2d98010 ffff8008f2d98394
3d40:
00000000000001c0 ffff8008f2d98010 ffff000009c8e280 ffff000009885018
3d60:
ffff000008004000 ffff000009885018 ffff8008f2349c00 ffff000008003dd0
3d80:
ffff0000089ff9b0 ffff000008003dd0 ffff0000089ff9b0 00000000600001c5
3da0:
ffff8008f33f2cd8 0000000000000000 0000ffffffffffff 0000000000000000
init: Received control message 'start' for 'adbd' from pid: 3359 (/vendor/bin/hw/android.hardware.usb@1.1-service.imx)
3dc0:
ffff000008003dd0 ffff0000089ff9b0
[<
ffff0000089ff9b0>] composite_disconnect+0x80/0x88
[<
ffff000008a044d4>] android_disconnect+0x3c/0x68
[<
ffff0000089ba9f8>] cdns3_device_irq_handler+0xfc/0x2c8
[<
ffff0000089b84c0>] cdns3_irq+0x44/0x94
[<
ffff00000814494c>] __handle_irq_event_percpu+0x60/0x24c
[<
ffff000008144c0c>] handle_irq_event+0x58/0xc0
[<
ffff00000814873c>] handle_fasteoi_irq+0x98/0x180
[<
ffff000008143a10>] generic_handle_irq+0x24/0x38
[<
ffff000008144170>] __handle_domain_irq+0x60/0xac
[<
ffff0000080819c4>] gic_handle_irq+0xd4/0x17c
Exception stack(0xffff00000b0ab950 to 0xffff00000b0aba90)
b940:
ffff8008f2a65c00 0000000000000140
b960:
00000000000068ea ffff8008f6cf9c00 0000000000000000 0000000000000000
b980:
ffff000009893800 ffff8008f23c38a8 ffff8008ffee21a0 00000000ffffffff
b9a0:
0000000000000001 6f6674616c702f73 30313162352f6d72 336273752e303030
b9c0:
3162352f6364752f ffffffffffffffff ffff00000829f4d4 0000e395735727e8
b9e0:
0000e3956f4f075a ffff8008f2a65c00 0000000000000001 0000000000000140
ba00:
00000000000000c3 0000000000000001 0000000000000001 ffff000009c8e000
ba20:
ffff8008f2c5b940 ffff8008d5a6fb00 0000000000000067 ffff00000b0aba90
ba40:
ffff00000812b354 ffff00000b0aba90 ffff000009010044 0000000060000145
ba60:
0000000000000140 00000000000000c3 0000ffffffffffff 0000000000000001
ba80:
ffff00000b0aba90 ffff000009010044
[<
ffff000008083230>] el1_irq+0xb0/0x124
[<
ffff000009010044>] _raw_spin_unlock_irqrestore+0x18/0x48
[<
ffff00000812b354>] __wake_up_common_lock+0xa0/0xd4
[<
ffff00000812b3c0>] __wake_up_sync_key+0x1c/0x24
[<
ffff000008d515f0>] sock_def_readable+0x40/0x70
[<
ffff000008e7a71c>] unix_dgram_sendmsg+0x45c/0x728
[<
ffff000008d4df10>] sock_write_iter+0x10c/0x124
[<
ffff00000829c4e0>] do_iter_readv_writev+0xf8/0x160
[<
ffff00000829d2e4>] do_iter_write.part.17+0x38/0x154
[<
ffff00000829e9c4>] vfs_writev+0x114/0x158
[<
ffff00000829ea68>] do_writev+0x60/0xe8
[<
ffff00000829f4e4>] SyS_writev+0x10/0x18
Exception stack(0xffff00000b0abec0 to 0xffff00000b0ac000)
bec0:
000000000000000f 0000e3956f4f0cb0 0000000000000004 0000000000000003
bee0:
0000000000000067 0000000080000000 725705beff78606b 7f7f7fff7f7f7f7f
bf00:
0000000000000042 000000000000005c 0000e3956f4f0e60 0000000000000053
bf20:
0000e3956f4f0f98 ffffffffffffffff ffffffffff000000 ffffffffffffffff
bf40:
0000e39572bf0cc0 0000e395735727e8 0000e3956f4f075a 0000000000000000
bf60:
000000000000000f 0000e3956f4f0cb0 0000000000000004 0000e39572bf17e0
bf80:
0000e3956f4f2588 0000e39572bf1618 0000000000000004 0000000000000000
bfa0:
0000e39572bf1618 0000e3956f4f0d70 0000e39572bd4260 0000e3956f4f0cb0
bfc0:
0000e395735727f0 0000000060000000 000000000000000f 0000000000000042
bfe0:
0000000000000000 0000000000000000 0000000000000000 0000000000000000
[<
ffff000008083ac0>] el0_svc_naked+0x34/0x38
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Thu, 1 Aug 2019 02:36:54 +0000 (10:36 +0800)]
MLK-22366-3 usb: cdns3: gadget: set request as NULL when it is freed
Meanwhile, the pending_setup_status work item needs to be flushed after
EP0 is dequeued. It fixed below oops:
[ 292.766596] android_work: sent uevent USB_STATE=DISCONNECTED
[ 292.769602] ------------[ cut here ]------------
[ 292.769631] WARNING: CPU: 3 PID: 88 at /home/b29397/work/projects/linux-imx/drivers/usb/gadget/composite.c:1383 com
posite_setup_complete+0xc8/0xd0
[ 292.769639] Modules linked in:
[ 292.790493] audit: audit_lost=5519 audit_rate_limit=5 audit_backlog_limit=64
[ 292.796604] audit: rate limit exceeded
[ 292.803165] CPU: 3 PID: 88 Comm: kworker/3:1 Not tainted
4.14.98-07842-g3848d2f45363-dirty #51
[ 292.803168] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 292.803183] Workqueue: events_freezable cdns3_pending_setup_status_handler
[ 292.803188] task:
ffff80083ac68e80 task.stack:
ffff00000ada8000
[ 292.803195] PC is at composite_setup_complete+0xc8/0xd0
[ 292.803200] LR is at composite_setup_complete+0xc8/0xd0
[ 292.803204] pc : [<
ffff000008aa17c8>] lr : [<
ffff000008aa17c8>] pstate:
000001c5
[ 292.803206] sp :
ffff00000adabd70
[ 292.803208] x29:
ffff00000adabd70 x28:
0000000000000000
[ 292.803215] x27:
ffff80083abf8c38 x26:
ffff000009619518
[ 292.803227] x25:
0000000000000000 x24:
ffff00000a150cf8
[ 292.870582] x23:
0000000000000000 x22:
ffff80083ff6c100
[ 292.875901] x21:
0000000000000140 x20:
ffff800836342718
[ 292.881216] x19:
ffff8000706e5900 x18:
0000000000000010
[ 292.886533] x17:
0000eb3821d31268 x16:
ffff000008313fc8
[ 292.891850] x15:
ffffffffffffffff x14:
ffff00000a12e008
[ 292.897166] x13:
ffff00008a4319d7 x12:
ffff00000a4319df
[ 292.902483] x11:
ffff00000a157000 x10:
ffff00000adaba90
[ 292.907801] x9 :
00000000ffffffd0 x8 :
ffff000008729658
[ 292.913116] x7 :
75716572206e776f x6 :
0000000000000006
[ 292.918433] x5 :
0000000000000000 x4 :
0000000000000000
[ 292.923749] x3 :
0000000000000000 x2 :
13710ac2b6ac9b00
[ 292.929067] x1 :
0000000000000000 x0 :
0000000000000020
[ 292.934397]
[ 292.934397] X19: 0xffff8000706e5880:
[ 292.939448] 5880
00004ef4 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 292.947651] 58a0
00000000 00000000 00004ef5 00000000 00000000 00000000 00000000 00000000
[ 292.955860] 58c0
00000000 00000000 00000000 00000000 00000000 00000000 71f24600 ffff8000
[ 292.964070] 58e0
00000300 00000001 706e58e0 ffff8000 395101c0 ffff8008 00000000 00000000
[ 292.972280] 5900
706e5000 ffff8000 00000000 00000000 f47ff000 00000000 00000000 00000000
[ 292.980487] 5920
00000000 00000000 00000000 00000000 08aa1700 ffff0000 3bb36428 ffff8008
[ 292.988697] 5940
706e5940 ffff8000 706e5940 ffff8000 00000000 00000000 36342718 ffff8008
[ 292.996907] 5960
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.005121]
[ 293.005121] X20: 0xffff800836342698:
[ 293.010181] 2698
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.014718] using random self ethernet address
[ 293.018391] 26b8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.018413] 26d8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.018435] 26f8
00000000 00000000 36342900 ffff8008 3ac7c880 ffff8008 087e56b0 ffff0000
[ 293.018458] 2718
3bb36428 ffff8008 363427a8 ffff8008 092cbfa0
[ 293.030136] using random host ethernet address
[ 293.031092]
ffff0000 00000000 00000000
[ 293.031101] 2738
00000000 00000000 00000031 02000000 00000200 00000004 0a286238 ffff0000
[ 293.031136] 2758
00000000 00000000 36342760 ffff8008 36342760 ffff8008 36342770 ffff8008
[ 293.077978] 2778
36342770 ffff8008 36342780 ffff8008 36342780 ffff8008 0ae25000 ffff0000
[ 293.086193]
[ 293.086193] X22: 0xffff80083ff6c080:
[ 293.091253] c080
3ff6c080 ffff8008 3ff6c080 ffff8008 ffffffe0 0000000f 3ff6c098 ffff8008
[ 293.099463] c0a0
3ff6c098 ffff8008 080fb2b0 ffff0000 00000000 00000000 00000000 00000000
[ 293.107672] c0c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.115882] c0e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.124083] c100
3ff68000 ffff8008 3a00ce00 ffff8008 00000000 ffffffff 00000002 00000001
[ 293.132293] c120
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.140494] c140
00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000100
[ 293.148695] c160
3ff6c160 ffff8008 3ff6c160 ffff8008 3ff53170 ffff8008 3a00ce00 ffff8008
[ 293.156903]
[ 293.156903] X27: 0xffff80083abf8bb8:
[ 293.161961] 8bb8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.170162] 8bd8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.178371] 8bf8
00000000 00000000 00000000 00000000 643a725f 5f706368 3aafd100 ffff8008
[ 293.186583] 8c18
00000000 73706d75 00000000 74706f5f 3abf8c28 ffff8008 3abf8c28 ffff8008
[ 293.194791] 8c38
00000000 dead0000 00000000 ffff8008 3abf8c48 ffff8008 3abf8c48 ffff8008
[ 293.203001] 8c58
00000050 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 293.211210] 8c78
00000000 00000000 00000001 ffff8008 3607ac00 ffff8008 00000002 00000000
[ 293.219420] 8c98
3abf8c98 ffff8008 00000000 00000000 00000000 00000000 3ad74fb0 ffff8008
[ 293.227625]
[ 293.229119] Call trace:
[ 293.231573] Exception stack(0xffff00000adabc30 to 0xffff00000adabd70)
[ 293.238027] bc20:
0000000000000020 0000000000000000
[ 293.245865] bc40:
13710ac2b6ac9b00 0000000000000000 0000000000000000 0000000000000000
[ 293.253707] bc60:
0000000000000006 75716572206e776f ffff000008729658 00000000ffffffd0
[ 293.261543] bc80:
ffff00000adaba90 ffff00000a157000 ffff00000a4319df ffff00008a4319d7
[ 293.269379] bca0:
ffff00000a12e008 ffffffffffffffff ffff000008313fc8 0000eb3821d31268
[ 293.277217] bcc0:
0000000000000010 ffff8000706e5900 ffff800836342718 0000000000000140
[ 293.285051] bce0:
ffff80083ff6c100 0000000000000000 ffff00000a150cf8 0000000000000000
[ 293.292887] bd00:
ffff000009619518 ffff80083abf8c38 0000000000000000 ffff00000adabd70
[ 293.300723] bd20:
ffff000008aa17c8 ffff00000adabd70 ffff000008aa17c8 00000000000001c5
[ 293.308562] bd40:
ffff000008aa1700 0000000000000000 ffffffffffffffff ffff800838000058
[ 293.316406] bd60:
ffff00000adabd70 ffff000008aa17c8
[ 293.321303] [<
ffff000008aa17c8>] composite_setup_complete+0xc8/0xd0
[ 293.327584] [<
ffff000008a56040>] cdns3_pending_setup_status_handler+0x70/0x98
[ 293.334729] [<
ffff0000080fe1e0>] process_one_work+0x1d8/0x470
[ 293.340476] [<
ffff0000080fe4c4>] worker_thread+0x4c/0x458
[ 293.345885] [<
ffff0000081052ec>] kthread+0x134/0x138
[ 293.350862] [<
ffff00000808525c>] ret_from_fork+0x10/0x1c
[ 293.356175] ---[ end trace
9b2dcf754a0dbda5 ]---
[ 293.392462] init: Service 'adbd' (pid 4743) received signal 9
[ 293.399231] init: Sending signal 9 to service 'adbd' (pid 4743) process group...
[ 293.412539] libprocessgroup: Successfully killed process cgroup uid 0 pid 4743 in 4ms
[ 295.781315] init: Received control message 'start' for 'adbd' from pid: 3253 (system_server)
[ 295.790279] init: starting service 'adbd'...
[ 295.798116] init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 29 Jul 2019 06:34:18 +0000 (14:34 +0800)]
MLK-22366-2 usb: cdns3: gadget: fix the hot plug and function switch issue
- If the UDC is not started, we need not to access register at .udc_stop
- Clear all priv_ep flags except EP_CLAIMED which should be cleared at
.udc_stop
- Clear warning message that the .ep_disable may be called twice, one
from class driver, one from UDC driver.
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Peter Chen [Mon, 22 Jul 2019 08:59:50 +0000 (16:59 +0800)]
MLK-22366-1 usb: cdns3: gadget: enlarge the TD list
At Android ADB and MTP use case, TD consumes very fast compared to TD has
finished, so we need to enlarge the TD list to avoid "no free TD error".
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Li Jun [Mon, 24 Jun 2019 07:28:31 +0000 (15:28 +0800)]
MLK-22094 usb: cdns3: include head directory to find it
define_trace.h needs to know how to find our header, otherwise
we will have below build error:
In file included from drivers/usb/cdns3/trace.h:446:0,
from drivers/usb/cdns3/trace.c:11:
./include/trace/define_trace.h:89:43: fatal error: ./trace.h: No such
file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
scripts/Makefile.build:326: recipe for target
'drivers/usb/cdns3/trace.o' failed
make[3]: *** [drivers/usb/cdns3/trace.o] Error 1
make[3]: *** Waiting for unfinished jobs....
CC drivers/usb/host/pci-quirks.o
CC drivers/usb/isp1760/isp1760-core.o
CC drivers/usb/misc/ehset.o
CC drivers/usb/isp1760/isp1760-if.o
scripts/Makefile.build:585: recipe for target 'drivers/usb/cdns3' failed
make[2]: *** [drivers/usb/cdns3] Error 2
make[2]: *** Waiting for unfinished jobs....
CC drivers/usb/misc/usb3503.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/usb/isp1760/isp1760-hcd.o
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
(cherry picked from commit
b0067d4b7c4e6f11625d3989b903189d73a45363)
Peter Chen [Wed, 19 Jun 2019 08:55:12 +0000 (16:55 +0800)]
MLK-18579-2 usb: cdns3: xhci: disable BEI support
The Cadence xHCI doesn't support BEI well, it causes the disconnection
of ISOC devices can't be detected, so we disable it.
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit
258bb7de5b60bae44b7b775ea9d03e8a59410868)
Peter Chen [Wed, 19 Jun 2019 08:06:40 +0000 (16:06 +0800)]
MLK-18579-1 usb: cdns3: using upstream multiple TD driver
Keep the internal framework, just use the UDC driver from
upstream version which supports multiple TD.
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit
2336a88d3867bbc68dd11420f7b1269c1eaf6cae)
Peter Chen [Mon, 14 Jan 2019 08:46:18 +0000 (16:46 +0800)]
MLK-20754 usb: cdns3: add role switch sys entry
It is an experimental feature, and tested by internal team for
Carplay feature.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit
270c1ea5168763a03f79c4f9ecadb2cd18dc08f9)
Peter Chen [Wed, 6 Mar 2019 09:12:29 +0000 (17:12 +0800)]
MA-13475 usb: cdns3: gadget: fix NULL pointer issue when switch functions
Below oops is reproduced when switch between mtp and ptp function
at Android, the interrupt occurs when the usb_ss->gadget_driver
is already NULL. In this commit, we add NULL pointer check for
it as well as protecting for clear usb_ss->gadget_driver.
init: Sending signal 9 to service 'adbd' (pid 4644) process group...
Mem abort info:
Exception class = DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgd =
ffff800830e49000
[
0000000000000020] *pgd=
0000000000000000
Internal error: Oops:
96000004 [#1] PREEMPT SMP
Modules linked in: wlan
CPU: 0 PID: 3226 Comm: surfaceflinger Not tainted 4.14.98 #1
init: Successfully killed process cgroup uid 0 pid 4644 in 11ms
Hardware name: Freescale i.MX8QXP MEK (DT)
task:
ffff80083bf55400 task.stack:
ffff00000ffe8000
PC is at cdns_get_setup_ret+0x38/0x64
LR is at cdns_get_setup_ret+0x24/0x64
pc : [<
ffff0000089b0e88>] lr : [<
ffff0000089b0e74>] pstate:
000001c5
sp :
ffff000008003d10
x29:
ffff000008003d10 x28:
ffff80083bf55400
x27:
ffff000009873018 x26:
ffff000008004000
x25:
ffff000009873018 x24:
ffff000009c6a288
x23:
ffff000008003f24 x22:
ffff00000a85e000
x21:
0000000000000001 x20:
ffff8008361c97b8
x19:
ffff8008361c9000 x18:
0000000000000001
x17:
0000fe6e544aee34 x16:
ffff0000082b54f0
x15:
0000ffffccae15f0 x14:
0000000000000000
x13:
0000000000000000 x12:
0000000000010000
x11:
0000000000000040 x10:
0000000000000040
x9 :
ffff8008380ae238 x8 :
ffff800838000248
x7 :
0000000000000000 x6 :
ffff800838000248
init: Service 'adbd' (pid 4644) killed by signal 9
x5 :
ffff80083ae40600 x4 :
0000000000000000
x3 :
00000000000001c0 x2 :
0000000000000000
x1 :
ffff00000a85e000 x0 :
ffff8008361c9300
X0: 0xffff8008361c9280:
9280
00000000 00000000 00000000 00000000 000f000f
init: processing action (init.svc.adbd=stopped) from (/init.usb.configfs.rc:15)
00000000 3bf6ce00 ffff8008
92a0
3acd9a00 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
92c0
00000000 00000000 00000000 00000000 00000000 00000000 089b0e3c ffff0000
92e0
00000000
init: processing action (sys.usb.config=mtp,adb && sys.usb.configfs=1) from (/init.usb.configfs.rc:33)
00000000 00000000 00000000
read descriptors
read strings
init: starting service 'adbd'...
00000000
init: property_set("ro.boottime.adbd", "
97804848500") failed: property already set
init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000
00000000 0e0f0000 ffff0000
9300
3ff21105 ffff8008 3ff1d120 ffff8008 2e15d4e0 ffff8008 089f9558 ffff0000
9320
3618ac00 ffff8008 091b7860 ffff0000 3bf6ce18 ffff8008 3bf6cd30
read descriptors
read strings
ffff8008
9340
3acd9a30 ffff8008 00000000 00000005 00000000 00000000 095c4e58 ffff0000
9360
361c9000 ffff8008 3acd9700 ffff8008 095be4c8 ffff0000 3618ac28 ffff8008
X5: 0xffff80083ae40580:
0580
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
05e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0600
03440204 ffffffff 00000000 00000000 00000000 00000000 0000000f 00000000
0620
00000001 00000000 00000000 00000030 0000010f 00000000 3ae40600 ffff8008
0640
09d7aae0 ffff0000 3a088000 ffff8008 3aa22c80 ffff8008 00000000 00000000
0660
09886e24 ffff0000 081496ec ffff0000 3b444080 ffff8008 00000000 00000000
X6: 0xffff8008380001c8:
01c8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01e8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0208
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0228
fffffc00 ffffffff 00000000 00000000 00000000 00000000 38000248 ffff8008
0248
003f0000 00000000 380af6c0 ffff8008 09c937f0 ffff0000 38000260 ffff8008
0268
38000260 ffff8008 00000000 00000000 3a007400 ffff8008 3a007600 ffff8008
0288
3a007800 ffff8008 3a007a00 ffff8008 3a007c00 ffff8008 3a6be600 ffff8008
02a8
3ab1da00 ffff8008 3ab1dc00 ffff8008 3ab1de00 ffff8008 3ac52000 ffff8008
X8: 0xffff8008380001c8:
01c8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
01e8
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0208
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0228
fffffc00 ffffffff 00000000 00000000 00000000 00000000 38000248 ffff8008
0248
003f0000 00000000 380af6c0 ffff8008 09c937f0 ffff0000 38000260 ffff8008
0268
38000260 ffff8008 00000000 00000000 3a007400 ffff8008 3a007600 ffff8008
0288
3a007800 ffff8008 3a007a00 ffff8008 3a007c00 ffff8008 3a6be600 ffff8008
02a8
3ab1da00 ffff8008 3ab1dc00 ffff8008 3ab1de00 ffff8008 3ac52000 ffff8008
X9: 0xffff8008380ae1b8:
e1b8
3ae1ddd0 ffff8008 3ae1de58 ffff8008 3ae1dee0 ffff8008 3ae1df68 ffff8008
e1d8
3aad9000 ffff8008 3aad9088 ffff8008 3aad9110 ffff8008 3aad9198 ffff8008
e1f8
3aad9220 ffff8008 3aad92a8 ffff8008 3aad9330 ffff8008 3aad93b8 ffff8008
e218
00000000 00000000 00000000 00000000 00000000 00000000 380ae238 ffff8008
e238
000b0400 00000000 3802c490 ffff8008 3a081060 ffff8008 380ae250 ffff8008
e258
380ae250 ffff8008 00000000 00000000 00000000 00000000 00000000 00000000
e278
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
e298
00000000 00000000 3aea2c28 ffff8008 3aea2e28 ffff8008 00000000 00000000
X19: 0xffff8008361c8f80:
8f80
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fa0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fc0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
8fe0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9000
3ab9f410 ffff8008 3bf6b000 ffff8008 095c4e48 ffff0000 361c9378 ffff8008
9020
360ed558 ffff8008 3ab9f420 ffff8008 3a7d5800 ffff8008 09d9fa00 ffff0000
9040
361b94c8 ffff8008 00000006 00000003 00000000 00000000 00000000 00000000
9060
00000000 00000000 00000000 00000000 361c9070 ffff8008 361c9070 ffff8008
X20: 0xffff8008361c9738:
9738
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9758
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9778
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9798
0000000e 00000000 71a71600 ffff8000 00000000 00000000 00000000 00000000
97b8
044c044c 00000002 00000000 00000000 00000001 00000000 3ab9f410 ffff8008
97d8
00000001 00000000 3bf6cc70 ffff8008 3bf6c170 ffff8008 00000000 00000000
97f8
00000000 00000000 361c9800 ffff8008 361c9800 ffff8008 089b1dc8 ffff0000
9818
71a71600 ffff8000 00000000 00000000 00000000 00000000 00000000 00000000
X28: 0xffff80083bf55380:
5380
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53a0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53c0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
53e0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5400
00000022 00000000 ffffffff ffffffff 00010001 00000000 00000000 00000000
5420
0ffe8000 ffff0000 00000006 00404100 00000000 00000000 00000000 00000000
5440
00000001 00000000 000000e6 00000000 ffff3a2d 00000000 30c10000 ffff8008
5460
00000000 00000001 00000062 00000070 00000062 00000001 09023e38 ffff0000
Process surfaceflinger (pid: 3226, stack limit = 0xffff00000ffe8000)
Call trace:
Exception stack(0xffff000008003bd0 to 0xffff000008003d10)
3bc0:
ffff8008361c9300 ffff00000a85e000
3be0:
0000000000000000 00000000000001c0 0000000000000000 ffff80083ae40600
3c00:
ffff800838000248 0000000000000000 ffff800838000248 ffff8008380ae238
3c20:
0000000000000040 0000000000000040 0000000000010000 0000000000000000
3c40:
0000000000000000 0000ffffccae15f0 ffff0000082b54f0 0000fe6e544aee34
3c60:
0000000000000001 ffff8008361c9000 ffff8008361c97b8 0000000000000001
3c80:
ffff00000a85e000 ffff000008003f24 ffff000009c6a288 ffff000009873018
3ca0:
ffff000008004000 ffff000009873018 ffff80083bf55400 ffff000008003d10
3cc0:
ffff0000089b0e74 ffff000008003d10 ffff0000089b0e88 00000000000001c5
3ce0:
00000000000001c0 1a8824534cfb2000 0000ffffffffffff ffff0000080f87c8
3d00:
ffff000008003d10 ffff0000089b0e88
[<
ffff0000089b0e88>] cdns_get_setup_ret+0x38/0x64
[<
ffff0000089b2a48>] cdns_check_ep0_interrupt_proceed+0xc0/0x8dc
[<
ffff0000089b3508>] cdns_irq_handler_thread+0x2a4/0x4e8
[<
ffff0000089afd98>] cdns3_irq+0x44/0x94
[<
ffff000008145994>] __handle_irq_event_percpu+0x60/0x24c
[<
ffff000008145c54>] handle_irq_event+0x58/0xc0
[<
ffff000008149784>] handle_fasteoi_irq+0x98/0x180
[<
ffff000008144a58>] generic_handle_irq+0x24/0x38
[<
ffff0000081451b8>] __handle_domain_irq+0x60/0xac
[<
ffff0000080819c4>] gic_handle_irq+0xd4/0x17c
Signed-off-by: Peter Chen <peter.chen@nxp.com>
(cherry picked from commit
6ee6e32b0c3fcbea70117eaea3c315f0e220144c)
ming_qian [Fri, 30 Aug 2019 02:47:47 +0000 (10:47 +0800)]
MLK-22526: VPU: synchronize sending message to MU
use a spinlock to synchronize sending message to MU
Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Shengjiu Wang [Fri, 30 Aug 2019 03:24:54 +0000 (11:24 +0800)]
MLK-22484: ARM64: dts: Fix mem clock for asrc
The mem clock is used to access the register, if there is no
mem clock defined, we should use the ipg clock instead,
otherwise there will be kernel dump after system reboot.
[ 3.010962] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 3.010964] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
4.19.35-05057-g2134d856e6b2 #2889
[ 3.010966] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 3.010968] Call trace:
[ 3.010969] dump_backtrace+0x0/0x178
[ 3.010971] show_stack+0x14/0x20
[ 3.010972] dump_stack+0x8c/0xac
[ 3.010974] panic+0x120/0x28c
[ 3.010975] __stack_chk_fail+0x0/0x18
[ 3.010977] arm64_serror_panic+0x74/0x80
[ 3.010979] do_serror+0x68/0x130
[ 3.010980] el1_error+0x7c/0xdc
[ 3.010982] _raw_spin_unlock_irqrestore+0xc/0x48
[ 3.010984] clk_core_disable_lock+0x28/0x38
[ 3.010985] clk_disable+0x1c/0x30
[ 3.010987] regmap_mmio_write+0x54/0x68
[ 3.010989] _regmap_bus_reg_write+0x14/0x20
[ 3.010990] _regmap_write+0x60/0xa8
[ 3.010992] regmap_write+0x48/0x70
[ 3.010994] fsl_asrc_probe+0x258/0x660
[ 3.010995] platform_drv_probe+0x50/0xb0
Why this issue only happen at kernel reboot, it is because the ipg
clock is enabled in default after system reset, after used once, the
ipg clock is disabled, then reboot system, the issue happen.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Shijie Qin [Wed, 28 Aug 2019 12:34:44 +0000 (20:34 +0800)]
MLK-22519-2 VPU Decoder: remove *ctrls[V4L2_MAX_CTRLS] from vpu_ctx
*ctrls[V4L2_MAX_CTRLS] is not actually used, and it is easy to cause
out-of-bound when add v4l2_ctrl. Hence remove it.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Shijie Qin [Wed, 28 Aug 2019 12:18:28 +0000 (20:18 +0800)]
MLK-22519-1 VPU Decoder: separate setting start_code_bypass and stream_input_mode
There is no dependency between start_code_bypass and stream_input_mode,
should be set separately.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
Viorel Suman [Thu, 29 Aug 2019 10:17:33 +0000 (13:17 +0300)]
MLK-22522: ASoC: fsl_sai: fix stack-out-of-bounds KASAN complain
Fix the following KASAN reported issue:
==================================================================
[ 11.580278] BUG: KASAN: stack-out-of-bounds in find_next_bit+0x3c/0xc0
[ 11.586815] Read of size 8 at addr
ffffffc8c8d4f760 by task swapper/0/1
[ 11.593440]
[ 11.594943] CPU: 4 PID: 1 Comm: swapper/0 Tainted: G W 4.19.35-05042-g. #157
[ 11.604259] Hardware name: Freescale i.MX8QM MEK (DT)
[ 11.609323] Call trace:
[ 11.611785] dump_backtrace+0x0/0x230
[ 11.615458] show_stack+0x14/0x20
[ 11.618787] dump_stack+0xbc/0xf4
[ 11.622118] print_address_description+0x60/0x270
[ 11.626830] kasan_report+0x230/0x360
[ 11.630505] __asan_load8+0x84/0xa8
[ 11.634005] find_next_bit+0x3c/0xc0
[ 11.637595] fsl_sai_calc_dl_off+0x1c/0x50
[ 11.641703] fsl_sai_read_dlcfg+0x184/0x368
[ 11.645898] fsl_sai_probe+0x3ec/0xb48
[ 11.649663] platform_drv_probe+0x70/0xd8
[ 11.653683] really_probe+0x24c/0x370
[ 11.657358] driver_probe_device+0x70/0x138
[ 11.661554] __driver_attach+0x124/0x128
[ 11.665489] bus_for_each_dev+0xe8/0x158
[ 11.669425] driver_attach+0x30/0x40
[ 11.673012] bus_add_driver+0x290/0x308
[ 11.676861] driver_register+0xbc/0x1d0
[ 11.680711] __platform_driver_register+0x7c/0x88
[ 11.685431] fsl_sai_driver_init+0x18/0x20
[ 11.689537] do_one_initcall+0xe8/0x5a8
[ 11.693387] kernel_init_freeable+0x6b0/0x760
[ 11.697759] kernel_init+0x10/0x120
[ 11.701255] ret_from_fork+0x10/0x18
....
==================================================================
[ 11.800186] Disabling lock debugging due to kernel taint
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Shengjiu Wang [Thu, 29 Aug 2019 08:31:06 +0000 (16:31 +0800)]
MLK-22521-3: ASoC: fsl_easrc: Add multi context for bps_iec958
Add multi context support for bps_iec958
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit
131408cc5b9f7957502c01bf3bff18c9c4b4fca0)
Shengjiu Wang [Thu, 29 Aug 2019 05:56:22 +0000 (13:56 +0800)]
MLK-22521-2: ASoC: fsl_easrc: support configuration of channel status
support configuration of channel status for IEC958
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit
92aee54f844098080c878ae59878dadab28d8ea3)
Shengjiu Wang [Thu, 29 Aug 2019 06:07:18 +0000 (14:07 +0800)]
MLK-22521-1: ASoC: fsl_easrc:IEC958 is only supported for output
IEC958 is only supported for output according to the RM
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit
bf36888526c420776c18ca06548b9d3798200beb)
Leonard Crestez [Tue, 27 Aug 2019 11:34:40 +0000 (14:34 +0300)]
MLK-22514 arm64: dts: imx8mm: Fix GPU axi/ahb rates
On imx8mm gpu AXI should be 800m and AHB 400m but assigned-clock-rates
incorrectly assigned 400m to AXI and left AHB at 800m.
Fixes:
e744bde4148b ("MLK-21700-4 arm64: dts: imx8mm: Consolidate composite assigned-clocks")
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
Robert Chiras [Mon, 26 Aug 2019 08:38:08 +0000 (11:38 +0300)]
MLK-22502: arm64: dts: fsl-imx8mq: Use SYNC_PULSE for Raydium panel
On 8MQ, it seems that the panel has issues when video-mode used is with
SYNC_EVENTS (default). So, use the video-mode to <2> (SYNC_PULSE), since
the video signal is much stable with this mode.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Ranjani Vaidyanathan [Thu, 15 Aug 2019 19:54:49 +0000 (14:54 -0500)]
MLK-22360 soc: imx8qm/imx8qxp: Fix power state of parent power domains
Handle the case when powering down a pd with no active slave domains.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
ming_qian [Tue, 27 Aug 2019 01:46:39 +0000 (09:46 +0800)]
MLK-22506: VPU Decoder: fix mutex may not unlock if v4l2_open fail
there is an bug in v4l2_open,
that the dev_mutex may be not unlock in some flow,
it'll cause dead lock.
Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Shengjiu Wang [Mon, 26 Aug 2019 07:55:14 +0000 (15:55 +0800)]
MLK-22463-2: ASoC: imx-sii902x: Fix constant variable guards dead code
Fix constant variable guards dead code which is reported by coverity.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Shengjiu Wang [Mon, 26 Aug 2019 07:52:13 +0000 (15:52 +0800)]
MLK-22463-1: ASoC: fsl_easrc: Fix logically dead code
Fix logically dead code which is reported by coverity
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Peng Fan [Thu, 22 Aug 2019 03:23:42 +0000 (11:23 +0800)]
MLK-22487-2 clk: imx: imx8mm/n: fix pll mux bit
pll BYPASS bit should be kept inside pll driver for glitchless freq
setting following spec. If exposing the bit, that means pll driver and
clk driver has two paths to touch this bit, which is wrong.
So use EXT_BYPASS bit here.
And drop uneeded set parent, because EXT_BYPASS default is 0.
Suggested-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Peng Fan [Thu, 22 Aug 2019 03:18:13 +0000 (11:18 +0800)]
MLK-22487-1 clk: imx: clk-pll14xx: unbypass PLL by default
When registering the PLL, unbypass the PLL.
The PLL has two bypass control bit, BYPASS and EXT_BYPASS.
we will expose EXT_BYPASS to clk driver for mux usage, and keep
BYPASS inside pll14xx usage. The PLL has a restriction that
when M/P change, need to RESET/BYPASS pll to avoid glitch, so
we could not expose BYPASS.
To make it easy for clk driver usage, unbypass PLL which does
not hurt current function.
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Peng Fan [Tue, 20 Aug 2019 02:27:04 +0000 (10:27 +0800)]
MLK-22489 clk: imx: pll14xx: avoid glitch when set rate
According to PLL1443XA and PLL1416X spec,
"When BYPASS is 0 and RESETB is changed from 0 to 1, FOUT starts to
output unstable clock until lock time passes. PLL1416X/PLL1443XA may
generate a glitch at FOUT."
So set BYPASS when RESETB is changed from 0 to 1 to avoid glitch.
In the end of set rate, BYPASS will be cleared.
When prepare clock, also need to take care to avoid glitch. So
we also follow Spec to set BYPASS before RESETB changed from 0 to 1.
And add a check if the RESETB is already 0, directly return 0;
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Shijie Qin [Fri, 23 Aug 2019 07:27:21 +0000 (15:27 +0800)]
MLK-22464 VPU Decoder: [MX8QM] vpu issue in coverity kernel scan
1. CID
6371811: Dereference before null check (REVERSE_INULL)
2. CID
6371006: Unchecked return value (CHECKED_RETURN)
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
Shijie Qin [Fri, 23 Aug 2019 05:59:10 +0000 (13:59 +0800)]
MLK-22314-3 VPU Decoder: modify show performance measure
1. start timer from open device;
2. add the interval from open device to feed first data and to
send start cmd;
3. In order to reduce the time deviation of print log, use
device_attribute file to show performance info.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
Shenwei Wang [Tue, 20 Aug 2019 20:07:36 +0000 (15:07 -0500)]
MLK-21499 arm: imx: put pads into OFF state before entering VLLS
Due to the hardware limitation, the power supply for the PADs could not
be off during VLLS mode. To reduce the power consumption under VLLS
state, put all the PADs on iomuxc1 into OFF state before the
system enters into VLLS mode.
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
Haibo Chen [Tue, 20 Aug 2019 12:32:11 +0000 (20:32 +0800)]
MLK-22466 ARM64: dts: fsl-imx8dxl-phantom-mek.dtsi: add sd cd and wp support
Add card detect and write protect support for the sd slot on imx8dxl-phantom-mek
board.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
ming_qian [Tue, 20 Aug 2019 08:24:57 +0000 (16:24 +0800)]
MLK-22460: VPU Decoder: export buffer info to help analysis some hang
case
Some hang case is caused by the frame count in the stream buffer
is not reach the threshold,
export these infomations, can help us locate the problem quickly
Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Shijie Qin [Mon, 19 Aug 2019 02:27:29 +0000 (10:27 +0800)]
MLK-22206-2 VPU Decoder: modify vpu log print method
Move LVL_WARN/LVL_EVENT/LVL_INFO one bit to the left to convenient for
adjust log level, and leave 4th position to reserved.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
ming_qian [Mon, 19 Aug 2019 02:38:40 +0000 (10:38 +0800)]
MLK-22451: VPU Decoder: don't append scode after sequence header in
dis_reorder mode
in dis_reorder mode, scode need to be inserted after every frame.
but if it's inserted after sequence header, it may cause stream hang,
or cause mosaics.
Signed-off-by: ming_qian <ming.qian@nxp.com>
Reviewed-by: Shijie Qin <shijie.qin@nxp.com>
Peng Fan [Tue, 13 Aug 2019 03:28:33 +0000 (11:28 +0800)]
MLK-22429 imx8mn: fix audio pll setting
The AUDIO PLL max support 650M, so the original clk settings violate
spec. In order not to impact audio functionality, let's div the
clk by 2.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Leonard Crestez [Fri, 16 Aug 2019 16:54:41 +0000 (19:54 +0300)]
MLK-22448-2 arch64: dts: imx8m: Set qspi parent to pll1_400m
On imx8mm and imx8mn pll1_800m is not a parents of qspi, that mux
position connects to pll2_333m instead.
Set the assigned-clock-parent to pll1_400m instead so that we can get
80m as expected.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Han Xu <han.xu@nxp.com>
Leonard Crestez [Fri, 16 Aug 2019 16:53:46 +0000 (19:53 +0300)]
MLK-22448-1 clk: imx8m: Correct qspi parent
On imx8mm and imx8mn sys_pll1_800m is not a parent of qspi, that mux
position connects to sys_pll2_333m instead.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Han Xu <han.xu@nxp.com>
Shengjiu Wang [Wed, 7 Aug 2019 03:00:13 +0000 (11:00 +0800)]
MLK-22400-2: ARM64: dts: imx8mn: support rpmsg audio in imx8mn
Support rpmsg audio in imx8mn
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit
02f10fd736edbf4c9d144241ec45656f607262c3)
Shengjiu Wang [Wed, 7 Aug 2019 02:56:52 +0000 (10:56 +0800)]
MLK-22400-1: ASoC: fsl_rpmsg_i2s: Add rpmsg i2s for imx8mn
The rpmsg i2s audio is supported with codec wm8524 in imx8mn
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
68ad8218321cec6006acdb3df846da8bc6994792)
Shengjiu Wang [Mon, 29 Jul 2019 07:02:46 +0000 (15:02 +0800)]
MLK-22340-5: ASoC: imx-pcm-rpmsg: enable ignore_suspend for LPA
In LPA drain state, if runtime->status->state is SUSPEND, after resume,
ALSA would exit drain mode directly, that cause some data in end
of song is missed.
This patch is to enable ignore_suspend flags that
the runtime->status->state will be not in SUSPEND always.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
f83787f252adb7cb0280c43ab0d428c66f9c63f9)
Shengjiu Wang [Mon, 29 Jul 2019 06:50:20 +0000 (14:50 +0800)]
MLK-22340-4: ASoC: fsl_rpmsg_i2s: add lock to protect the resource
Use the spin lock to protect the work_write_index and work_read_index,
Use the spin lock to protect the period_done_msg_enabled flag
That is to avoid the read and write flag confliction.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
6de0ce94dd9fe0010f71c508cd0b73bb8f0a51b0)
Shengjiu Wang [Mon, 29 Jul 2019 06:48:09 +0000 (14:48 +0800)]
MLK-22340-3: ASoC: imx-pcm-rpmsg: refine the timer
For we have dropped the cmd I2S_TX_POINTER, and M4 will send
notification every period, so we don't need to enable timer
every period to get the position of TX pointer.
But we need a timer to send the notification to M4 that is
to reduce the notificaition message number.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
900628f0d551c8d4faeb3fe3d33ef4646e13b2e1)
Shengjiu Wang [Mon, 29 Jul 2019 06:33:08 +0000 (14:33 +0800)]
MLK-22340-2: ASoC: imx-pcm-rpmsg: drop the cmd I2S_TX_POINTER
There is error log for short period size:
[ 6977.102062] i2s_rpmsg virtio0.rpmsg-audio-channel.-1.1: rpmsg_send cmd 22 timeout!
We use the I2S_TX_POINTER(cmd 22) to get the consumed period
index from M4 every period time, and m4 should send feedback
to A53. When the period time is small, there will too much
cmd send to m4, m4 may not handle it quickly that cause
timeout.
This patch is to remove the I2S_TX_POINTER cmd, m4 should
send notification to A53 every period time to be compatible
with this change. with the patch the loading of this rpmsg
channel is reduced.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
babbc2cd8313fb5cf604b5ca93a86200df0e46b2)
Shengjiu Wang [Mon, 29 Jul 2019 06:26:02 +0000 (14:26 +0800)]
MLK-22340-1: Revert "MLK-20277-4: ARM64: fsl-imx8mm-evk-m4: enable sai3 with wm8524"
This reverts commit
b49dff663e17302230556745e45eb51b94dc1f0c.
M4 request to control the SAI3 for some customer want to use
the SAI3 + WM8524 for rpmsg playback, so remove the WM8524
sound card in this dts
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit
c4bd981ca2ca28dc2c4b90c6a399876148f0d779)
Shijie Qin [Mon, 12 Aug 2019 01:59:42 +0000 (09:59 +0800)]
MLK-22420 VPU Decoder: change AVS eos padding data, correct chroma size
1. Change AVS format EOS_PADDING_TYPE to EOS_GENERIC_MPEG to align with
firmware
2. chroma size shall also be 1/2 luma size for interlaced clips
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Leonard Crestez [Wed, 14 Aug 2019 11:50:13 +0000 (14:50 +0300)]
MLK-22440-3 clk: imx8mn: Fix incorrect parents
* Replace to audio_pll2_clk with audio_pll2_out
* Replace sys3_pll2_out with sys_pll3_out
* Replace sys1_pll_40m" with sys_pll1_40m
* Fix spelling qspi parents
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Leonard Crestez [Tue, 13 Aug 2019 10:26:29 +0000 (13:26 +0300)]
MLK-22440-2 clk: imx8mm: Fix incorrect parents
* Replace reference to sys_pll3_clk with sys_pll3_out
* Replace reference to sys1_pll_40m with sys_pll1_40m
* Fix spelling qspi parents
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Leonard Crestez [Wed, 14 Aug 2019 11:47:40 +0000 (14:47 +0300)]
MLK-22440-1 clk: imx8mq: Fix sys3 pll references
The "sys3_pll2_out" CLK was removed in refactoring so all
references need to be updated to "sys3_pll_out"
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Xianzhong [Tue, 13 Aug 2019 13:36:58 +0000 (21:36 +0800)]
MGS-4964-2 [#imx-1533] fix GPU kernel ctrl-C issue
fix 6Q GPU panic with ctrl-c during galcore load/unload
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Xianzhong [Fri, 14 Jun 2019 16:18:56 +0000 (00:18 +0800)]
MGS-4964-1 [#imx-1533] fix galcore load ctrl-C issue
fix 8QM GPU hang with ctrl-c during galcore load/unload
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
Peng Fan [Tue, 13 Aug 2019 03:18:01 +0000 (11:18 +0800)]
MLK-22427 clk: imx8mn: fix int pll clk gate
To Frac pll, the gate shift is 13, however to Int PLL the gate shift
is 11.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
Liu Ying [Mon, 12 Aug 2019 02:23:37 +0000 (10:23 +0800)]
MLK-22424 drm/imx: dpu: crc: Fix return value for dpu_crtc_set_crc_source()
In cases where error happens in dpu_crtc_set_crc_source(), we should
return proper error code from it.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Leonard Crestez [Fri, 9 Aug 2019 12:29:42 +0000 (15:29 +0300)]
arm64: dts: Fix imx8dxl-phantom-mek-rpmsg build
There are two sets of CAN regulators that need to be disabled.
Fixes:
d7e360899c59 ("MLK-22419 arm64: dts: enable partition reset for imx8dxl phantom board")
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Clark Wang [Fri, 9 Aug 2019 05:27:47 +0000 (13:27 +0800)]
MLK-22419 arm64: dts: enable partition reset for imx8dxl phantom board
Enable partition reset function for imx8dxl phantom board.
Use fsl-imx8dxl-phantom-mek-rpmsg.dtb to enable this function.
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Li Jun [Wed, 7 Aug 2019 07:43:08 +0000 (15:43 +0800)]
MLK-22406 usb: typec: tcpm: create parter for source only port
After the hack of moving forward tcpm state machine for source
only port but with usb data device mode support, we need further
to create its partner, so app(like android) can use it to judge if
the connection exists or not.
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Joakim Zhang [Fri, 9 Aug 2019 05:04:23 +0000 (13:04 +0800)]
arch: arm64: imx8dxl-phantom: enable Flexcan
Enable Flexcan on imx8dxl phantom mek.
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Clark Wang [Thu, 8 Aug 2019 09:48:59 +0000 (17:48 +0800)]
MLK-22412-2 clk: imx8qm: Fix the wrong remove of IMX8QM_LVDS1_I2C0_CLK
The SC_R_LVDS_0/1_I2C_1 resources should be removed. So add
IMX8QM_LVDS1_I2C0_CLK back.
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Clark Wang [Thu, 8 Aug 2019 08:56:21 +0000 (16:56 +0800)]
MLK-22412-1 Revert "MLK-22337 dts: clk: remove non-exist lvds1 recources for imx8qm"
This reverts commit
9811210cb25a98b65be4e3ef35ccaf9c05e0ca83.
No need to remove PD_LVDS1_I2C0 and SC_R_LVDS_1_I2C_0.
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Mirela Rabulea [Tue, 6 Aug 2019 12:56:09 +0000 (15:56 +0300)]
MLK-22401: mxc-jpeg: No image shown on the screen if set resolution to 333x333
Negotiate the resolution during try_fmt/s_fmt ioctls by aligning down,
according to the format restrictions. For the height, loosen up the
restriction to multiple of 8, in order to support NV12 1080p, even if
normally the restriction for NV12 is multiple of 16.
Use v4l_bound_align_image instead of mxc_jpeg_bound_align_image, and
remove mxc_jpeg_bound_align_image, as not needed any more.
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Mirela Rabulea [Thu, 18 Jul 2019 16:06:30 +0000 (19:06 +0300)]
MLK-22288: mxc-jpeg: Jpeg decoding/encoding on slot other than 0
Set-up the interrupts for all 4 slots to be handled in the same routine,
mxc_jpeg_dec_irq, which now is no longer hard-coded for slot 0.
Return initial code instead of EINVAL.
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Mirela Rabulea [Thu, 18 Jul 2019 16:05:00 +0000 (19:05 +0300)]
MLK-22288: mxc-jpeg: Jpeg decoding/encoding on slot != 0, dtb changes
There is an interrupt for each of the 4 slots, so add them
into the 8QXP & 8QM dtb.
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Mirela Rabulea [Thu, 18 Jul 2019 15:48:38 +0000 (18:48 +0300)]
MLK-22286: mxc-jpeg: Fix v4l2-compliance test for unlimited opens
Postpone allocating slot data from open() until device_run(), this will
allow unlimited opens. This forces us to postpone some operations from
jpeg_parse and s_fmt, which depend on slot descriptor, until descriptors
configuration in mxc_jpeg_config_dec_desc/mxc_jpeg_config_enc_desc.
Remove hard-coding on slot 0, use COM_STATUS register to determine
the current executing slot in the interrupt handler.
Allocate slots as they become needed, mark unused when frame is done,
release data only on remove, to prevent frequent allocation.
Change order for the following functions:
mxc_jpeg_setup_cfg_stream (and mxc_jpeg_fixup_sos, mxc_jpeg_fixup_sof),
mxc_get_free_slot, mxc_jpeg_alloc_slot_data, mxc_jpeg_free_slot_data
Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
Peng Fan [Thu, 8 Aug 2019 02:28:18 +0000 (10:28 +0800)]
MLK-22408 ARM64: dts: imx8qm: update edma power domain
After commit
<
1a0833a4b8db>("MLK-22284-1 dmaengine: fsl-edma-v3: add power domains for each channel")
xen dom0 is broken, need to update dom0 and domu dts for edma.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
Robert Chiras [Wed, 31 Jul 2019 08:58:04 +0000 (11:58 +0300)]
MLK-21819: drm/bridge: nwl-dsi: Use sync events instead of sync pulse
For some reason, when sending HS DSI commands while also sending pixel
data, the display timing becomes messed up. Didn't find the reason for
which this is happening, but it seems that setting the video mode for
DPI to Non-Burst with Sync Events instead of Non-Burst with Sync Pulses
allows the insertion of HS DSI commands to be send without problems.
So, use Sync Pulses only if requested by mode_flags and use Sync Events
as default.
Also:
- added defines for this video mode, in order to explain those magic
numbers used
- removed write to ENABLE_MULT_PKTS register twice
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Reviewed-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Guoniu.Zhou [Thu, 11 Jul 2019 06:18:11 +0000 (14:18 +0800)]
MLK-22261: media: mipi_csi: add MIPI PHY reset when csi runtime resume
The reset signal of MIPI Slave PHY will drop when dispmix power down,
so driver need to release the signal again when csi resume.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Wed, 10 Jul 2019 01:39:34 +0000 (09:39 +0800)]
MLK-22066: media: ISI: fix tearing issue for IMX8MN platform
ISI use ping-pong buffer to write image data to memory. Theoretically,
BUF1 will first work and then BUF2, but sometimes ISI of IMX8MN do not
follow this rule. But in our driver, we use list to manage buffers. It
means that we must follow 1-2-1... sequence. So just skip the frame for
this specail case.
Because we can not guarantee the interrupt sequence of BUF1 and BUF2,
and not sure which buffer is free, so change the buffer switching by
buffer status, not frame sequence.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Tue, 9 Jul 2019 03:21:50 +0000 (11:21 +0800)]
MLK-22205-3: media: ov5640: Fix the first some black frames issue
The first some frames will be black or have transparent green
layer on the image. It caused by sensor not stable after releasing
power down. So driver need to delay some time for different resolution
to wait sensor stable.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Thu, 4 Jul 2019 01:19:06 +0000 (09:19 +0800)]
MLK-22205-2: media: ov5640: Gate clock lane when no packet to transmit
If clock lane is free running, we met MIPI CSI clock lane will enter
stop state even though sensor is transmitting data to it. In MLK-22108,
We fix the issue by calling ov5640_stop() which can force sensor lane
to LP11. We can refine the solution by setting 0x4800[5] in initialization
stage.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Tue, 9 Jul 2019 02:05:35 +0000 (10:05 +0800)]
MLK-22205-1: media: ov5640: remove HW reset for ov5640
Remove hardware reset pin for ov5640. Because the level of ov5640
reset pin will be low when system suspend and will be high when
system resume. The action will lead to reset ov5640 to default.
In order to fix the issue, driver load firmware before streaming
on every time, the expense is taking more time.
According to OV5640 datasheet, a reset can also be initiated through
the SCCB interface by setting register 0x3008[7] to high. So driver
can remove the hard reset and saving time of loading firmware.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Mon, 1 Jul 2019 03:16:48 +0000 (11:16 +0800)]
MLK-22109-3: media: Replace dispmix gpr with gasket node for imx8mn
Add gasket node for imx8mn and replace dispmix GPR with it. And remove
dispmix node since it's not needed any more.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Wed, 19 Jun 2019 07:27:26 +0000 (15:27 +0800)]
MLK-22109-2: media: replace dispmix reset flow for ISI and MIPI CSI
After the dispmix reset driver development, the reset flow
is better to be replaced by using this driver to hide the
reset details for all the dispmix submodules, and whose
driver code for reset can become platform independent.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Wed, 26 Jun 2019 07:30:00 +0000 (15:30 +0800)]
MLK-22109-1: arm64: dts: Define resets for ISI and CSI
The dispmix-reset device can be used to control the ISI and
CSIS bus reset and clock enable. So define 'resets' property
for both ISI and CSIS for this purpose which will be used to
replace 'dispmix_gpr' usage.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Fri, 28 Jun 2019 09:36:25 +0000 (17:36 +0800)]
MLK-22130: media: ISI: Return error when the output width more than 2048
Because ISI of imx815 only have one channel, so the line buffer
chain function can not be used. The maximum supported line width
is 2048.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Thu, 27 Jun 2019 06:37:18 +0000 (14:37 +0800)]
MLK-22115: media: Fix system hang issue
System will hang when disable ISI and CSI clock in ATF by dispmix GPR.
The value of dispmix GPR will be cleared when its power domain off/on
although driver set it in probe. So driver need to reset its value in
runtime resume callback.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Thu, 27 Jun 2019 01:59:45 +0000 (09:59 +0800)]
MLK-22113: arm64: dts: add power domain for MIPI CSI of imx815
Add power domain for MIPI CSI of IMX8MN
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Thu, 27 Jun 2019 01:29:49 +0000 (09:29 +0800)]
MLK-22110: arm64: dts: Remove redundant ISI node in dts for imx815
Because IMX8MN only support one ISI channel, so we need to remove
the others which planned to support before.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Tue, 25 Jun 2019 09:49:40 +0000 (17:49 +0800)]
MLK-22108: media: sensor: Fix camera hang issue when do stress test
Camera will hang when do stress test. The state of MIPI DPHY
clock lane will enter stop state. Driver need to set clock
lane into LP11 mode when stream off.
Remove some unnecessary delay to improve performance.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Mon, 17 Jun 2019 09:16:03 +0000 (17:16 +0800)]
MLK-21886-4: media: ov5640: add sensor driver support for imx815
Add sensor driver support for imx815
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Wed, 29 May 2019 09:56:01 +0000 (17:56 +0800)]
MLK-21886-2: media: imx: Add imx815 platform support
Add imx815 platform support in camera media device framework
of imx8qxp/qm.
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Guoniu.Zhou [Wed, 29 May 2019 09:11:02 +0000 (17:11 +0800)]
MLK-21886-1: media: imx: add driver for mipi csi2 controller of SAMSUNG
Add driver for mipi csi2 controller of SAMSUNG
Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Fugang Duan [Wed, 7 Aug 2019 03:07:28 +0000 (11:07 +0800)]
MLK-22402 arm64: dts: imx8dxl-phantom-mek: enable M.2 WIFI/BT
Enable M.2 interface on the phantom-mek board.
- Support WiFi with PCIe interface
- Support Bluetooth with HCI UART
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Shengjiu Wang [Tue, 6 Aug 2019 09:46:56 +0000 (17:46 +0800)]
MLK-22379: ARM64: dts: imx8dxl: Enable SAI/WM8960/ASRC
Correct the pinmux for SAI1
Remove AUDMIX/ESAI for they are not supported in imx8dxl
Configure fsl,sai-synchronous-rx for SAI1 according to pinmux
Enable ASRC p2p for SAI1
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Fugang Duan [Tue, 6 Aug 2019 07:23:47 +0000 (15:23 +0800)]
MLK-22395 arm64: dts: imx8dxl-phantom-mek: correct the enet pin group
ENET1 pad ring register for compensation cell and voltage reference
is controlled by pin:
SC_P_COMP_CTL_GPIO_1V8_3V3_GPIORHB_PAD
- move the pin to enet pin group
- format the pin define as alignment
- move out below two pins to hoggrp
SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD
SC_P_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
Fugang Duan [Tue, 6 Aug 2019 06:04:58 +0000 (14:04 +0800)]
MLK-22364 brcmfmac: double check the D3 ACK state when wait event timeout
When system suspend, pcie bus write BRCMF_H2D_HOST_D3_INFORM cmd
into tcm32 mem to let host enter D3 mode, and wait the D3 ACK
interrupt. But sometime, the interrupt is comming lately then
cause wait event timeout, so double check the D3 ACK state.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
Fugang Duan [Fri, 2 Aug 2019 06:25:30 +0000 (14:25 +0800)]
MLK-22394 clk: imx: correct the earlycon port index check
Correct the earlycon port index check.
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
Andy Duan [Mon, 7 Jan 2019 10:45:41 +0000 (18:45 +0800)]
MLK-20716 PCI: add quirk for cyw4356 to disable D3 mode
Add quirk for cyw4356 to disable D3 mode because current firmware
still doesn't support D3 mode.
After stress test, cyw4356 D3 mode still has timeout issue, so
cherry pick back the commit.
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit
22212c60d7fb067e28a2fed16914515e3d6d3950)
Li Jun [Wed, 31 Jul 2019 07:36:33 +0000 (15:36 +0800)]
MLK-22025-3 usb: chipidea: enter lpm when imx7d host suspend
This is the only platform we found has this remote wakeup issue,
so enable CI_HDRC_HOST_SUSP_PHY_LPM for it.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Wed, 31 Jul 2019 08:51:40 +0000 (16:51 +0800)]
MLK-22025-2 doc: dt-binding: ci-hdrc-usb2: add compatible for imx8mm
imx8mm has 2 chipidea usb2 cores, add its compatible.
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Wed, 31 Jul 2019 06:36:58 +0000 (14:36 +0800)]
MLK-22025-1 usb: chipidea: phy enter low power mode when host suspend
On some imx host, if USB PHY is active when bus suspended, host may
have problem on taking over resume signal of remote wakeup from usb
device, resolve this by making PHY enter low power mode right after
bus suspended.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Li Jun [Tue, 30 Jul 2019 07:29:10 +0000 (15:29 +0800)]
MLK-22356 arm64: dts: imx8mn: Correct typec node
Use the correct typec node properties according to typec driver
update.
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
Richard Zhu [Tue, 6 Aug 2019 04:43:31 +0000 (12:43 +0800)]
MLK-22383 arm64: dts: enable rpmsg on imx8dxl mek board
Enable rpmsg on imx8dxl mek board.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Ranjani Vaidyanathan [Wed, 17 Jul 2019 16:33:46 +0000 (11:33 -0500)]
MLK-22360 soc: imx8qm/imx8qxp: Fix power state of parent power domains
Fix power state of parent power domains that have no device
associated with them.
Current power domain driver does not work well in two cases:
1. A device is controlled by multiple power domains
2. Multiple devices are controlled by a single power domain that
is dependent on another power domain(s).
This patch attempts to fix these two issues.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Shengjiu Wang [Sat, 3 Aug 2019 07:54:45 +0000 (15:54 +0800)]
MLK-22355: mfd: si476x: Use system_freezable_wq instead of system_wq
There is issue that system can't enter suspend while the si476x is
working.
The reason is that with the workqueue thread is still working after
i2c enter suspend, then cause the cpu_suspend function failed.
This patch is to use the system_freezable_wq instead of the system_wq,
that the workqueue will be freeze before system enter suspend.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Shijie Qin [Mon, 5 Aug 2019 04:05:39 +0000 (12:05 +0800)]
MLK-22377 VPU Decoder: move crc and input_data dump file directory to /data/
In order to compatibility with Android system, move crc and input_data dump
file directory from /home/ and /tmp/ to /data/.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: Zhou Peng <eagle.zhou@nxp.com>
Teo Hall [Tue, 23 Jul 2019 04:16:05 +0000 (23:16 -0500)]
MLK-22294: arm64: dts: add imx8dxl phantom mek board
Add DTBs to support imx8dxl phantom mek board.
Signed-off-by: Teo Hall <teo.hall@nxp.com>
Shijie Qin [Thu, 1 Aug 2019 11:52:51 +0000 (19:52 +0800)]
MLK-22164-2 VPU Decoder: check input frame type before update to ring buffer
Previously, only process for RV format, other formats should also
be treated in the same way.
Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
Reviewed-by: ming_qian <ming.qian@nxp.com>
Anson Huang [Mon, 5 Aug 2019 00:11:20 +0000 (08:11 +0800)]
MLK-22369-2 ARM: imx: Fix PMC module registers offset
The latest reference manual (Rev.0, 06/2019) shows PMC0
and PMC1 have different register offsets, clean them up.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>