My local bugs. (PART 5)
MK808 is connected to DVI-D monitor.
Serial console at /dev/ttyUSB0.
Boots with 2 pinguins and bootlog scroll. Then display turns off black.
Example 1 when vblank wait timed out happens after boot in a program
called DRM-dumb-buffer. It also happens during boot. I can't get a
pattern in it. When I add a revert patch vblank doesn't seem to crash,
but a alert is observed.
For example:
[ 5.104171] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_flush]
*ERROR* VOP vblank IRQ stuck for 10 ms
/////////////////////////////////////////
There are 3 types of errors in the DRM-dumb-buffer log:
-1 vblank wait timed out.
-2 rk3066_hdmi_get_power_mode returns 0.
In the old source this would lead to a loop hangup/stall, because 0
multiplied is still 0. It never gets into a higher power level.
-3 flip_done timed out
[ 451.674799] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
[CRTC:30:crtc-0] flip_done timed out
[ 461.913900] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
[CONNECTOR:33:HDMI-A-1] flip_done timed out
[ 472.154303] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
[PLANE:28:plane-0] flip_done timed out
/////////////////////////////////////////
It would be nice if after boot I could use my display and keyboard
instead of my serial console.
Please advise if more info is needed!
Kind regards,
Johan Jonker
#include <stdio.h>
#include <stdint.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <drm/drm.h>
#include <drm/drm_mode.h>
int main()
{
//------------------------------------------------------------------------------
//Opening the DRI device
//------------------------------------------------------------------------------
int dri_fd = open("/dev/dri/card0",O_RDWR | O_CLOEXEC);
//------------------------------------------------------------------------------
//Kernel Mode Setting (KMS)
//------------------------------------------------------------------------------
uint64_t res_fb_buf[10]={0},
res_crtc_buf[10]={0},
res_conn_buf[10]={0},
res_enc_buf[10]={0};
struct drm_mode_card_res res={0};
//Become the "master" of the DRI device
ioctl(dri_fd, DRM_IOCTL_SET_MASTER, 0);
//Get resource counts
ioctl(dri_fd, DRM_IOCTL_MODE_GETRESOURCES, &res);
res.fb_id_ptr=(uint64_t)res_fb_buf;
res.crtc_id_ptr=(uint64_t)res_crtc_buf;
res.connector_id_ptr=(uint64_t)res_conn_buf;
res.encoder_id_ptr=(uint64_t)res_enc_buf;
//Get resource IDs
ioctl(dri_fd, DRM_IOCTL_MODE_GETRESOURCES, &res);
printf("fb: %d, crtc: %d, conn: %d, enc: %d\n",res.count_fbs,res.count_crtcs,res.count_connectors,res.count_encoders);
void *fb_base[10];
long fb_w[10];
long fb_h[10];
//Loop though all available connectors
int i;
for (i=0;i<res.count_connectors;i++)
{
struct drm_mode_modeinfo conn_mode_buf[20]={0};
uint64_t conn_prop_buf[20]={0},
conn_propval_buf[20]={0},
conn_enc_buf[20]={0};
struct drm_mode_get_connector conn={0};
conn.connector_id=res_conn_buf[i];
ioctl(dri_fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn); //get connector resource counts
conn.modes_ptr=(uint64_t)conn_mode_buf;
conn.props_ptr=(uint64_t)conn_prop_buf;
conn.prop_values_ptr=(uint64_t)conn_propval_buf;
conn.encoders_ptr=(uint64_t)conn_enc_buf;
ioctl(dri_fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn); //get connector resources
//Check if the connector is OK to use (connected to something)
if (conn.count_encoders<1 || conn.count_modes<1 || !conn.encoder_id || !conn.connection)
{
printf("Not connected\n");
continue;
}
//------------------------------------------------------------------------------
//Creating a dumb buffer
//------------------------------------------------------------------------------
struct drm_mode_create_dumb create_dumb={0};
struct drm_mode_map_dumb map_dumb={0};
struct drm_mode_fb_cmd cmd_dumb={0};
//If we create the buffer later, we can get the size of the screen first.
//This must be a valid mode, so it's probably best to do this after we find
//a valid crtc with modes.
create_dumb.width = conn_mode_buf[0].hdisplay;
create_dumb.height = conn_mode_buf[0].vdisplay;
create_dumb.bpp = 32;
create_dumb.flags = 0;
create_dumb.pitch = 0;
create_dumb.size = 0;
create_dumb.handle = 0;
ioctl(dri_fd, DRM_IOCTL_MODE_CREATE_DUMB, &create_dumb);
cmd_dumb.width=create_dumb.width;
cmd_dumb.height=create_dumb.height;
cmd_dumb.bpp=create_dumb.bpp;
cmd_dumb.pitch=create_dumb.pitch;
cmd_dumb.depth=24;
cmd_dumb.handle=create_dumb.handle;
ioctl(dri_fd,DRM_IOCTL_MODE_ADDFB,&cmd_dumb);
map_dumb.handle=create_dumb.handle;
ioctl(dri_fd,DRM_IOCTL_MODE_MAP_DUMB,&map_dumb);
fb_base[i] = mmap(0, create_dumb.size, PROT_READ | PROT_WRITE, MAP_SHARED, dri_fd, map_dumb.offset);
fb_w[i]=create_dumb.width;
fb_h[i]=create_dumb.height;
//------------------------------------------------------------------------------
//Kernel Mode Setting (KMS)
//------------------------------------------------------------------------------
printf("%d : mode: %d, prop: %d, enc: %d\n",conn.connection,conn.count_modes,conn.count_props,conn.count_encoders);
printf("modes: %dx%d FB: %d\n",conn_mode_buf[0].hdisplay,conn_mode_buf[0].vdisplay,fb_base[i]);
struct drm_mode_get_encoder enc={0};
enc.encoder_id=conn.encoder_id;
ioctl(dri_fd, DRM_IOCTL_MODE_GETENCODER, &enc); //get encoder
struct drm_mode_crtc crtc={0};
crtc.crtc_id=enc.crtc_id;
ioctl(dri_fd, DRM_IOCTL_MODE_GETCRTC, &crtc);
crtc.fb_id=cmd_dumb.fb_id;
crtc.set_connectors_ptr=(uint64_t)&res_conn_buf[i];
crtc.count_connectors=1;
crtc.mode=conn_mode_buf[0];
crtc.mode_valid=1;
ioctl(dri_fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
}
//Stop being the "master" of the DRI device
ioctl(dri_fd, DRM_IOCTL_DROP_MASTER, 0);
int x,y;
for (i=0;i<100;i++)
{
int j;
for (j=0;j<res.count_connectors;j++)
{
int col=(rand()%0x00ffffff)&0x00ff00ff;
for (y=0;y<fb_h[j];y++)
for (x=0;x<fb_w[j];x++)
{
int location=y*(fb_w[j]) + x;
*(((uint32_t*)fb_base[j])+location)=col;
}
}
usleep(100000);
}
return 0;
}
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2018.11.28 18:51:39 =~=~=~=~=~=~=~=~=~=~=~=
/ # dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.20.0-rc1-g9eb245c5e (xxxx@xxxx) (gcc version 6.3.0 20170516 (Debian 6.3.0-18)) #52 SMP Wed Nov 28 18:45:01 CET 2018
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Rikomagic MK808
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 64 MiB at 0x9c000000
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] Normal zone: 1536 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:63
[ 0.000000] HighMem zone: 65536 pages, LIFO batch:15
[ 0.000000] random: get_random_bytes called from start_kernel+0xa0/0x45c with crng_init=0
[ 0.000000] percpu: Embedded 17 pages/cpu @(ptrval) s38540 r8192 d22900 u69632
[ 0.000000] pcpu-alloc: s38540 r8192 d22900 u69632 alloc=17*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 260608
[ 0.000000] Kernel command line: console=tty0 console=ttyUSB0,115200n8 debug drm.debug=0x3f clk_ignore_unused no_console_suspend=1 consoleblank=0 root=LABEL=linuxroot init=/sbin/init rootfstype=ext4 rootwait
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 962920K/1048576K available (6144K kernel code, 403K rwdata, 1480K rodata, 2048K init, 237K bss, 20120K reserved, 65536K cma-reserved, 196608K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (7136 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (2048 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 404 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 238 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] L2C-310 erratum 769419 enabled
[ 0.000000] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000] L2C-310: enabling full line of zeros but not enabled in Cortex-A9
[ 0.000000] L2C-310 ID prefetch enabled, offset 15 lines
[ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[ 0.000000] L2C-310 cache controller enabled, 16 ways, 512 kB
[ 0.000000] L2C-310: CACHE_ID 0x4100c0c8, AUX_CTRL 0x76050001
[ 0.000016] sched_clock: 64 bits at 150MHz, resolution 6ns, wraps every 2199023255551ns
[ 0.000042] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x2298375bd0, max_idle_ns: 440795208267 ns
[ 0.000078] Switching to timer-based delay loop, resolution 6ns
[ 0.000674] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000788] Ignoring duplicate/late registration of read_current_timer delay
[ 0.001217] Console: colour dummy device 80x30
[ 0.001784] printk: console [tty0] enabled
[ 0.001833] Calibrating delay loop (skipped), value calculated using timer frequency.. 300.00 BogoMIPS (lpj=1500000)
[ 0.001867] pid_max: default: 32768 minimum: 301
[ 0.002018] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.002047] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.002750] CPU: Testing write buffer coherency: ok
[ 0.002819] CPU0: Spectre v2: using BPIALL workaround
[ 0.003210] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.003502] rockchip_smp_prepare_cpus: ncores 2
[ 0.004166] Setting up static identity map for 0x60100000 - 0x60100060
[ 0.004353] rcu: Hierarchical SRCU implementation.
[ 0.004942] smp: Bringing up secondary CPUs ...
[ 0.005834] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.005844] CPU1: Spectre v2: using BPIALL workaround
[ 0.006023] smp: Brought up 1 node, 2 CPUs
[ 0.006052] SMP: Total of 2 processors activated (600.00 BogoMIPS).
[ 0.006071] CPU: All CPU(s) started in SVC mode.
[ 0.007357] devtmpfs: initialized
[ 0.013188] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[ 0.013468] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.013527] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.017149] pinctrl core: initialized pinctrl subsystem
[ 0.018056] NET: Registered protocol family 16
[ 0.020872] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.022741] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.022778] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.047784] host-pwr: supplied by vcc_io
[ 0.160655] vcc_otg: supplied by vcc_io
[ 0.280581] sdmmc-regulator GPIO handle specifies active low - ignored
[ 0.280656] vcc_sd: supplied by vcc_io
[ 0.281111] vcc_wifi: supplied by vcc_io
[ 0.281927] SCSI subsystem initialized
[ 0.282077] usbcore: registered new interface driver usbfs
[ 0.282148] usbcore: registered new interface driver hub
[ 0.282247] usbcore: registered new device driver usb
[ 0.282686] Advanced Linux Sound Architecture Driver Initialized.
[ 0.283495] clocksource: Switched to clocksource arm_global_timer
[ 0.333250] NET: Registered protocol family 2
[ 0.333938] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 0.333996] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.334108] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.334281] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.334437] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.334502] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.334731] NET: Registered protocol family 1
[ 0.361784] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[ 0.368909] ntfs: driver 2.1.32 [Flags: R/W].
[ 0.375433] bounce: pool size: 64 pages
[ 0.375526] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 0.375555] io scheduler noop registered
[ 0.375769] io scheduler cfq registered (default)
[ 0.379247] dma-pl330 20018000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 0.379293] dma-pl330 20018000.dma-controller: DBUFF-32x8bytes Num_Chans-6 Num_Peri-12 Num_Events-12
[ 0.380959] dma-pl330 20078000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 0.380999] dma-pl330 20078000.dma-controller: DBUFF-64x8bytes Num_Chans-7 Num_Peri-20 Num_Events-14
[ 0.381417] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.382935] [drm:drm_core_init] Initialized
[ 0.383863] rockchip-drm display-subsystem: [drm:rockchip_drm_platform_probe] no iommu attached for /vop@1010c000, using non-iommu buffers
[ 0.384119] rockchip-drm display-subsystem: Linked as a consumer to 1010c000.vop
[ 0.384302] rockchip-drm display-subsystem: Linked as a consumer to 10116000.hdmi
[ 0.384829] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support global_regdone_en
[ 0.384873] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support channel
[ 0.384904] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support gate
[ 0.384933] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support channel
[ 0.384960] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support gate
[ 0.384988] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support channel
[ 0.385015] rockchip-vop 1010c000.vop: [drm:vop_bind] Warning: not support gate
[ 0.385183] rockchip-drm display-subsystem: bound 1010c000.vop (ops 0xc073f2a8)
[ 0.385452] i2c i2c-5: of_i2c: modalias failure on /hdmi@10116000/port
[ 0.385483] i2c i2c-5: Failed to create I2C device for /hdmi@10116000/port
[ 0.385510] rk3066hdmi-rockchip 10116000.hdmi: registered RK3066 HDMI I2C bus driver
[ 0.385538] rk3066hdmi-rockchip 10116000.hdmi: mode :32
[ 0.385559] rk3066hdmi-rockchip 10116000.hdmi: previous_mode:16
[ 0.385581] rk3066hdmi-rockchip 10116000.hdmi: 0: next_mode :32
[ 0.385600] rk3066hdmi-rockchip 10116000.hdmi: set HDMI_SYS_POWER_MODE_A-B-E
[ 0.386665] rk3066hdmi-rockchip 10116000.hdmi: mode :16
[ 0.386689] rk3066hdmi-rockchip 10116000.hdmi: previous_mode:32
[ 0.386711] rk3066hdmi-rockchip 10116000.hdmi: 0: next_mode :16
[ 0.386730] rk3066hdmi-rockchip 10116000.hdmi: set HDMI_SYS_POWER_MODE_A-B-E
[ 0.386762] rk3066hdmi-rockchip 10116000.hdmi: CRTC found
[ 0.387176] rockchip-drm display-subsystem: bound 10116000.hdmi (ops 0xc0741878)
[ 0.387209] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 0.387228] [drm] No driver support for vblank timestamp query.
[ 0.387270] [drm:drm_mode_object_get] OBJ ID: 33 (2)
[ 0.387302] [drm:drm_setup_crtcs]
[ 0.387336] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1]
[ 0.387376] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] status updated from unknown to connected
[ 0.387437] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 1/2, len: 1, flags: 0x0
[ 0.387465] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 2/2, len: 1, flags: 0x1
[ 0.417954] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 1/2, len: 1, flags: 0x0
[ 0.417993] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 2/2, len: 128, flags: 0x1
[ 0.448922] rk3066hdmi-rockchip 10116000.hdmi: monitor type : DVI : 34x27 cm
[ 0.448949] rk3066hdmi-rockchip 10116000.hdmi: audio support: no
[ 0.448984] [drm:drm_add_display_info] non_desktop set to 0
[ 0.449018] [drm:drm_add_edid_modes] ELD: no CEA Extension found
[ 0.449042] [drm:drm_add_display_info] non_desktop set to 0
[ 0.449171] rk3066hdmi-rockchip 10116000.hdmi: no CEA mode found, use preset
[ 0.449925] [drm:drm_mode_debug_printmodeline] Modeline 35:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[ 0.449962] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: BAD
[ 0.449996] [drm:drm_mode_debug_printmodeline] Modeline 36:"1152x864" 0 108000 1152 1216 1344 1600 864 865 868 900 0x40 0x5
[ 0.450026] [drm:drm_mode_prune_invalid] Not using 1152x864 mode: BAD
[ 0.450057] [drm:drm_mode_debug_printmodeline] Modeline 37:"800x600" 0 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 0.450086] [drm:drm_mode_prune_invalid] Not using 800x600 mode: BAD
[ 0.450115] [drm:drm_mode_debug_printmodeline] Modeline 38:"640x480" 0 31500 640 656 720 840 480 481 484 500 0x40 0xa
[ 0.450144] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 0.450173] [drm:drm_mode_debug_printmodeline] Modeline 39:"640x480" 0 25175 640 656 752 800 480 490 492 525 0x40 0xa
[ 0.450202] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 0.450231] [drm:drm_mode_debug_printmodeline] Modeline 40:"720x400" 0 28320 720 738 846 900 400 412 414 449 0x40 0x6
[ 0.450260] [drm:drm_mode_prune_invalid] Not using 720x400 mode: BAD
[ 0.450289] [drm:drm_mode_debug_printmodeline] Modeline 41:"1280x1024" 0 135000 1280 1296 1440 1688 1024 1025 1028 1066 0x40 0x5
[ 0.450319] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: BAD
[ 0.450348] [drm:drm_mode_debug_printmodeline] Modeline 42:"1024x768" 0 78750 1024 1040 1136 1312 768 769 772 800 0x40 0x5
[ 0.450377] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: BAD
[ 0.450407] [drm:drm_mode_debug_printmodeline] Modeline 43:"1024x768" 0 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 0.450436] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: BAD
[ 0.450465] [drm:drm_mode_debug_printmodeline] Modeline 44:"800x600" 0 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[ 0.450494] [drm:drm_mode_prune_invalid] Not using 800x600 mode: BAD
[ 0.450531] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] probed modes :
[ 0.450568] [drm:drm_mode_debug_printmodeline] Modeline 45:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x8 0x5
[ 0.450604] [drm:drm_mode_debug_printmodeline] Modeline 46:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 0.450640] [drm:drm_mode_debug_printmodeline] Modeline 47:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[ 0.450676] [drm:drm_mode_debug_printmodeline] Modeline 48:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 0.450711] [drm:drm_mode_debug_printmodeline] Modeline 49:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[ 0.450746] [drm:drm_mode_debug_printmodeline] Modeline 50:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[ 0.450783] [drm:drm_setup_crtcs] connector 33 enabled? yes
[ 0.450806] [drm:drm_setup_crtcs] looking for cmdline mode on connector 33
[ 0.450831] [drm:drm_setup_crtcs] looking for preferred mode on connector 33 0
[ 0.450856] [drm:drm_setup_crtcs] found mode 1280x720
[ 0.450878] [drm:drm_setup_crtcs] picking CRTCs for 4096x4096 config
[ 0.450906] [drm:drm_setup_crtcs] desired mode 1280x720 set on crtc 30 (0,0)
[ 0.450932] [drm:drm_mode_object_get] OBJ ID: 33 (2)
[ 0.463800] [drm:rockchip_drm_fbdev_create] FB [1280x720]-24 kvaddr=(ptrval) offset=0 size=3686400
[ 0.464438] [drm:drm_atomic_state_init] Allocated atomic state (ptrval)
[ 0.464457] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] (ptrval) state to (ptrval)
[ 0.464470] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] (ptrval) state to (ptrval)
[ 0.464488] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state (ptrval)
[ 0.464499] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] (ptrval) state to (ptrval)
[ 0.464508] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state (ptrval)
[ 0.464523] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] (ptrval) state to (ptrval)
[ 0.464545] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1280x720] for [CRTC:30:crtc-0] state (ptrval)
[ 0.464557] [drm:drm_atomic_set_crtc_for_plane] Link [PLANE:28:plane-0] state (ptrval) to [CRTC:30:crtc-0]
[ 0.464568] [drm:drm_atomic_set_fb_for_plane] Set [FB:36] for [PLANE:28:plane-0] state (ptrval)
[ 0.464576] [drm:drm_mode_object_get] OBJ ID: 36 (1)
[ 0.464589] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to (ptrval)
[ 0.464603] [drm:drm_mode_object_get] OBJ ID: 33 (3)
[ 0.464614] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] (ptrval) state to (ptrval)
[ 0.464620] [drm:drm_mode_object_get] OBJ ID: 33 (4)
[ 0.464632] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [CRTC:30:crtc-0]
[ 0.464640] [drm:drm_atomic_check_only] checking (ptrval)
[ 0.464657] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] mode changed
[ 0.464665] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] enable changed
[ 0.464672] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] active changed
[ 0.464683] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 0.464695] [drm:drm_atomic_helper_check_modeset] [CONNECTOR:33:HDMI-A-1] using [ENCODER:32:TMDS-32] on [CRTC:30:crtc-0]
[ 0.464703] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] needs all connectors, enable: y, active: y
[ 0.464714] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to (ptrval)
[ 0.464724] [drm:drm_atomic_add_affected_planes] Adding all current planes for [CRTC:30:crtc-0] to (ptrval)
[ 0.464833] [drm:drm_atomic_commit] committing (ptrval)
[ 0.464864] [drm:drm_calc_timestamping_constants] crtc 30: hwmode: htotal 1650, vtotal 750, vdisplay 720
[ 0.464874] [drm:drm_calc_timestamping_constants] crtc 30: clock 74250 kHz framedur 16666666 linedur 22222
[ 0.464885] [drm:drm_atomic_helper_commit_modeset_disables] modeset on [ENCODER:32:TMDS-32]
[ 0.464895] [drm:drm_atomic_helper_commit_modeset_enables] enabling [CRTC:30:crtc-0]
[ 0.464970] [drm:drm_crtc_vblank_on] crtc 0, vblank enabled 0, inmodeset 0
[ 0.464994] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_enable] Warning: not support hdmi_pin_pol
[ 0.465005] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_enable] Warning: not support hdmi_en
[ 0.465015] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_enable] Warning: not support pre_dither_down
[ 0.465026] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_enable] Warning: not support hpost_st_end
[ 0.465036] rockchip-vop 1010c000.vop: [drm:vop_crtc_atomic_enable] Warning: not support vpost_st_end
[ 0.465117] [drm:drm_atomic_helper_commit_modeset_enables] enabling [ENCODER:32:TMDS-32]
[ 0.465150] rk3066hdmi-rockchip 10116000.hdmi: select hdmi input: vop0
[ 0.475560] rk3066hdmi-rockchip 10116000.hdmi: mode :128
[ 0.475569] rk3066hdmi-rockchip 10116000.hdmi: previous_mode:32
[ 0.475577] rk3066hdmi-rockchip 10116000.hdmi: 0: next_mode :64
[ 0.475583] rk3066hdmi-rockchip 10116000.hdmi: set HDMI_SYS_POWER_MODE_D
[ 0.475824] rk3066hdmi-rockchip 10116000.hdmi: 1: next_mode :128
[ 0.475831] rk3066hdmi-rockchip 10116000.hdmi: set HDMI_SYS_POWER_MODE_A-B-E
[ 0.475880] rockchip-vop 1010c000.vop: [drm:vop_plane_atomic_update] Warning: not support src_alpha_ctl
[ 0.475899] [drm:drm_vblank_enable] enabling vblank on crtc 0, ret: 0
[ 0.475912] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=1, diff=0, hw=0 hw_last=0
[ 0.480987] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=1, diff=1, hw=0 hw_last=0
[ 0.481039] [drm:drm_atomic_state_default_clear] Clearing atomic state (ptrval)
[ 0.481057] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 0.481070] [drm:__drm_atomic_state_free] Freeing atomic state (ptrval)
[ 0.481172] [drm:drm_atomic_state_init] Allocated atomic state (ptrval)
[ 0.481185] [drm:drm_mode_object_get] OBJ ID: 36 (2)
[ 0.481195] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] (ptrval) state to (ptrval)
[ 0.481204] [drm:drm_mode_object_get] OBJ ID: 37 (1)
[ 0.481214] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] (ptrval) state to (ptrval)
[ 0.481225] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] (ptrval) state to (ptrval)
[ 0.481239] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state (ptrval)
[ 0.481250] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] (ptrval) state to (ptrval)
[ 0.481259] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state (ptrval)
[ 0.481271] [drm:drm_mode_object_put] OBJ ID: 37 (2)
[ 0.481291] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1280x720] for [CRTC:30:crtc-0] state (ptrval)
[ 0.481303] [drm:drm_atomic_set_fb_for_plane] Set [FB:36] for [PLANE:28:plane-0] state (ptrval)
[ 0.481310] [drm:drm_mode_object_get] OBJ ID: 36 (3)
[ 0.481318] [drm:drm_mode_object_put] OBJ ID: 36 (4)
[ 0.481329] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to (ptrval)
[ 0.481341] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 0.481347] [drm:drm_mode_object_get] OBJ ID: 33 (6)
[ 0.481357] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] (ptrval) state to (ptrval)
[ 0.481367] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 0.481378] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [NOCRTC]
[ 0.481384] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 0.481395] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [CRTC:30:crtc-0]
[ 0.481403] [drm:drm_atomic_check_only] checking (ptrval)
[ 0.481421] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 0.481432] [drm:drm_atomic_helper_check_modeset] [CONNECTOR:33:HDMI-A-1] keeps [ENCODER:32:TMDS-32], now on [CRTC:30:crtc-0]
[ 0.481446] [drm:drm_atomic_commit] committing (ptrval)
[ 0.481472] [drm:drm_calc_timestamping_constants] crtc 30: hwmode: htotal 1650, vtotal 750, vdisplay 720
[ 0.481483] [drm:drm_calc_timestamping_constants] crtc 30: clock 74250 kHz framedur 16666666 linedur 22222
[ 0.481505] rockchip-vop 1010c000.vop: [drm:vop_plane_atomic_update] Warning: not support src_alpha_ctl
[ 0.497664] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=2, diff=1, hw=0 hw_last=0
[ 0.497712] [drm:drm_atomic_state_default_clear] Clearing atomic state (ptrval)
[ 0.497726] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 0.497737] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 0.497746] [drm:drm_mode_object_put] OBJ ID: 37 (1)
[ 0.497759] [drm:drm_mode_object_put] OBJ ID: 36 (3)
[ 0.497770] [drm:__drm_atomic_state_free] Freeing atomic state (ptrval)
[ 0.514323] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=3, diff=1, hw=0 hw_last=0
[ 0.521880] Console: switching to colour frame buffer device 160x45
[ 0.521918] [drm:drm_atomic_state_init] Allocated atomic state (ptrval)
[ 0.521929] [drm:drm_mode_object_get] OBJ ID: 36 (2)
[ 0.521941] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] (ptrval) state to (ptrval)
[ 0.521950] [drm:drm_mode_object_get] OBJ ID: 38 (1)
[ 0.521960] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] (ptrval) state to (ptrval)
[ 0.521970] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] (ptrval) state to (ptrval)
[ 0.521984] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state (ptrval)
[ 0.521994] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] (ptrval) state to (ptrval)
[ 0.522003] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state (ptrval)
[ 0.522015] [drm:drm_mode_object_put] OBJ ID: 38 (2)
[ 0.522032] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1280x720] for [CRTC:30:crtc-0] state (ptrval)
[ 0.522043] [drm:drm_atomic_set_fb_for_plane] Set [FB:36] for [PLANE:28:plane-0] state (ptrval)
[ 0.522049] [drm:drm_mode_object_get] OBJ ID: 36 (3)
[ 0.522058] [drm:drm_mode_object_put] OBJ ID: 36 (4)
[ 0.522069] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to (ptrval)
[ 0.522079] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 0.522085] [drm:drm_mode_object_get] OBJ ID: 33 (6)
[ 0.522095] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] (ptrval) state to (ptrval)
[ 0.522104] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 0.522115] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [NOCRTC]
[ 0.522121] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 0.522132] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [CRTC:30:crtc-0]
[ 0.522140] [drm:drm_atomic_check_only] checking (ptrval)
[ 0.522158] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 0.522169] [drm:drm_atomic_helper_check_modeset] [CONNECTOR:33:HDMI-A-1] keeps [ENCODER:32:TMDS-32], now on [CRTC:30:crtc-0]
[ 0.522182] [drm:drm_atomic_commit] committing (ptrval)
[ 0.522208] [drm:drm_calc_timestamping_constants] crtc 30: hwmode: htotal 1650, vtotal 750, vdisplay 720
[ 0.522218] [drm:drm_calc_timestamping_constants] crtc 30: clock 74250 kHz framedur 16666666 linedur 22222
[ 0.522240] rockchip-vop 1010c000.vop: [drm:vop_plane_atomic_update] Warning: not support src_alpha_ctl
[ 0.530993] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=4, diff=1, hw=0 hw_last=0
[ 0.531043] [drm:drm_atomic_state_default_clear] Clearing atomic state (ptrval)
[ 0.531055] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 0.531066] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 0.531075] [drm:drm_mode_object_put] OBJ ID: 38 (1)
[ 0.531087] [drm:drm_mode_object_put] OBJ ID: 36 (3)
[ 0.531098] [drm:__drm_atomic_state_free] Freeing atomic state (ptrval)
[ 0.547656] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=5, diff=1, hw=0 hw_last=0
[ 0.565587] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=6, diff=1, hw=0 hw_last=0
[ 0.584319] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=7, diff=1, hw=0 hw_last=0
[ 0.597657] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=8, diff=1, hw=0 hw_last=0
[ 0.603231] rockchip-drm display-subsystem: fb0: frame buffer device
[ 0.614324] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=9, diff=1, hw=0 hw_last=0
[ 1.625994] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=10, diff=1, hw=0 hw_last=0
[ 1.626008] [drm:drm_minor_register]
[ 1.626020] [drm:drm_minor_register]
[ 1.634951] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=11, diff=1, hw=0 hw_last=0
[ 1.635055] [drm:drm_helper_hpd_irq_event] [CONNECTOR:33:HDMI-A-1] status updated from connected to connected
[ 1.644115] [drm:drm_minor_register] new minor registered 0
[ 1.652306] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=12, diff=1, hw=0 hw_last=0
[ 1.661342] [drm:drm_sysfs_connector_add] adding "HDMI-A-1" to sysfs
[ 1.670108] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=13, diff=1, hw=0 hw_last=0
[ 1.678927] [drm:drm_sysfs_hotplug_event] generating hotplug event
[ 1.687971] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=14, diff=1, hw=0 hw_last=0
[ 1.696945] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 0
[ 1.706022] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=15, diff=1, hw=0 hw_last=0
[ 1.714334] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=16, diff=1, hw=0 hw_last=0
[ 1.752811] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=17, diff=1, hw=0 hw_last=0
[ 1.764346] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=18, diff=1, hw=0 hw_last=0
[ 1.771678] brd: module loaded
[ 1.781015] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=19, diff=1, hw=0 hw_last=0
[ 1.789906] loop: module loaded
[ 1.797702] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=20, diff=1, hw=0 hw_last=0
[ 1.801384] usbcore: registered new interface driver dm9601
[ 1.814336] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=21, diff=1, hw=0 hw_last=0
[ 1.819671] dwc2 10180000.usb: 10180000.usb supply vusb_d not found, using dummy regulator
[ 1.830998] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=22, diff=1, hw=0 hw_last=0
[ 1.837952] dwc2 10180000.usb: Linked as a consumer to regulator.0
[ 1.847662] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=23, diff=1, hw=0 hw_last=0
[ 1.856516] dwc2 10180000.usb: 10180000.usb supply vusb_a not found, using dummy regulator
[ 1.865987] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=24, diff=1, hw=0 hw_last=0
[ 1.875605] dwc2 10180000.usb: Configuration mismatch. dr_mode forced to host
[ 1.884907] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=25, diff=1, hw=0 hw_last=0
[ 1.897656] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=26, diff=1, hw=0 hw_last=0
[ 1.914440] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=27, diff=1, hw=0 hw_last=0
[ 1.930989] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=28, diff=1, hw=0 hw_last=0
[ 1.947656] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=29, diff=1, hw=0 hw_last=0
[ 1.964325] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=30, diff=1, hw=0 hw_last=0
[ 1.980988] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=31, diff=1, hw=0 hw_last=0
[ 1.997654] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=32, diff=1, hw=0 hw_last=0
[ 2.005264] dwc2 10180000.usb: dwc2_check_params: Invalid parameter lpm=1
[ 2.014326] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=33, diff=1, hw=0 hw_last=0
[ 2.016651] dwc2 10180000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1
[ 2.030987] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=34, diff=1, hw=0 hw_last=0
[ 2.035875] dwc2 10180000.usb: dwc2_check_params: Invalid parameter besl=1
[ 2.047653] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=35, diff=1, hw=0 hw_last=0
[ 2.055685] dwc2 10180000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1
[ 2.065847] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=36, diff=1, hw=0 hw_last=0
[ 2.076573] dwc2 10180000.usb: DWC OTG Controller
[ 2.086291] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=37, diff=1, hw=0 hw_last=0
[ 2.097658] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=38, diff=1, hw=0 hw_last=0
[ 2.106764] dwc2 10180000.usb: new USB bus registered, assigned bus number 1
[ 2.116743] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=39, diff=1, hw=0 hw_last=0
[ 2.130983] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=40, diff=1, hw=0 hw_last=0
[ 2.136881] dwc2 10180000.usb: irq 23, io mem 0x10180000
[ 2.147656] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=41, diff=1, hw=0 hw_last=0
[ 2.156612] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.20
[ 2.166424] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=42, diff=1, hw=0 hw_last=0
[ 2.180985] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=43, diff=1, hw=0 hw_last=0
[ 2.187557] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.197967] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=44, diff=1, hw=0 hw_last=0
[ 2.214318] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=45, diff=1, hw=0 hw_last=0
[ 2.218773] usb usb1: Product: DWC OTG Controller
[ 2.230987] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=46, diff=1, hw=0 hw_last=0
[ 2.238858] usb usb1: Manufacturer: Linux 4.20.0-rc1-g9eb245c5e dwc2_hsotg
[ 2.248992] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=47, diff=1, hw=0 hw_last=0
[ 2.264318] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=48, diff=1, hw=0 hw_last=0
[ 2.269185] usb usb1: SerialNumber: 10180000.usb
[ 2.280985] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=49, diff=1, hw=0 hw_last=0
[ 2.298560] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=50, diff=1, hw=0 hw_last=0
[ 2.308602] hub 1-0:1.0: USB hub found
[ 2.314336] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=51, diff=1, hw=0 hw_last=0
[ 2.318039] hub 1-0:1.0: 1 port detected
[ 2.330994] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=52, diff=1, hw=0 hw_last=0
[ 2.337870] dwc2 101c0000.usb: 101c0000.usb supply vusb_d not found, using dummy regulator
[ 2.347669] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=53, diff=1, hw=0 hw_last=0
[ 2.357837] dwc2 101c0000.usb: Linked as a consumer to regulator.0
[ 2.368488] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=54, diff=1, hw=0 hw_last=0
[ 2.380983] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=55, diff=1, hw=0 hw_last=0
[ 2.390773] dwc2 101c0000.usb: 101c0000.usb supply vusb_a not found, using dummy regulator
[ 2.402101] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=56, diff=1, hw=0 hw_last=0
[ 2.424698] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=57, diff=1, hw=0 hw_last=0
[ 2.435726] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=58, diff=1, hw=0 hw_last=0
[ 2.447658] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=59, diff=1, hw=0 hw_last=0
[ 2.464325] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=60, diff=1, hw=0 hw_last=0
[ 2.480988] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=61, diff=1, hw=0 hw_last=0
[ 2.483517] dwc2 101c0000.usb: dwc2_check_params: Invalid parameter lpm=1
[ 2.497660] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=62, diff=1, hw=0 hw_last=0
[ 2.500493] dwc2 101c0000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1
[ 2.514326] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=63, diff=1, hw=0 hw_last=0
[ 2.520000] dwc2 101c0000.usb: dwc2_check_params: Invalid parameter besl=1
[ 2.530987] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=64, diff=1, hw=0 hw_last=0
[ 2.540089] dwc2 101c0000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1
[ 2.550181] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=65, diff=1, hw=0 hw_last=0
[ 2.564319] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=66, diff=1, hw=0 hw_last=0
[ 2.581105] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=67, diff=1, hw=0 hw_last=0
[ 2.591167] dwc2 101c0000.usb: DWC OTG Controller
[ 2.600858] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=68, diff=1, hw=0 hw_last=0
[ 2.611041] dwc2 101c0000.usb: new USB bus registered, assigned bus number 2
[ 2.621069] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=69, diff=1, hw=0 hw_last=0
[ 2.631207] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=70, diff=1, hw=0 hw_last=0
[ 2.633515] [drm:drm_sysfs_hotplug_event] generating hotplug event
[ 2.641393] dwc2 101c0000.usb: irq 24, io mem 0x101c0000
[ 2.651284] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=71, diff=1, hw=0 hw_last=0
[ 2.651322] [drm:drm_fb_helper_hotplug_event.part.9]
[ 2.661413] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.20
[ 2.671038] [drm:drm_setup_crtcs]
[ 2.671054] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=72, diff=1, hw=0 hw_last=0
[ 2.671074] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1]
[ 2.671127] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 1/2, len: 1, flags: 0x0
[ 2.680825] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.690904] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 2/2, len: 1, flags: 0x1
[ 2.690920] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=73, diff=1, hw=0 hw_last=0
[ 2.700843] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=74, diff=1, hw=0 hw_last=0
[ 2.721175] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=75, diff=1, hw=0 hw_last=0
[ 2.721262] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 1/2, len: 1, flags: 0x0
[ 2.731371] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=76, diff=1, hw=0 hw_last=0
[ 2.741422] rk3066hdmi-rockchip 10116000.hdmi: xfer: num: 2/2, len: 128, flags: 0x1
[ 2.751405] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=77, diff=1, hw=0 hw_last=0
[ 2.818922] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=78, diff=1, hw=0 hw_last=0
[ 2.828458] usb usb2: Product: DWC OTG Controller
[ 2.828958] rk3066hdmi-rockchip 10116000.hdmi: monitor type : DVI : 34x27 cm
[ 2.838073] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=79, diff=1, hw=0 hw_last=0
[ 2.847918] rk3066hdmi-rockchip 10116000.hdmi: audio support: no
[ 2.858206] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=80, diff=1, hw=0 hw_last=0
[ 2.868630] [drm:drm_add_display_info] non_desktop set to 0
[ 2.879516] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=81, diff=1, hw=0 hw_last=0
[ 2.890207] [drm:drm_mode_object_put] OBJ ID: 34 (1)
[ 2.901011] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=82, diff=1, hw=0 hw_last=0
[ 2.911608] [drm:drm_add_edid_modes] ELD: no CEA Extension found
[ 2.922345] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=83, diff=1, hw=0 hw_last=0
[ 2.932886] [drm:drm_add_display_info] non_desktop set to 0
[ 2.943577] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=84, diff=1, hw=0 hw_last=0
[ 2.954141] rk3066hdmi-rockchip 10116000.hdmi: no CEA mode found, use preset
[ 2.964662] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=85, diff=1, hw=0 hw_last=0
[ 2.964679] usb usb2: Manufacturer: Linux 4.20.0-rc1-g9eb245c5e dwc2_hsotg
[ 2.976232] [drm:drm_mode_debug_printmodeline] Modeline 34:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x48 0x5
[ 2.986750] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=86, diff=1, hw=0 hw_last=0
[ 2.997851] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: BAD
[ 3.009212] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=87, diff=1, hw=0 hw_last=0
[ 3.020520] [drm:drm_mode_debug_printmodeline] Modeline 39:"1152x864" 0 108000 1152 1216 1344 1600 864 865 868 900 0x40 0x5
[ 3.031659] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=88, diff=1, hw=0 hw_last=0
[ 3.043188] [drm:drm_mode_prune_invalid] Not using 1152x864 mode: BAD
[ 3.054852] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=89, diff=1, hw=0 hw_last=0
[ 3.066622] [drm:drm_mode_debug_printmodeline] Modeline 40:"800x600" 0 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 3.078205] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=90, diff=1, hw=0 hw_last=0
[ 3.089919] [drm:drm_mode_prune_invalid] Not using 800x600 mode: BAD
[ 3.101744] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=91, diff=1, hw=0 hw_last=0
[ 3.113586] [drm:drm_mode_debug_printmodeline] Modeline 41:"640x480" 0 31500 640 656 720 840 480 481 484 500 0x40 0xa
[ 3.125304] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=92, diff=1, hw=0 hw_last=0
[ 3.137155] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 3.149135] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=93, diff=1, hw=0 hw_last=0
[ 3.161182] [drm:drm_mode_debug_printmodeline] Modeline 42:"640x480" 0 25175 640 656 752 800 480 490 492 525 0x40 0xa
[ 3.173126] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=94, diff=1, hw=0 hw_last=0
[ 3.185156] [drm:drm_mode_prune_invalid] Not using 640x480 mode: BAD
[ 3.197544] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=95, diff=1, hw=0 hw_last=0
[ 3.210215] [drm:drm_mode_debug_printmodeline] Modeline 43:"720x400" 0 28320 720 738 846 900 400 412 414 449 0x40 0x6
[ 3.222691] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=96, diff=1, hw=0 hw_last=0
[ 3.235262] [drm:drm_mode_prune_invalid] Not using 720x400 mode: BAD
[ 3.247881] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=97, diff=1, hw=0 hw_last=0
[ 3.260473] [drm:drm_mode_debug_printmodeline] Modeline 44:"1280x1024" 0 135000 1280 1296 1440 1688 1024 1025 1028 1066 0x40 0x5
[ 3.273192] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=98, diff=1, hw=0 hw_last=0
[ 3.286012] [drm:drm_mode_prune_invalid] Not using 1280x1024 mode: BAD
[ 3.299061] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=99, diff=1, hw=0 hw_last=0
[ 3.312066] [drm:drm_mode_debug_printmodeline] Modeline 51:"1024x768" 0 78750 1024 1040 1136 1312 768 769 772 800 0x40 0x5
[ 3.324889] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=100, diff=1, hw=0 hw_last=0
[ 3.337791] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: BAD
[ 3.350808] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=101, diff=1, hw=0 hw_last=0
[ 3.363829] [drm:drm_mode_debug_printmodeline] Modeline 52:"1024x768" 0 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 3.376701] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=102, diff=1, hw=0 hw_last=0
[ 3.389706] [drm:drm_mode_prune_invalid] Not using 1024x768 mode: BAD
[ 3.402809] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=103, diff=1, hw=0 hw_last=0
[ 3.415904] [drm:drm_mode_debug_printmodeline] Modeline 53:"800x600" 0 49500 800 816 896 1056 600 601 604 625 0x40 0x5
[ 3.428850] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=104, diff=1, hw=0 hw_last=0
[ 3.441945] [drm:drm_mode_prune_invalid] Not using 800x600 mode: BAD
[ 3.455053] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=105, diff=1, hw=0 hw_last=0
[ 3.468143] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] probed modes :
[ 3.481054] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=106, diff=1, hw=0 hw_last=0
[ 3.494021] [drm:drm_mode_debug_printmodeline] Modeline 45:"1280x720" 60 74250 1280 1390 1430 1650 720 725 730 750 0x8 0x5
[ 3.506881] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=107, diff=1, hw=0 hw_last=0
[ 3.519821] [drm:drm_mode_debug_printmodeline] Modeline 46:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[ 3.532829] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=108, diff=1, hw=0 hw_last=0
[ 3.545798] [drm:drm_mode_debug_printmodeline] Modeline 47:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[ 3.558839] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=109, diff=1, hw=0 hw_last=0
[ 3.571876] [drm:drm_mode_debug_printmodeline] Modeline 48:"1280x720" 50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[ 3.585060] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=110, diff=1, hw=0 hw_last=0
[ 3.598200] [drm:drm_mode_debug_printmodeline] Modeline 49:"720x576" 50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[ 3.611394] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=111, diff=1, hw=0 hw_last=0
[ 3.624599] [drm:drm_mode_debug_printmodeline] Modeline 50:"720x480" 60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[ 3.637877] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=112, diff=1, hw=0 hw_last=0
[ 3.651133] [drm:drm_setup_crtcs] connector 33 enabled? yes
[ 3.664410] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=113, diff=1, hw=0 hw_last=0
[ 3.677711] [drm:drm_setup_crtcs] looking for cmdline mode on connector 33
[ 3.690855] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=114, diff=1, hw=0 hw_last=0
[ 3.704141] [drm:drm_setup_crtcs] looking for preferred mode on connector 33 0
[ 3.717280] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=115, diff=1, hw=0 hw_last=0
[ 3.730531] [drm:drm_setup_crtcs] found mode 1280x720
[ 3.743716] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=116, diff=1, hw=0 hw_last=0
[ 3.756963] [drm:drm_setup_crtcs] picking CRTCs for 1280x720 config
[ 3.769982] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=117, diff=1, hw=0 hw_last=0
[ 3.783220] [drm:drm_mode_object_put] OBJ ID: 33 (4)
[ 3.796311] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=118, diff=1, hw=0 hw_last=0
[ 3.809498] [drm:drm_setup_crtcs] desired mode 1280x720 set on crtc 30 (0,0)
[ 3.822423] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=119, diff=1, hw=0 hw_last=0
[ 3.835566] [drm:drm_mode_object_get] OBJ ID: 33 (3)
[ 3.848603] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=120, diff=1, hw=0 hw_last=0
[ 3.861719] [drm:drm_atomic_state_init] Allocated atomic state (ptrval)
[ 3.874596] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=121, diff=1, hw=0 hw_last=0
[ 3.887666] [drm:drm_mode_object_get] OBJ ID: 36 (2)
[ 3.900627] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=122, diff=1, hw=0 hw_last=0
[ 3.913672] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] (ptrval) state to (ptrval)
[ 3.926475] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=123, diff=1, hw=0 hw_last=0
[ 3.939475] [drm:drm_mode_object_get] OBJ ID: 37 (1)
[ 3.952462] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=124, diff=1, hw=0 hw_last=0
[ 3.965450] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] (ptrval) state to (ptrval)
[ 3.978207] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=125, diff=1, hw=0 hw_last=0
[ 3.991155] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] (ptrval) state to (ptrval)
[ 4.004048] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=126, diff=1, hw=0 hw_last=0
[ 4.016997] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state (ptrval)
[ 4.029902] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=127, diff=1, hw=0 hw_last=0
[ 4.042817] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] (ptrval) state to (ptrval)
[ 4.055652] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=128, diff=1, hw=0 hw_last=0
[ 4.068493] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state (ptrval)
[ 4.081226] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=129, diff=1, hw=0 hw_last=0
[ 4.093954] [drm:drm_mode_object_put] OBJ ID: 37 (2)
[ 4.106586] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=130, diff=1, hw=0 hw_last=0
[ 4.119224] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1280x720] for [CRTC:30:crtc-0] state (ptrval)
[ 4.131619] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=131, diff=1, hw=0 hw_last=0
[ 4.144194] [drm:drm_atomic_set_fb_for_plane] Set [FB:36] for [PLANE:28:plane-0] state (ptrval)
[ 4.156694] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=132, diff=1, hw=0 hw_last=0
[ 4.169190] [drm:drm_mode_object_get] OBJ ID: 36 (3)
[ 4.181611] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=133, diff=1, hw=0 hw_last=0
[ 4.194069] [drm:drm_mode_object_put] OBJ ID: 36 (4)
[ 4.206332] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=134, diff=1, hw=0 hw_last=0
[ 4.218793] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to (ptrval)
[ 4.231056] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=135, diff=1, hw=0 hw_last=0
[ 4.243501] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 4.256004] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=136, diff=1, hw=0 hw_last=0
[ 4.268486] [drm:drm_mode_object_get] OBJ ID: 33 (6)
[ 4.280802] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=137, diff=1, hw=0 hw_last=0
[ 4.293288] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] (ptrval) state to (ptrval)
[ 4.305578] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=138, diff=1, hw=0 hw_last=0
[ 4.318053] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 4.330538] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=139, diff=1, hw=0 hw_last=0
[ 4.343036] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [NOCRTC]
[ 4.355342] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=140, diff=1, hw=0 hw_last=0
[ 4.367841] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 4.380331] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=141, diff=1, hw=0 hw_last=0
[ 4.392844] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state (ptrval) to [CRTC:30:crtc-0]
[ 4.405158] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=142, diff=1, hw=0 hw_last=0
[ 4.417655] [drm:drm_atomic_check_only] checking (ptrval)
[ 4.430211] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=143, diff=1, hw=0 hw_last=0
[ 4.442787] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 4.455145] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=144, diff=1, hw=0 hw_last=0
[ 4.467703] [drm:drm_atomic_helper_check_modeset] [CONNECTOR:33:HDMI-A-1] keeps [ENCODER:32:TMDS-32], now on [CRTC:30:crtc-0]
[ 4.480213] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=145, diff=1, hw=0 hw_last=0
[ 4.492771] [drm:drm_atomic_commit] committing (ptrval)
[ 4.505429] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=146, diff=1, hw=0 hw_last=0
[ 4.518113] [drm:drm_calc_timestamping_constants] crtc 30: hwmode: htotal 1650, vtotal 750, vdisplay 720
[ 4.530546] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=147, diff=1, hw=0 hw_last=0
[ 4.543187] [drm:drm_calc_timestamping_constants] crtc 30: clock 74250 kHz framedur 16666666 linedur 22222
[ 4.555817] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=148, diff=1, hw=0 hw_last=0
[ 4.568466] rockchip-vop 1010c000.vop: [drm:vop_plane_atomic_update] Warning: not support src_alpha_ctl
[ 4.581082] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=149, diff=1, hw=0 hw_last=0
[ 4.619109] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=150, diff=1, hw=0 hw_last=0
[ 4.631614] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=151, diff=1, hw=0 hw_last=0
[ 4.631629] [drm:drm_atomic_state_default_clear] Clearing atomic state (ptrval)
[ 4.631646] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 4.643836] usb usb2: SerialNumber: 101c0000.usb
[ 4.644651] hub 2-0:1.0: USB hub found
[ 4.655983] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 4.656002] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=152, diff=1, hw=0 hw_last=0
[ 4.656012] [drm:drm_mode_object_put] OBJ ID: 37 (1)
[ 4.656030] [drm:drm_mode_object_put] OBJ ID: 36 (3)
[ 4.656044] [drm:__drm_atomic_state_free] Freeing atomic state (ptrval)
[ 4.667994] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=153, diff=1, hw=0 hw_last=0
[ 4.691236] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=154, diff=1, hw=0 hw_last=0
[ 4.702663] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=155, diff=1, hw=0 hw_last=0
[ 4.725661] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=156, diff=1, hw=0 hw_last=0
[ 4.736755] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=157, diff=1, hw=0 hw_last=0
[ 4.747774] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=158, diff=1, hw=0 hw_last=0
[ 4.769795] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=159, diff=1, hw=0 hw_last=0
[ 4.790728] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=160, diff=1, hw=0 hw_last=0
[ 4.800782] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=161, diff=1, hw=0 hw_last=0
[ 4.820010] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=162, diff=1, hw=0 hw_last=0
[ 4.838135] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=163, diff=1, hw=0 hw_last=0
[ 4.855136] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=164, diff=1, hw=0 hw_last=0
[ 4.863294] hub 2-0:1.0: 1 port detected
[ 4.871181] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=165, diff=1, hw=0 hw_last=0
[ 4.880155] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.888209] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=166, diff=1, hw=0 hw_last=0
[ 4.896385] ehci-platform: EHCI generic platform driver
[ 4.904388] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=167, diff=1, hw=0 hw_last=0
[ 4.912786] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 4.920862] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=168, diff=1, hw=0 hw_last=0
[ 4.929059] ohci-platform: OHCI generic platform driver
[ 4.937077] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=169, diff=1, hw=0 hw_last=0
[ 4.945560] usbcore: registered new interface driver usb-storage
[ 4.953690] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=170, diff=1, hw=0 hw_last=0
[ 4.962081] usbcore: registered new interface driver cp210x
[ 4.970248] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=171, diff=1, hw=0 hw_last=0
[ 4.978628] usbserial: USB Serial support registered for cp210x
[ 4.986789] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=172, diff=1, hw=0 hw_last=0
[ 4.995155] usbcore: registered new interface driver ftdi_sio
[ 5.003601] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=173, diff=1, hw=0 hw_last=0
[ 5.012539] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 5.021397] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=174, diff=1, hw=0 hw_last=0
[ 5.030639] usbcore: registered new interface driver pl2303
[ 5.039764] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=175, diff=1, hw=0 hw_last=0
[ 5.049254] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=176, diff=1, hw=0 hw_last=0
[ 5.058633] usbserial: USB Serial support registered for pl2303
[ 5.067861] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=177, diff=1, hw=0 hw_last=0
[ 5.077360] i2c /dev entries driver
[ 5.086839] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=178, diff=1, hw=0 hw_last=0
[ 5.097672] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=179, diff=1, hw=0 hw_last=0
[ 5.109041] Synopsys Designware Multimedia Card Interface Driver
[ 5.118892] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=180, diff=1, hw=0 hw_last=0
[ 5.130169] dwmmc_rockchip 10214000.dwmmc: Using external DMA controller.
[ 5.135463] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=181, diff=1, hw=0 hw_last=0
[ 5.140918] dwmmc_rockchip 10214000.dwmmc: Version ID is 240a
[ 5.146456] dwmmc_rockchip 10214000.dwmmc: DW MMC controller at irq 25,32 bit host data width,256 deep fifo
[ 5.152113] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=182, diff=1, hw=0 hw_last=0
[ 5.158065] dwmmc_rockchip 10214000.dwmmc: Linked as a consumer to regulator.4
[ 5.170490] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=183, diff=1, hw=0 hw_last=0
[ 5.184475] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=184, diff=1, hw=0 hw_last=0
[ 5.195802] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=185, diff=1, hw=0 hw_last=0
[ 5.207138] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=186, diff=1, hw=0 hw_last=0
[ 5.218470] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=187, diff=1, hw=0 hw_last=0
[ 5.229799] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=188, diff=1, hw=0 hw_last=0
[ 5.241133] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=189, diff=1, hw=0 hw_last=0
[ 5.252466] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=190, diff=1, hw=0 hw_last=0
[ 5.263800] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=191, diff=1, hw=0 hw_last=0
[ 5.275133] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=192, diff=1, hw=0 hw_last=0
[ 5.284159] mmc_host mmc0: Bus speed (slot 0) = 49500000Hz (slot req 400000Hz, actual 399193HZ div = 62)
[ 5.289200] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=193, diff=1, hw=0 hw_last=0
[ 5.297801] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=194, diff=1, hw=0 hw_last=0
[ 5.306568] dwmmc_rockchip 10218000.dwmmc: Using external DMA controller.
[ 5.311462] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=195, diff=1, hw=0 hw_last=0
[ 5.316434] dwmmc_rockchip 10218000.dwmmc: Version ID is 240a
[ 5.321282] dwmmc_rockchip 10218000.dwmmc: DW MMC controller at irq 26,32 bit host data width,256 deep fifo
[ 5.326140] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=196, diff=1, hw=0 hw_last=0
[ 5.331049] dwmmc_rockchip 10218000.dwmmc: Linked as a consumer to regulator.5
[ 5.335912] mmc_host mmc1: card is non-removable.
[ 5.340607] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=197, diff=1, hw=0 hw_last=0
[ 5.353239] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=198, diff=1, hw=0 hw_last=0
[ 5.367233] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=199, diff=1, hw=0 hw_last=0
[ 5.381194] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=200, diff=1, hw=0 hw_last=0
[ 5.395192] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=201, diff=1, hw=0 hw_last=0
[ 5.407327] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=202, diff=1, hw=0 hw_last=0
[ 5.418658] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=203, diff=1, hw=0 hw_last=0
[ 5.423473] usb 2-1: new high-speed USB device number 2 using dwc2
[ 5.429993] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=204, diff=1, hw=0 hw_last=0
[ 5.441324] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=205, diff=1, hw=0 hw_last=0
[ 5.452656] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=206, diff=1, hw=0 hw_last=0
[ 5.463661] random: fast init done
[ 5.467405] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=207, diff=1, hw=0 hw_last=0
[ 5.475169] mmc_host mmc1: Bus speed (slot 0) = 6187500Hz (slot req 400000Hz, actual 386718HZ div = 8)
[ 5.479038] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=208, diff=1, hw=0 hw_last=0
[ 5.484569] mmc_host mmc0: Bus speed (slot 0) = 49500000Hz (slot req 50000000Hz, actual 49500000HZ div = 0)
[ 5.488443] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=209, diff=1, hw=0 hw_last=0
[ 5.492412] mmc0: new high speed SDHC card at address 0007
[ 5.496571] mmcblk0: mmc0:0007 SD8GB 7.42 GiB
[ 5.500342] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=210, diff=1, hw=0 hw_last=0
[ 5.504914] usbcore: registered new interface driver usbhid
[ 5.508842] usbhid: USB HID core driver
[ 5.512797] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=211, diff=1, hw=0 hw_last=0
[ 5.518870] NET: Registered protocol family 10
[ 5.523210] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=212, diff=1, hw=0 hw_last=0
[ 5.528512] mmcblk0: p1
[ 5.528830] Segment Routing with IPv6
[ 5.538012] NET: Registered protocol family 17
[ 5.541823] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=213, diff=1, hw=0 hw_last=0
[ 5.542905] ThumbEE CPU extension supported.
[ 5.552554] Registering SWP/SWPB emulation handler
[ 5.553677] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 5.562103] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=214, diff=1, hw=0 hw_last=0
[ 5.568396] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 5.573907] clk: Not disabling unused clocks
[ 5.574212] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=215, diff=1, hw=0 hw_last=0
[ 5.578865] ALSA device list:
[ 5.585000] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 5.588466] No soundcards found.
[ 5.588488] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=216, diff=1, hw=0 hw_last=0
[ 5.604601] Freeing unused kernel memory: 2048K
[ 5.606067] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 5.627207] mmc_host mmc1: Bus speed (slot 0) = 6187500Hz (slot req 50000000Hz, actual 6187500HZ div = 0)
[ 5.635109] mmc1: new SDIO card at address 0001
[ 5.643620] Run /init as init process
[ 5.655066] >>> init from rkfs <<<
[ 5.683742] usb 2-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[ 5.689035] usb 2-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 5.694213] usb 2-1: Product: USB 2.0 Hub
[ 5.699795] hub 2-1:1.0: USB hub found
[ 5.705138] hub 2-1:1.0: 4 ports detected
[ 5.719619] EXT4-fs (mmcblk0p1): warning: mounting fs with errors, running e2fsck is recommended
[ 5.820732] EXT4-fs (mmcblk0p1): recovery complete
[ 5.825863] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[ 6.026300] usb 2-1.1: new low-speed USB device number 3 using dwc2
[ 6.181888] usb 2-1.1: New USB device found, idVendor=413c, idProduct=2003, bcdDevice= 3.01
[ 6.201689] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6.221052] usb 2-1.1: Product: Dell USB Keyboard
[ 6.240277] usb 2-1.1: Manufacturer: Dell
[ 6.266171] input: Dell Dell USB Keyboard as /devices/platform/101c0000.usb/usb2/2-1/2-1.1/2-1.1:1.0/0003:413C:2003.0001/input/input0
[ 6.334120] hid-generic 0003:413C:2003.0001: input: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-101c0000.usb-1.1/input0
[ 6.446335] usb 2-1.2: new full-speed USB device number 4 using dwc2
[ 6.596152] usb 2-1.2: New USB device found, idVendor=0fe6, idProduct=9700, bcdDevice= 1.01
[ 6.615951] usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 6.635296] usb 2-1.2: Product: USB 2.0 10/100M Ethernet Adaptor
[ 6.671202] dm9601 2-1.2:1.0 eth0: register 'dm9601' at usb-101c0000.usb-1.2, Davicom DM96xx USB 10/100 Ethernet, 00:e0:4c:53:44:58
[ 6.773469] usb 2-1.3: new full-speed USB device number 5 using dwc2
[ 6.884885] random: crng init done
[ 6.906428] usb 2-1.3: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 6.911458] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6.916493] usb 2-1.3: Product: CP2102 USB to UART Bridge Controller
[ 6.921494] usb 2-1.3: Manufacturer: Silicon Labs
[ 6.926405] usb 2-1.3: SerialNumber: 0001
[ 6.932422] cp210x 2-1.3:1.0: cp210x converter detected
[ 6.939763] usb 2-1.3: cp210x converter now attached to ttyUSB0
[ 9.689375] [drm:vblank_disable_fn] disabling vblank on crtc 0
[ 9.689392] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=217, diff=0, hw=0 hw_last=0
[ 9.695784] printk: console [ttyUSB0] enabled
/ #
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2018.11.28 18:56:19 =~=~=~=~=~=~=~=~=~=~=~=
/ # ./DRM-dumb-buffer
[ 430.237367] [drm:drm_stub_open]
[ 430.255295] [drm:drm_open] pid = 61, minor = 0
[ 430.259955] [drm:drm_open]
[ 430.264784] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_SET_MASTER
[ 430.269619] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
[ 430.274341] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
fb: 0, crtc: 1, conn: 1, enc: 1
[ 430.279433] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETCONNECTOR
[ 430.283965] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1]
[ 430.288482] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] status updated from connected to disconnected
[ 430.293097] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] disconnected
[ 430.297607] [drm:drm_mode_object_put] OBJ ID: 38 (1)
[ 430.302080] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 430.306998] [drm:drm_sysfs_hotplug_event] generating hotplug event
[ 430.311466] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETCONNECTOR
[ 430.315911] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1]
[ 430.320311] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] disconnected
[ 430.324641] [drm:drm_mode_object_put] OBJ ID: 33 (5)
Not connected
[ 430.329054] [drm:drm_ioctl] pid=61, dev=0xe200, auth=1, DRM_IOCTL_DROP_MASTER
[ 440.400668] [drm:drm_release] open_count = 1
[ 440.417372] [drm:drm_file_free] pid = 61, device = 0xe200, open_count = 1
[ 440.433970] [drm:drm_lastclose]
[ 440.449874] [drm:drm_atomic_state_init] Allocated atomic state cf158fa8
[ 440.466151] [drm:drm_mode_object_get] OBJ ID: 36 (2)
[ 440.482147] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] d7aa5afc state to cf158fa8
[ 440.498314] [drm:drm_mode_object_get] OBJ ID: 35 (1)
[ 440.513755] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] fb81865f state to cf158fa8
[ 440.529706] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] afee3753 state to cf158fa8
[ 440.545566] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state afee3753
[ 440.561525] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] d2593213 state to cf158fa8
[ 440.577610] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state d2593213
[ 440.593768] [drm:drm_mode_object_put] OBJ ID: 35 (2)
[ 440.609848] [drm:drm_atomic_set_mode_for_crtc] Set [MODE:1280x720] for [CRTC:30:crtc-0] state fb81865f
[ 440.626675] [drm:drm_atomic_set_fb_for_plane] Set [FB:36] for [PLANE:28:plane-0] state d7aa5afc
[ 440.643560] [drm:drm_mode_object_get] OBJ ID: 36 (3)
[ 440.660188] [drm:drm_mode_object_put] OBJ ID: 36 (4)
[ 440.676327] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to cf158fa8
[ 440.692952] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 440.709183] [drm:drm_mode_object_get] OBJ ID: 33 (6)
[ 440.725221] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] 6386fdf3 state to cf158fa8
[ 440.741770] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 440.757751] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state 6386fdf3 to [NOCRTC]
[ 440.774601] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 440.791431] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state 6386fdf3 to [CRTC:30:crtc-0]
[ 440.809045] [drm:drm_atomic_check_only] checking cf158fa8
[ 440.826652] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 440.844972] [drm:drm_atomic_helper_check_modeset] [CONNECTOR:33:HDMI-A-1] keeps [ENCODER:32:TMDS-32], now on [CRTC:30:crtc-0]
[ 440.863958] [drm:drm_atomic_commit] committing cf158fa8
[ 440.882375] [drm:drm_calc_timestamping_constants] crtc 30: hwmode: htotal 1650, vtotal 750, vdisplay 720
[ 440.901358] [drm:drm_calc_timestamping_constants] crtc 30: clock 74250 kHz framedur 16666666 linedur 22222
[ 440.920420] rockchip-vop 1010c000.vop: [drm:vop_plane_atomic_update] Warning: not support src_alpha_ctl
[ 440.939533] [drm:drm_vblank_enable] enabling vblank on crtc 0, ret: 0
[ 440.958901] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=217, diff=0, hw=0 hw_last=0
[ 441.034797] ------------[ cut here ]------------
[ 441.054739] WARNING: CPU: 0 PID: 61 at drivers/gpu/drm/drm_atomic_helper.c:1406 drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0
[ 441.060098] [CRTC:30:crtc-0] vblank wait timed out
[ 441.065433] Modules linked in:
[ 441.070700] CPU: 0 PID: 61 Comm: DRM-dumb-buffer Not tainted 4.20.0-rc1-g9eb245c5e #52
[ 441.075967] Hardware name: Rockchip (Device Tree)
[ 441.081204] [<c01104a0>] (unwind_backtrace) from [<c010c868>] (show_stack+0x10/0x14)
[ 441.086534] [<c010c868>] (show_stack) from [<c069e5d8>] (dump_stack+0x88/0x9c)
[ 441.091876] [<c069e5d8>] (dump_stack) from [<c0122784>] (__warn+0xf8/0x110)
[ 441.097199] [<c0122784>] (__warn) from [<c01227e4>] (warn_slowpath_fmt+0x48/0x6c)
[ 441.102550] [<c01227e4>] (warn_slowpath_fmt) from [<c0445b04>] (drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0)
[ 441.107991] [<c0445b04>] (drm_atomic_helper_wait_for_vblanks.part.1) from [<c0477fec>] (rockchip_atomic_helper_commit_tail_rpm+0x17c/0x194)
[ 441.113542] [<c0477fec>] (rockchip_atomic_helper_commit_tail_rpm) from [<c0447418>] (commit_tail+0x40/0x6c)
[ 441.119114] [<c0447418>] (commit_tail) from [<c0447508>] (drm_atomic_helper_commit+0xbc/0x128)
[ 441.124709] [<c0447508>] (drm_atomic_helper_commit) from [<c0449b38>] (restore_fbdev_mode_atomic+0x1cc/0x1dc)
[ 441.130356] [<c0449b38>] (restore_fbdev_mode_atomic) from [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xa0)
[ 441.136084] [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked) from [<c0451614>] (drm_lastclose+0x30/0xcc)
[ 441.141854] [<c0451614>] (drm_lastclose) from [<c045177c>] (drm_release+0xcc/0xfc)
[ 441.147598] [<c045177c>] (drm_release) from [<c024fe44>] (__fput+0x88/0x1c4)
[ 441.153288] [<c024fe44>] (__fput) from [<c013fc98>] (task_work_run+0xa4/0xc8)
[ 441.158956] [<c013fc98>] (task_work_run) from [<c0125c38>] (do_exit+0x348/0xa60)
[ 441.164603] [<c0125c38>] (do_exit) from [<c0127218>] (do_group_exit+0x3c/0xd0)
[ 441.170332] [<c0127218>] (do_group_exit) from [<c01272bc>] (__wake_up_parent+0x0/0x18)
[ 441.176196] ---[ end trace c3cab8e623731921 ]---
[ 441.181949] [drm:drm_atomic_state_default_clear] Clearing atomic state cf158fa8
[ 441.187750] [drm:drm_mode_object_put] OBJ ID: 33 (6)
[ 441.193527] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 441.199117] [drm:drm_mode_object_put] OBJ ID: 35 (1)
[ 441.204595] [drm:drm_mode_object_put] OBJ ID: 36 (3)
[ 441.209909] [drm:__drm_atomic_state_free] Freeing atomic state cf158fa8
[ 441.215472] [drm:drm_fb_helper_hotplug_event.part.9]
[ 441.220655] [drm:drm_setup_crtcs]
[ 441.225766] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1]
[ 441.230975] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:33:HDMI-A-1] disconnected
[ 441.236080] [drm:drm_setup_crtcs] No connectors reported connected with modes
[ 441.241066] [drm:drm_setup_crtcs] connector 33 enabled? no
[ 441.246036] [drm:drm_setup_crtcs] picking CRTCs for 1280x720 config
[ 441.251059] [drm:drm_mode_object_put] OBJ ID: 33 (4)
[ 441.255880] [drm:drm_atomic_state_init] Allocated atomic state c39a433a
[ 441.260611] [drm:drm_mode_object_get] OBJ ID: 36 (2)
[ 441.265292] [drm:drm_atomic_get_plane_state] Added [PLANE:28:plane-0] a75a69ad state to c39a433a
[ 441.269907] [drm:drm_mode_object_get] OBJ ID: 37 (1)
[ 441.274382] [drm:drm_atomic_get_crtc_state] Added [CRTC:30:crtc-0] 4d69d25f state to c39a433a
[ 441.278991] [drm:drm_atomic_get_plane_state] Added [PLANE:29:plane-1] 51b39695 state to c39a433a
[ 441.283844] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:29:plane-1] state 51b39695
[ 441.288418] [drm:drm_atomic_get_plane_state] Added [PLANE:31:plane-2] 2459b2ba state to c39a433a
[ 441.292993] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:31:plane-2] state 2459b2ba
[ 441.297546] [drm:drm_mode_object_put] OBJ ID: 37 (2)
[ 441.302073] [drm:drm_atomic_set_mode_for_crtc] Set [NOMODE] for [CRTC:30:crtc-0] state 4d69d25f
[ 441.306699] [drm:drm_atomic_set_crtc_for_plane] Link [PLANE:28:plane-0] state a75a69ad to [NOCRTC]
[ 441.311274] [drm:drm_atomic_set_fb_for_plane] Set [NOFB] for [PLANE:28:plane-0] state a75a69ad
[ 441.315762] [drm:drm_mode_object_put] OBJ ID: 36 (3)
[ 441.320079] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to c39a433a
[ 441.324535] [drm:drm_mode_object_get] OBJ ID: 33 (4)
[ 441.328905] [drm:drm_mode_object_get] OBJ ID: 33 (5)
[ 441.333096] [drm:drm_atomic_get_connector_state] Added [CONNECTOR:33:HDMI-A-1] 124fc64d state to c39a433a
[ 441.337337] [drm:drm_mode_object_put] OBJ ID: 33 (5)
[ 441.341470] [drm:drm_atomic_set_crtc_for_connector] Link [CONNECTOR:33:HDMI-A-1] state 124fc64d to [NOCRTC]
[ 441.345748] [drm:drm_atomic_check_only] checking c39a433a
[ 441.349991] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] mode changed
[ 441.354241] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] enable changed
[ 441.358433] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] active changed
[ 441.362539] [drm:drm_atomic_helper_check_modeset] Updating routing for [CONNECTOR:33:HDMI-A-1]
[ 441.366627] [drm:drm_atomic_helper_check_modeset] Disabling [CONNECTOR:33:HDMI-A-1]
[ 441.370649] [drm:drm_atomic_helper_check_modeset] [CRTC:30:crtc-0] needs all connectors, enable: n, active: n
[ 441.374720] [drm:drm_atomic_add_affected_connectors] Adding all current connectors for [CRTC:30:crtc-0] to c39a433a
[ 441.378921] [drm:drm_atomic_add_affected_planes] Adding all current planes for [CRTC:30:crtc-0] to c39a433a
[ 441.383234] [drm:drm_atomic_commit] committing c39a433a
[ 451.674799] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:30:crtc-0] flip_done timed out
[ 461.913900] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:33:HDMI-A-1] flip_done timed out
[ 472.154303] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:28:plane-0] flip_done timed out
[ 472.172531] [drm:drm_atomic_helper_commit_modeset_disables] disabling [ENCODER:32:TMDS-32]
[ 472.190350] rk3066hdmi-rockchip 10116000.hdmi: mode :16
[ 472.208821] rk3066hdmi-rockchip 10116000.hdmi: previous_mode:0
[ 472.226471] rk3066hdmi-rockchip 10116000.hdmi: 0: next_mode :16
[ 472.243955] rk3066hdmi-rockchip 10116000.hdmi: set HDMI_SYS_POWER_MODE_A-B-E
[ 472.261494] [drm:drm_atomic_helper_commit_modeset_disables] disabling [CRTC:30:crtc-0]
[ 472.279305] ------------[ cut here ]------------
[ 472.297033] WARNING: CPU: 0 PID: 61 at drivers/gpu/drm/rockchip/rockchip_drm_vop.c:594 vop_crtc_atomic_disable+0x2e4/0x30c
[ 472.315624] Modules linked in:
[ 472.333867] CPU: 0 PID: 61 Comm: DRM-dumb-buffer Tainted: G W 4.20.0-rc1-g9eb245c5e #52
[ 472.352496] Hardware name: Rockchip (Device Tree)
[ 472.370803] [<c01104a0>] (unwind_backtrace) from [<c010c868>] (show_stack+0x10/0x14)
[ 472.389406] [<c010c868>] (show_stack) from [<c069e5d8>] (dump_stack+0x88/0x9c)
[ 472.407957] [<c069e5d8>] (dump_stack) from [<c0122784>] (__warn+0xf8/0x110)
[ 472.426321] [<c0122784>] (__warn) from [<c01228b4>] (warn_slowpath_null+0x40/0x48)
[ 472.444716] [<c01228b4>] (warn_slowpath_null) from [<c0479bf8>] (vop_crtc_atomic_disable+0x2e4/0x30c)
[ 472.463295] [<c0479bf8>] (vop_crtc_atomic_disable) from [<c0447058>] (drm_atomic_helper_commit_modeset_disables+0x36c/0x444)
[ 472.482190] [<c0447058>] (drm_atomic_helper_commit_modeset_disables) from [<c0477f20>] (rockchip_atomic_helper_commit_tail_rpm+0xb0/0x194)
[ 472.501532] [<c0477f20>] (rockchip_atomic_helper_commit_tail_rpm) from [<c0447418>] (commit_tail+0x40/0x6c)
[ 472.520996] [<c0447418>] (commit_tail) from [<c0447508>] (drm_atomic_helper_commit+0xbc/0x128)
[ 472.540476] [<c0447508>] (drm_atomic_helper_commit) from [<c0449b38>] (restore_fbdev_mode_atomic+0x1cc/0x1dc)
[ 472.560016] [<c0449b38>] (restore_fbdev_mode_atomic) from [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xa0)
[ 472.579726] [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked) from [<c044d3c8>] (drm_fb_helper_set_par+0x30/0x54)
[ 472.600060] [<c044d3c8>] (drm_fb_helper_set_par) from [<c044d2b4>] (drm_fb_helper_hotplug_event.part.9+0x90/0xa8)
[ 472.620365] [<c044d2b4>] (drm_fb_helper_hotplug_event.part.9) from [<c044d37c>] (drm_fb_helper_restore_fbdev_mode_unlocked+0x84/0xa0)
[ 472.640895] [<c044d37c>] (drm_fb_helper_restore_fbdev_mode_unlocked) from [<c0451614>] (drm_lastclose+0x30/0xcc)
[ 472.661338] [<c0451614>] (drm_lastclose) from [<c045177c>] (drm_release+0xcc/0xfc)
[ 472.681648] [<c045177c>] (drm_release) from [<c024fe44>] (__fput+0x88/0x1c4)
[ 472.701942] [<c024fe44>] (__fput) from [<c013fc98>] (task_work_run+0xa4/0xc8)
[ 472.722529] [<c013fc98>] (task_work_run) from [<c0125c38>] (do_exit+0x348/0xa60)
[ 472.743507] [<c0125c38>] (do_exit) from [<c0127218>] (do_group_exit+0x3c/0xd0)
[ 472.764508] [<c0127218>] (do_group_exit) from [<c01272bc>] (__wake_up_parent+0x0/0x18)
[ 472.785768] ---[ end trace c3cab8e623731922 ]---
[ 472.806923] [drm:drm_crtc_vblank_off] crtc 0, vblank enabled 1, inmodeset 0
[ 472.828010] [drm:drm_update_vblank_count] updating vblank count on crtc 0: current=217, diff=0, hw=0 hw_last=0
From d223ef33f192a14809182e1413da5b93881b4434 Mon Sep 17 00:00:00 2001
From: Johan Jonker <[email protected]>
Date: Sat, 24 Nov 2018 21:10:45 +0100
Subject: [PATCH] revert rockchip_atomic_wait_for_complete
This patch reverts the rockchip_atomic_wait_for_complete function.
The rk3066 doesn't support a vblank counter.
The drm helper for wait for vblank gives a timeout crash in combination
with the rk3066 and is not reliable.
Signed-off-by: Johan Jonker <[email protected]>
---
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 19 ++++++
drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 8 +++
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 101 +++++++++++++++++++++++++++-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 19 ++++++
4 files changed, 146 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 4a69e7a4e..d53e3fc81 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -78,6 +78,25 @@ void rockchip_drm_dma_detach_device(struct drm_device *drm_dev,
iommu_detach_device(domain, dev);
}
+int rockchip_register_crtc_funcs(struct drm_crtc *crtc,
+ const struct rockchip_crtc_funcs *crtc_funcs)
+{
+ int pipe = drm_crtc_index(crtc);
+ struct rockchip_drm_private *priv = crtc->dev->dev_private;
+ if (pipe >= ROCKCHIP_MAX_CRTC)
+ return -EINVAL;
+ priv->crtc_funcs[pipe] = crtc_funcs;
+ return 0;
+}
+void rockchip_unregister_crtc_funcs(struct drm_crtc *crtc)
+{
+ int pipe = drm_crtc_index(crtc);
+ struct rockchip_drm_private *priv = crtc->dev->dev_private;
+ if (pipe >= ROCKCHIP_MAX_CRTC)
+ return;
+ priv->crtc_funcs[pipe] = NULL;
+}
+
static int rockchip_drm_init_iommu(struct drm_device *drm_dev)
{
struct rockchip_drm_private *private = drm_dev->dev_private;
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
index d03890314..3f7306325 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
@@ -32,6 +32,10 @@ struct drm_device;
struct drm_connector;
struct iommu_domain;
+struct rockchip_crtc_funcs {
+ void (*wait_for_update)(struct drm_crtc *crtc);
+};
+
struct rockchip_crtc_state {
struct drm_crtc_state base;
int output_type;
@@ -51,6 +55,7 @@ struct rockchip_crtc_state {
struct rockchip_drm_private {
struct drm_fb_helper fbdev_helper;
struct drm_gem_object *fbdev_bo;
+ const struct rockchip_crtc_funcs *crtc_funcs[ROCKCHIP_MAX_CRTC];
struct iommu_domain *domain;
struct mutex mm_lock;
struct drm_mm mm;
@@ -58,6 +63,9 @@ struct rockchip_drm_private {
struct mutex psr_list_lock;
};
+int rockchip_register_crtc_funcs(struct drm_crtc *crtc,
+ const struct rockchip_crtc_funcs *crtc_funcs);
+void rockchip_unregister_crtc_funcs(struct drm_crtc *crtc);
int rockchip_drm_dma_attach_device(struct drm_device *drm_dev,
struct device *dev);
void rockchip_drm_dma_detach_device(struct drm_device *drm_dev,
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index ea18cb2a7..69a2b50af 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -162,6 +162,105 @@ rockchip_drm_psr_inhibit_put_state(struct drm_atomic_state *state)
drm_for_each_encoder_mask(encoder, state->dev, encoder_mask)
rockchip_drm_psr_inhibit_put(encoder);
}
+
+static void rockchip_crtc_wait_for_update(struct drm_crtc *crtc)
+{
+ struct rockchip_drm_private *priv = crtc->dev->dev_private;
+ int pipe = drm_crtc_index(crtc);
+ const struct rockchip_crtc_funcs *crtc_funcs = priv->crtc_funcs[pipe];
+
+ if (crtc_funcs && crtc_funcs->wait_for_update)
+ crtc_funcs->wait_for_update(crtc);
+}
+
+/*
+ * We can't use drm_atomic_helper_wait_for_vblanks() because rk3288 and rk3066
+ * have hardware counters for neither vblanks nor scanlines, which results in
+ * a race where:
+ * | <-- HW vsync irq and reg take effect
+ * plane_commit --> |
+ * get_vblank and wait --> |
+ * | <-- handle_vblank, vblank->count + 1
+ * cleanup_fb --> |
+ * iommu crash --> |
+ * | <-- HW vsync irq and reg take effect
+ *
+ * This function is equivalent but uses rockchip_crtc_wait_for_update() instead
+ * of waiting for vblank_count to change.
+ */
+
+#define for_each_crtc_in_state(__state, crtc, crtc_state, __i) \
+ for ((__i) = 0; \
+ (__i) < (__state)->dev->mode_config.num_crtc && \
+ ((crtc) = (__state)->crtcs[__i].ptr, \
+ (crtc_state) = (__state)->crtcs[__i].state, 1); \
+ (__i)++) \
+ for_each_if (crtc_state)
+
+#define for_each_plane_in_state(__state, plane, plane_state, __i) \
+ for ((__i) = 0; \
+ (__i) < (__state)->dev->mode_config.num_total_plane && \
+ ((plane) = (__state)->planes[__i].ptr, \
+ (plane_state) = (__state)->planes[__i].state, 1); \
+ (__i)++) \
+ for_each_if (plane_state)
+
+bool drm_atomic_helper_framebuffer_changed(struct drm_device *dev,
+ struct drm_atomic_state *old_state,
+ struct drm_crtc *crtc)
+{
+ struct drm_plane *plane;
+ struct drm_plane_state *old_plane_state;
+ int i;
+
+ for_each_plane_in_state(old_state, plane, old_plane_state, i) {
+ if (plane->state->crtc != crtc &&
+ old_plane_state->crtc != crtc)
+ continue;
+
+ if (plane->state->fb != old_plane_state->fb)
+ return true;
+ }
+
+ return false;
+}
+
+static void
+rockchip_atomic_wait_for_complete(struct drm_device *dev, struct drm_atomic_state *old_state)
+{
+ struct drm_crtc_state *old_crtc_state;
+ struct drm_crtc *crtc;
+ int i, ret;
+
+ for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) {
+ /* No one cares about the old state, so abuse it for tracking
+ * and store whether we hold a vblank reference (and should do a
+ * vblank wait) in the ->enable boolean.
+ */
+ old_crtc_state->enable = false;
+
+ if (!crtc->state->active)
+ continue;
+
+ if (!drm_atomic_helper_framebuffer_changed(dev,
+ old_state, crtc))
+ continue;
+
+ ret = drm_crtc_vblank_get(crtc);
+ if (ret != 0)
+ continue;
+
+ old_crtc_state->enable = true;
+ }
+
+ for_each_crtc_in_state(old_state, crtc, old_crtc_state, i) {
+ if (!old_crtc_state->enable)
+ continue;
+
+ rockchip_crtc_wait_for_update(crtc);
+ drm_crtc_vblank_put(crtc);
+ }
+}
static void
rockchip_atomic_helper_commit_tail_rpm(struct drm_atomic_state *old_state)
@@ -181,7 +280,7 @@ rockchip_atomic_helper_commit_tail_rpm(struct drm_atomic_state *old_state)
drm_atomic_helper_commit_hw_done(old_state);
- drm_atomic_helper_wait_for_vblanks(dev, old_state);
+ rockchip_atomic_wait_for_complete(dev, old_state);
drm_atomic_helper_cleanup_planes(dev, old_state);
}
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 0c35a88e3..76bec1bc6 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -102,6 +102,7 @@ struct vop {
bool is_enabled;
struct completion dsp_hold_completion;
+ struct completion wait_update_complete;
/* protected by dev->event_lock */
struct drm_pending_vblank_event *event;
@@ -866,6 +867,18 @@ static void vop_crtc_disable_vblank(struct drm_crtc *crtc)
spin_unlock_irqrestore(&vop->irq_lock, flags);
}
+
+static void vop_crtc_wait_for_update(struct drm_crtc *crtc)
+{
+ struct vop *vop = to_vop(crtc);
+
+ reinit_completion(&vop->wait_update_complete);
+ WARN_ON(!wait_for_completion_timeout(&vop->wait_update_complete, 100));
+}
+
+static const struct rockchip_crtc_funcs private_crtc_funcs = {
+ .wait_for_update = vop_crtc_wait_for_update,
+};
static bool vop_crtc_mode_fixup(struct drm_crtc *crtc,
const struct drm_display_mode *mode,
@@ -1198,6 +1211,9 @@ static void vop_handle_vblank(struct vop *vop)
}
spin_unlock(&drm->event_lock);
+ if (!completion_done(&vop->wait_update_complete))
+ complete(&vop->wait_update_complete);
+
if (test_and_clear_bit(VOP_PENDING_FB_UNREF, &vop->pending))
drm_flip_work_commit(&vop->fb_unref_work, system_unbound_wq);
}
@@ -1357,8 +1373,10 @@ static int vop_create_crtc(struct vop *vop)
vop_fb_unref_worker);
init_completion(&vop->dsp_hold_completion);
+ init_completion(&vop->wait_update_complete);
init_completion(&vop->line_flag_completion);
crtc->port = port;
+ rockchip_register_crtc_funcs(crtc, &private_crtc_funcs);
return 0;
@@ -1377,6 +1395,7 @@ static void vop_destroy_crtc(struct vop *vop)
struct drm_device *drm_dev = vop->drm_dev;
struct drm_plane *plane, *tmp;
+ rockchip_unregister_crtc_funcs(crtc);
of_node_put(crtc->port);
/*
--
2.11.0
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel