Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to upgrade the panfrost driver on the ARM Chromebook from 1.1 to 1.2 #25

Open
Marietto2008 opened this issue Oct 11, 2023 · 25 comments

Comments

@Marietto2008
Copy link

Marietto2008 commented Oct 11, 2023

Hello my friend.

I've almost completed my project : to virtualize FreeBSD on top of Linux with qemu-kvm on the ARM Chromebook. Everything works great. Even the network on the vm. One last task needs to be accomplished. To be able to use the panfrost graphic driver on the linux distro that I have chosen and where I have configured everything : Devuan 5. I would like to understand what's the fulll procedure to enable the MALI driver and to make it work. What I did right now is to enable the MALI driver inside the kernel that I'm using (vers. 5.4.257).

The only parameter that I've found on the kernel config file related to MALI is the following :

CONFIG_DRM_MALI_DISPLAY=y

and I set it to y. Until here it was easy. What I don't understand is after enabling that parameter,it will work automatically or if I should make an additional configuration and which kind of configuration it needs. Thanks.

@quarkscript2
Copy link

Hello.

I thought it was on.

CONFIG_DRM_PANFROST=y
never selected it manually, but using the menuconfig.

1

CONFIG_DRM_MALI_DISPLAY is for a different mali device family.
2

Probably some other items should be selected too. This is from other config where X.org should works

#
# Graphics support
#
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y

# I2C encoder or helper chips
CONFIG_DRM_I2C_NXP_TDA998X=y
# end of I2C encoder or helper chips

CONFIG_DRM_VGEM=m
CONFIG_DRM_EXYNOS=y

#
# CRTCs
#
CONFIG_DRM_EXYNOS_FIMD=y
CONFIG_DRM_EXYNOS_MIXER=y


#
# Encoders and Bridges
#
CONFIG_DRM_EXYNOS_DPI=y
CONFIG_DRM_EXYNOS_DSI=y
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_EXYNOS_HDMI=y

#
# Sub-drivers
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_RCAR_LVDS=m
CONFIG_DRM_QXL=y
CONFIG_DRM_BOCHS=y
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_PANEL=y

#
# Display Panels
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_SIMPLE=y
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

# Display Interface Bridges
CONFIG_DRM_NXP_PTN3460=y
CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_ANALOGIX_DP=y
# end of Display Interface Bridges
CONFIG_DRM_PL111=m
CONFIG_DRM_PANFROST=y
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CFB_REV_PIXELS_IN_BYTE=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
CONFIG_FB_DA8XX=y
CONFIG_FB_SIMPLE=y
CONFIG_FB_SSD1307=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_PWM=y

CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

@Marietto2008
Copy link
Author

Hello. Thanks. I will try this procedure. Can you show me how the mali driver is shown on the dmesg when it works ? thanks.

@quarkscript2
Copy link

dmesg | grep panfrost
[    3.352617] panfrost 11800000.gpu: clock rate = 533000000
[    3.354011] panfrost 11800000.gpu: mali-t600 id 0x600 major 0x0 minor 0x0 status 0x1
[    3.354020] panfrost 11800000.gpu: features: 00000000,10206000, issues: 00000000,31b4dfff
[    3.354027] panfrost 11800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xf JS:0x7
[    3.354035] panfrost 11800000.gpu: shader_present=0xf l2_present=0x1
[    3.355009] [drm] Initialized panfrost 1.2.0 20180908 for 11800000.gpu on minor 1

dmesg | grep exynos-drm
[    3.356383] exynos-drm exynos-drm: bound 14400000.fimd (ops fimd_component_ops)
[    3.356465] exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops)
[    3.356711] exynos-drm exynos-drm: bound 145b0000.dp-controller (ops exynos_dp_ops)
[    3.356731] exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops)
[    3.356786] exynos-drm exynos-drm: bound 11c00000.rotator (ops rotator_component_ops)
[    4.307443] exynos-drm exynos-drm: [drm] fb0: exynosdrmfb frame buffer device
[    4.307737] [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 2

dmesg | grep firm
[    0.001674] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.010047] CPU1: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    5.782086] s5p-mfc 11000000.codec: preallocated 8 MiB buffer for the firmware and context buffers

full dmesg

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.15.120 (root@test) (arm-linux-gnueabihf-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP Fri Jul 7 13:15:21 EDT 2023
[    0.000000] CPU: ARMv7 Processor [410fc0f4] revision 4 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Google Snow
[    0.000000] Malformed early option 'console'
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 8 MiB at 0x00000000bf800000
[    0.000000] Samsung CPU ID: 0x43520010
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000040000000-0x000000006fffffff]
[    0.000000]   HighMem  [mem 0x0000000070000000-0x00000000bfffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s20300 r8192 d20660 u49152
[    0.000000] pcpu-alloc: s20300 r8192 d20660 u49152 alloc=12*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 522560
[    0.000000] Kernel command line: cros_secure console= console=tty0 root=PARTUUID=ffffffff-ffff-ffff-ffff-ffffffffffff/PARTNROFF=1 rootwait rw noinitrd quiet loglevel=0 zswap.compressor=zstd zswap.max_pool_percent=40 audit=0 systemd.gpt_auto=0
[    0.000000] Unknown kernel command line parameters "cros_secure audit=0", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2043192K/2097152K available (16384K kernel code, 1166K rwdata, 3944K rodata, 2048K init, 426K bss, 45768K reserved, 8192K cma-reserved, 1302528K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU 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] Exynos5250: clock setup completed, armclk=1700000000
[    0.000000] Switching to timer-based delay loop, resolution 41ns
[    0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000001] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000012] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 57
[    0.000310] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.000320] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000329] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000337] Ignoring duplicate/late registration of read_current_timer delay
[    0.000454] Console: colour dummy device 80x30
[    0.000480] printk: console [tty0] enabled
[    0.000505] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000514] pid_max: default: 32768 minimum: 301
[    0.000896] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.000906] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.001645] CPU: Testing write buffer coherency: ok
[    0.001674] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.001680] CPU0: Spectre BHB: enabling loop workaround for all CPUs
[    0.001843] /cpus/cpu@0 missing clock-frequency property
[    0.001864] /cpus/cpu@1 missing clock-frequency property
[    0.001874] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002420] Setting up static identity map for 0x40200000 - 0x40200060
[    0.002487] rcu: Hierarchical SRCU implementation.
[    0.003064] smp: Bringing up secondary CPUs ...
[    0.010039] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.010047] CPU1: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.010130] smp: Brought up 1 node, 2 CPUs
[    0.010136] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.010142] CPU: All CPU(s) started in SVC mode.
[    0.010558] devtmpfs: initialized
[    0.016900] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.017062] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.017074] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.017325] pinctrl core: initialized pinctrl subsystem
[    0.017400] regulator: Failed to create debugfs directory
[    0.017522] regulator-dummy: Failed to create debugfs directory
[    0.018330] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.019126] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.020074] thermal_sys: Registered thermal governor 'fair_share'
[    0.020080] thermal_sys: Registered thermal governor 'bang_bang'
[    0.020083] thermal_sys: Registered thermal governor 'step_wise'
[    0.020087] thermal_sys: Registered thermal governor 'user_space'
[    0.020314] cpuidle: using governor ladder
[    0.020332] cpuidle: using governor menu
[    0.020488] No ATAGs?
[    0.020529] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.020535] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.020681] Serial: AMBA PL011 UART driver
[    0.066529] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    0.068398] cryptd: max_cpu_qlen set to 1000
[    0.239990] raid6: neonx8   gen()  3075 MB/s
[    0.409991] raid6: neonx8   xor()  2315 MB/s
[    0.580000] raid6: neonx4   gen()  4403 MB/s
[    0.749992] raid6: neonx4   xor()  3006 MB/s
[    0.919993] raid6: neonx2   gen()  3850 MB/s
[    1.089995] raid6: neonx2   xor()  2903 MB/s
[    1.260002] raid6: neonx1   gen()  3300 MB/s
[    1.429999] raid6: neonx1   xor()  2608 MB/s
[    1.600020] raid6: int32x8  gen()   677 MB/s
[    1.770018] raid6: int32x8  xor()   564 MB/s
[    1.940025] raid6: int32x4  gen()   899 MB/s
[    2.110007] raid6: int32x4  xor()   619 MB/s
[    2.280006] raid6: int32x2  gen()   931 MB/s
[    2.450018] raid6: int32x2  xor()   517 MB/s
[    2.620021] raid6: int32x1  gen()   828 MB/s
[    2.790033] raid6: int32x1  xor()   417 MB/s
[    2.790038] raid6: using algorithm neonx4 gen() 4403 MB/s
[    2.790042] raid6: .... xor() 3006 MB/s, rmw enabled
[    2.790045] raid6: using neon recovery algorithm
[    2.790794] vbat-supply: Failed to create debugfs directory
[    2.790973] P5.0V_USB3CON: Failed to create debugfs directory
[    2.791150] iommu: Default domain type: Translated
[    2.791154] iommu: DMA domain TLB invalidation policy: strict mode
[    2.791266] vgaarb: loaded
[    2.791573] SCSI subsystem initialized
[    2.791686] libata version 3.00 loaded.
[    2.791783] usbcore: registered new interface driver usbfs
[    2.791815] usbcore: registered new interface driver hub
[    2.791834] usbcore: registered new device driver usb
[    2.792329] s3c-i2c 12c60000.i2c: slave address 0x00
[    2.792339] s3c-i2c 12c60000.i2c: bus frequency set to 378 KHz
[    2.792874] s3c-i2c 12c60000.i2c: i2c-0: S3C I2C adapter
[    2.792981] s3c-i2c 12c70000.i2c: slave address 0x00
[    2.792989] s3c-i2c 12c70000.i2c: bus frequency set to 378 KHz
[    2.793624] s3c-i2c 12c70000.i2c: i2c-1: S3C I2C adapter
[    2.793723] s3c-i2c 12c80000.i2c: slave address 0x00
[    2.793731] s3c-i2c 12c80000.i2c: bus frequency set to 65 KHz
[    2.793819] s3c-i2c 12c80000.i2c: i2c-2: S3C I2C adapter
[    2.793925] s3c-i2c 12c90000.i2c: slave address 0x00
[    2.793932] s3c-i2c 12c90000.i2c: bus frequency set to 65 KHz
[    2.794039] s3c-i2c 12c90000.i2c: i2c-3: S3C I2C adapter
[    2.794161] s3c-i2c 12ca0000.i2c: slave address 0x00
[    2.794168] s3c-i2c 12ca0000.i2c: bus frequency set to 65 KHz
[    2.794266] s3c-i2c 12ca0000.i2c: i2c-4: S3C I2C adapter
[    2.794343] s3c-i2c 12cb0000.i2c: slave address 0x00
[    2.794350] s3c-i2c 12cb0000.i2c: bus frequency set to 65 KHz
[    2.794446] s3c-i2c 12cb0000.i2c: i2c-5: S3C I2C adapter
[    2.794528] s3c-i2c 12cd0000.i2c: slave address 0x00
[    2.794536] s3c-i2c 12cd0000.i2c: bus frequency set to 65 KHz
[    2.794747] i2c 7-0020: Fixing up cyclic dependency with 145b0000.dp-controller
[    2.794779] i2c 7-0020: Fixing up cyclic dependency with panel
[    2.795193] s3c-i2c 12cd0000.i2c: i2c-7: S3C I2C adapter
[    2.795350] s3c-i2c 12ce0000.i2c: slave address 0x00
[    2.795357] s3c-i2c 12ce0000.i2c: bus frequency set to 378 KHz
[    2.795507] s3c-i2c 12ce0000.i2c: i2c-8: S3C I2C adapter
[    2.795624] mc: Linux media interface: v0.10
[    2.795642] videodev: Linux video capture interface: v2.00
[    2.795690] pps_core: LinuxPPS API ver. 1 registered
[    2.795694] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.795704] PTP clock support registered
[    2.795726] EDAC MC: Ver: 3.0.0
[    2.796088] Advanced Linux Sound Architecture Driver Initialized.
[    2.796747] clocksource: Switched to clocksource mct-frc
[    2.796899] VFS: Disk quotas dquot_6.6.0
[    2.796948] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    2.801193] NET: Registered PF_INET protocol family
[    2.801303] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    2.801891] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    2.801909] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    2.801917] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    2.801953] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    2.802027] TCP: Hash tables configured (established 8192 bind 8192)
[    2.802147] MPTCP token hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    2.802191] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    2.802212] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    2.802354] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    2.802382] NET: Registered PF_XDP protocol family
[    2.802390] PCI: CLS 0 bytes, default 64
[    2.802825] armv7-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[    2.803075] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[    2.805671] Initialise system trusted keyrings
[    2.805755] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[    2.807921] zbud: loaded
[    2.809828] Key type cifs.spnego registered
[    2.809875] Key type cifs.idmap registered
[    2.810096] fuse: init (API version 7.34)
[    2.850371] NET: Registered PF_ALG protocol family
[    2.850387] xor: measuring software checksum speed
[    2.853227]    arm4regs        :  3480 MB/sec
[    2.857576]    8regs           :  2342 MB/sec
[    2.861424]    32regs          :  2559 MB/sec
[    2.862885]    neon            :  6769 MB/sec
[    2.862889] xor: using function: neon (6769 MB/sec)
[    2.862894] Key type asymmetric registered
[    2.862898] Asymmetric key parser 'x509' registered
[    2.862949] bounce: pool size: 64 pages
[    2.863006] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    2.863012] io scheduler mq-deadline registered
[    2.863016] io scheduler kyber registered
[    2.863096] io scheduler bfq registered
[    2.864389] samsung-usb2-phy 12130000.phy: supply vbus not found, using dummy regulator
[    2.864831] exynos5_usb3drd_phy 12100000.phy: supply vbus-boost not found, using dummy regulator
[    2.868597] dma-pl330 121a0000.pdma: Loaded driver for PL330 DMAC-241330
[    2.868607] dma-pl330 121a0000.pdma:         DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    2.869653] dma-pl330 121b0000.pdma: Loaded driver for PL330 DMAC-241330
[    2.869660] dma-pl330 121b0000.pdma:         DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    2.870021] dma-pl330 10800000.mdma: Loaded driver for PL330 DMAC-241330
[    2.870028] dma-pl330 10800000.mdma:         DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
[    2.870399] dma-pl330 11c10000.mdma: Loaded driver for PL330 DMAC-241330
[    2.870406] dma-pl330 11c10000.mdma:         DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
[    2.870540] soc soc0: Exynos: CPU[EXYNOS5250] PRO_ID[0x43520010] REV[0x10] Detected
[    2.871332] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    2.872723] Serial: AMBA driver
[    2.872840] 12c00000.serial: ttySAC0 at MMIO 0x12c00000 (irq = 64, base_baud = 0) is a S3C6400/10
[    2.873098] 12c10000.serial: ttySAC1 at MMIO 0x12c10000 (irq = 65, base_baud = 0) is a S3C6400/10
[    2.873325] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 66, base_baud = 0) is a S3C6400/10
[    2.873547] 12c30000.serial: ttySAC3 at MMIO 0x12c30000 (irq = 67, base_baud = 0) is a S3C6400/10
[    2.874683] exynos-trng 10830600.rng: Exynos True Random Number Generator.
[    2.875062] [drm] Initialized vgem 1.0.0 20120112 for vgem on minor 0
[    2.875264] exynos4-fb 14400000.fimd: Adding to iommu group 0
[    2.875794] OF: graph: no port node found in /soc/fimd@14400000
[    2.876241] exynos-mixer 14450000.mixer: Adding to iommu group 1
[    2.877252] exynos-rotator 11c00000.rotator: Adding to iommu group 2
[    2.883306] loop: module loaded
[    2.885160] P1.0V_LDO_OUT1: Failed to create debugfs directory
[    2.885347] P1.8V_LDO_OUT2: Bringing 1500000uV into 1800000-1800000uV
[    2.886667] P1.8V_LDO_OUT2: Failed to create debugfs directory
[    2.887233] P1.8V_LDO_OUT3: Failed to create debugfs directory
[    2.887452] LDO4: Failed to create debugfs directory
[    2.887674] LDO5: Failed to create debugfs directory
[    2.887893] LDO6: Failed to create debugfs directory
[    2.888433] P1.1V_LDO_OUT7: Failed to create debugfs directory
[    2.888974] P1.0V_LDO_OUT8: Failed to create debugfs directory
[    2.889193] LDO9: Failed to create debugfs directory
[    2.889847] P1.8V_LDO_OUT10: Failed to create debugfs directory
[    2.890058] LDO11: Failed to create debugfs directory
[    2.890601] P3.0V_LDO_OUT12: Failed to create debugfs directory
[    2.890816] LDO13: Failed to create debugfs directory
[    2.891361] P1.8V_LDO_OUT14: Failed to create debugfs directory
[    2.891904] P1.0V_LDO_OUT15: Failed to create debugfs directory
[    2.892439] P1.8V_LDO_OUT16: Failed to create debugfs directory
[    2.892661] LDO17: Failed to create debugfs directory
[    2.892874] LDO18: Failed to create debugfs directory
[    2.893107] LDO19: Failed to create debugfs directory
[    2.893320] LDO20: Failed to create debugfs directory
[    2.893542] LDO21: Failed to create debugfs directory
[    2.893764] LDO22: Failed to create debugfs directory
[    2.893989] LDO23: Failed to create debugfs directory
[    2.894203] LDO24: Failed to create debugfs directory
[    2.894444] LDO25: Failed to create debugfs directory
[    2.894669] LDO26: Failed to create debugfs directory
[    2.895369] vdd_mif: Failed to create debugfs directory
[    2.896174] vdd_arm: Failed to create debugfs directory
[    2.896968] vdd_int: Failed to create debugfs directory
[    2.897777] vdd_g3d: Failed to create debugfs directory
[    2.898482] P1.8V_BUCK_OUT5: Failed to create debugfs directory
[    2.899196] P1.35V_BUCK_OUT6: Failed to create debugfs directory
[    2.899913] P2.0V_BUCK_OUT7: Failed to create debugfs directory
[    2.900749] P2.85V_BUCK_OUT8: Failed to create debugfs directory
[    2.900981] BUCK9: Failed to create debugfs directory
[    2.901764] Loading iSCSI transport class v2.0-870.
[    2.903900] exynos-dwc3 soc:usb_dwc3: supply vdd33 not found, using dummy regulator
[    2.903965] exynos-dwc3 soc:usb_dwc3: supply vdd10 not found, using dummy regulator
[    2.905122] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.905130] ehci-pci: EHCI PCI platform driver
[    2.905152] ehci-exynos: EHCI Exynos driver
[    2.905458] exynos-ehci 12110000.usb: EHCI Host Controller
[    2.905559] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1
[    2.905710] exynos-ehci 12110000.usb: irq 124, io mem 0x12110000
[    2.926770] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00
[    2.926938] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    2.926946] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.926952] usb usb1: Product: EHCI Host Controller
[    2.926958] usb usb1: Manufacturer: Linux 5.15.120 ehci_hcd
[    2.926962] usb usb1: SerialNumber: 12110000.usb
[    2.927227] hub 1-0:1.0: USB hub found
[    2.927255] hub 1-0:1.0: 3 ports detected
[    2.927638] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.927643] ohci-exynos: OHCI Exynos driver
[    2.927810] exynos-ohci 12120000.usb: USB Host Controller
[    2.927907] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2
[    2.927981] exynos-ohci 12120000.usb: irq 124, io mem 0x12120000
[    3.001005] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.15
[    3.001014] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.001020] usb usb2: Product: USB Host Controller
[    3.001025] usb usb2: Manufacturer: Linux 5.15.120 ohci_hcd
[    3.001029] usb usb2: SerialNumber: 12120000.usb
[    3.001316] hub 2-0:1.0: USB hub found
[    3.001355] hub 2-0:1.0: 3 ports detected
[    3.002100] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.002187] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    3.002559] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
[    3.002609] xhci-hcd xhci-hcd.1.auto: irq 162, io mem 0x12000000
[    3.002619] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.002709] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    3.002718] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    3.002910] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    3.002919] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.002924] usb usb3: Product: xHCI Host Controller
[    3.002929] usb usb3: Manufacturer: Linux 5.15.120 xhci-hcd
[    3.002933] usb usb3: SerialNumber: xhci-hcd.1.auto
[    3.003211] hub 3-0:1.0: USB hub found
[    3.003250] hub 3-0:1.0: 1 port detected
[    3.003558] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    3.003705] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    3.003712] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.003718] usb usb4: Product: xHCI Host Controller
[    3.003723] usb usb4: Manufacturer: Linux 5.15.120 xhci-hcd
[    3.003727] usb usb4: SerialNumber: xhci-hcd.1.auto
[    3.004011] hub 4-0:1.0: USB hub found
[    3.004037] hub 4-0:1.0: 1 port detected
[    3.004316] usbcore: registered new interface driver cdc_acm
[    3.004321] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    3.004347] usbcore: registered new interface driver usblp
[    3.004366] usbcore: registered new interface driver cdc_wdm
[    3.004513] usbcore: registered new interface driver uas
[    3.004558] usbcore: registered new interface driver usb-storage
[    3.004588] usbcore: registered new interface driver ums-cypress
[    3.004607] usbcore: registered new interface driver ums_eneub6250
[    3.004625] usbcore: registered new interface driver ums-freecom
[    3.004642] usbcore: registered new interface driver ums-isd200
[    3.004811] mousedev: PS/2 mouse device common for all mice
[    3.005312] cyapa 1-0067: supply vcc not found, using dummy regulator
[    3.107020] input: Cypress APA Trackpad (cyapa) as /devices/platform/soc/12c70000.i2c/i2c-1/1-0067/input/input0
[    3.235139] max77686-rtc max77686-rtc: registered as rtc0
[    3.267804] max77686-rtc max77686-rtc: setting system clock to 2023-10-12T11:11:15 UTC (1697109075)
[    3.268297] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling
[    3.268457] s3c-rtc 101e0000.rtc: registered as rtc1
[    3.268670] i2c_dev: i2c /dev entries driver
[    3.270533] tps65090 104-0048: No cache defaults, reading back from HW
[    3.274841] tps65090-pmic tps65090-pmic: could not find DCDC external control GPIO
[    3.274853] tps65090-pmic tps65090-pmic: could not find DCDC external control GPIO
[    3.274864] tps65090-pmic tps65090-pmic: could not find DCDC external control GPIO
[    3.274913] TPS65090_RAILSDCDC1: supplied by vbat-supply
[    3.274973] TPS65090_RAILSDCDC1: Failed to create debugfs directory
[    3.275678] TPS65090_RAILSDCDC2: supplied by vbat-supply
[    3.275739] TPS65090_RAILSDCDC2: Failed to create debugfs directory
[    3.276432] TPS65090_RAILSDCDC3: supplied by vbat-supply
[    3.276479] TPS65090_RAILSDCDC3: Failed to create debugfs directory
[    3.277213] vcd_led: Failed to create debugfs directory
[    3.277231] vcd_led: supplied by vbat-supply
[    3.277919] video_mid: supplied by vbat-supply
[    3.279770] video_mid: Failed to create debugfs directory
[    3.280939] wwan_r: supplied by vbat-supply
[    3.282799] wwan_r: Failed to create debugfs directory
[    3.284002] sdcard: Failed to create debugfs directory
[    3.284021] sdcard: supplied by vbat-supply
[    3.285190] camout: supplied by vbat-supply
[    3.286776] usb 3-1: new low-speed USB device number 2 using xhci-hcd
[    3.287052] camout: Failed to create debugfs directory
[    3.288264] lcd_vdd: Failed to create debugfs directory
[    3.288284] lcd_vdd: supplied by vbat-supply
[    3.288959] video_mid_1a: supplied by vbat-supply
[    3.290816] video_mid_1a: Failed to create debugfs directory
[    3.291984] TPS65090_RAILSLDO1: supplied by vbat-supply
[    3.292042] TPS65090_RAILSLDO1: Failed to create debugfs directory
[    3.292066] TPS65090_RAILSLDO2: supplied by vbat-supply
[    3.292112] TPS65090_RAILSLDO2: Failed to create debugfs directory
[    3.292407] i2c i2c-4: Added multiplexed i2c bus 104
[    3.294403] exynos-tmu 10060000.tmu: Regulator node (vtmu) not found
[    3.295230] sdhci: Secure Digital Host Controller Interface driver
[    3.295235] sdhci: Copyright(c) Pierre Ossman
[    3.295350] Synopsys Designware Multimedia Card Interface Driver
[    3.295711] VUB300 Driver rom wait states = 1C irqpoll timeout = 0400
[    3.295911] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
[    3.296102] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
[    3.296153] usbcore: registered new interface driver vub300
[    3.296158] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
[    3.296167] dwmmc_exynos 12200000.mmc: Version ID is 241a
[    3.296183] usbcore: registered new interface driver ushc
[    3.296188] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.296213] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 121,32 bit host data width,128 deep fifo
[    3.296366] mmc_host mmc0: card is non-removable.
[    3.296472] hid: raw HID events driver (C) Jiri Kosina
[    3.296639] usbcore: registered new interface driver usbhid
[    3.296646] usbhid: USB HID core driver
[    3.296802] dwmmc_exynos 12230000.mmc: IDMAC supports 32-bit address mode.
[    3.296844] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
[    3.296853] dwmmc_exynos 12220000.mmc: Version ID is 241a
[    3.296883] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 122,32 bit host data width,128 deep fifo
[    3.297019] dwmmc_exynos 12220000.mmc: Got WP GPIO
[    3.297120] dwmmc_exynos 12230000.mmc: Using internal DMA controller.
[    3.297129] dwmmc_exynos 12230000.mmc: Version ID is 241a
[    3.297154] dwmmc_exynos 12230000.mmc: DW MMC controller at irq 123,32 bit host data width,128 deep fifo
[    3.297269] dwmmc_exynos 12230000.mmc: allocated mmc-pwrseq
[    3.297274] mmc_host mmc2: card is non-removable.
[    3.306783] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[    3.309604] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[    3.309611] mmc_host mmc2: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
[    3.320123] cros-ec-dev cros-ec-dev.3.auto: cannot get EC features: -95/1
[    3.330773] input: cros_ec as /devices/platform/soc/12ca0000.i2c/i2c-4/i2c-104/104-001e/i2c-arbitrator:i2c@0:embedded-controller@1e:keyboard-controller/input/input1
[    3.338644] cros-ec-i2c 104-001e: Chrome EC device registered
[    3.340996] samsung-i2s 3830000.i2s-sec: DMA channels sourced from device 3830000.i2s
[    3.341585] snow-audio sound: Failed parsing codec node
[    3.342078] NET: Registered PF_INET6 protocol family
[    3.343940] Segment Routing with IPv6
[    3.343948] RPL Segment Routing with IPv6
[    3.343990] In-situ OAM (IOAM) with IPv6
[    3.344050] NET: Registered PF_PACKET protocol family
[    3.344240] Key type dns_resolver registered
[    3.344635] ThumbEE CPU extension supported.
[    3.344645] Registering SWP/SWPB emulation handler
[    3.345784] registered taskstats version 1
[    3.345798] Loading compiled-in X.509 certificates
[    3.347085] zswap: loaded using pool zstd/zsmalloc
[    3.347402] Key type .fscrypt registered
[    3.347408] Key type fscrypt-provisioning registered
[    3.348074] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=yes
[    3.351380] OF: graph: no port node found in /soc/hdmi@14530000
[    3.352617] panfrost 11800000.gpu: clock rate = 533000000
[    3.354011] panfrost 11800000.gpu: mali-t600 id 0x600 major 0x0 minor 0x0 status 0x1
[    3.354020] panfrost 11800000.gpu: features: 00000000,10206000, issues: 00000000,31b4dfff
[    3.354027] panfrost 11800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xf JS:0x7
[    3.354035] panfrost 11800000.gpu: shader_present=0xf l2_present=0x1
[    3.355009] [drm] Initialized panfrost 1.2.0 20180908 for 11800000.gpu on minor 1
[    3.355396] snow-audio sound: ASoC: failed to instantiate card -517
[    3.356340] [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
[    3.356383] exynos-drm exynos-drm: bound 14400000.fimd (ops fimd_component_ops)
[    3.356465] exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops)
[    3.356711] exynos-drm exynos-drm: bound 145b0000.dp-controller (ops exynos_dp_ops)
[    3.356731] exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops)
[    3.356780] exynos-rotator 11c00000.rotator: The exynos rotator has been probed successfully
[    3.356786] exynos-drm exynos-drm: bound 11c00000.rotator (ops rotator_component_ops)
[    3.374979] mmc_host mmc2: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
[    3.378130] mmc2: new high speed SDIO card at address 0001
[    3.402611] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0)
[    3.405041] mmc0: new DDR MMC card at address 0001
[    3.405532] mmcblk0: mmc0:0001 SEM16G 14.7 GiB
[    3.409613]  mmcblk0: p1 p2
[    3.410158] mmcblk0boot0: mmc0:0001 SEM16G 2.00 MiB
[    3.411143] mmcblk0boot1: mmc0:0001 SEM16G 2.00 MiB
[    3.411880] mmcblk0rpmb: mmc0:0001 SEM16G 128 KiB, chardev (241:0)
[    3.480033] usb 3-1: New USB device found, idVendor=0458, idProduct=003a, bcdDevice= 1.00
[    3.480044] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.480051] usb 3-1: Product: USB Optical Mouse
[    3.480056] usb 3-1: Manufacturer: Genius
[    3.844908] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
[    3.844981] mmc1: new high speed SD card at address 1234
[    3.845495] mmcblk1: mmc1:1234 SA02G 1.84 GiB
[    3.860251]  mmcblk1: p1 p2
[    4.249264] Console: switching to colour frame buffer device 170x48
[    4.307443] exynos-drm exynos-drm: [drm] fb0: exynosdrmfb frame buffer device
[    4.307737] [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 2
[    4.308200] snow-audio sound: ASoC: failed to instantiate card -517
[    4.308603] snow-audio sound: ASoC: failed to instantiate card -517
[    4.309281] input: gpio-keys as /devices/platform/gpio-keys/input/input3
[    4.310714] ALSA device list:
[    4.310727]   No soundcards found.
[    4.310820] snow-audio sound: ASoC: failed to instantiate card -517
[    4.312720] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    4.312731] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem in 1th superblock
[    4.313055] F2FS-fs (mmcblk0p2): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    4.313062] F2FS-fs (mmcblk0p2): Can't find valid F2FS filesystem in 2th superblock
[    4.313443] BTRFS: device fsid ffffffff-ffff-ffff-ffff-ffffffffffff devid 1 transid 168006 /dev/root scanned by swapper/0 (1)
[    4.313891] BTRFS info (device mmcblk0p2): using crc32c (crc32c-generic) checksum algorithm
[    4.313916] BTRFS info (device mmcblk0p2): disk space caching is enabled
[    4.313922] BTRFS info (device mmcblk0p2): has skinny extents
[    4.332609] BTRFS info (device mmcblk0p2): enabling ssd optimizations
[    4.335772] VFS: Mounted root (btrfs filesystem) on device 0:16.
[    4.336605] devtmpfs: mounted
[    4.337260] Freeing unused kernel image (initmem) memory: 2048K
[    4.346963] Run /sbin/init as init process
[    4.346968]   with arguments:
[    4.346970]     /sbin/init
[    4.346973]     cros_secure
[    4.346976]   with environment:
[    4.346979]     HOME=/
[    4.346981]     TERM=linux
[    4.346984]     audit=0
[    5.347612] udevd[340]: starting version 3.2.9
[    5.381523] random: udevd: uninitialized urandom read (16 bytes read)
[    5.382389] random: udevd: uninitialized urandom read (16 bytes read)
[    5.382442] random: udevd: uninitialized urandom read (16 bytes read)
[    5.439849] udevd[342]: starting eudev-3.2.9
[    5.672779] snow-audio sound: ASoC: failed to instantiate card -517
[    5.721799] s5p-secss 10830000.sss: s5p-sss driver registered
[    5.740609] s3c2410-wdt 101d0000.watchdog: watchdog inactive, reset disabled, irq disabled
[    5.760542] max98095 7-0011: Hardware revision: C
[    5.769130] max98095 7-0011: ASoC: mux External MIC has no paths
[    5.769142] max98095 7-0011: ASoC: mux Linein Mux has no paths
[    5.776240] s5p-mfc 11000000.codec: Adding to iommu group 3
[    5.782086] s5p-mfc 11000000.codec: preallocated 8 MiB buffer for the firmware and context buffers
[    5.831477] s5p-mfc 11000000.codec: decoder registered as /dev/video0
[    5.832271] s5p-mfc 11000000.codec: encoder registered as /dev/video1
[    5.943335] atmel_mxt_ts 1-004b: supply vdda not found, using dummy regulator
[    5.943457] atmel_mxt_ts 1-004b: supply vdd not found, using dummy regulator
[    5.943577] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.943727] genirq: Flags mismatch irq 163. 00082002 (maxtouch) vs. 00002002 (cyapa)
[    5.943797] atmel_mxt_ts 1-004b: Failed to register interrupt
[    5.971380] cfg80211: Loaded X.509 cert 'sforshee: '
[    5.991462] Bluetooth: Core ver 2.22
[    5.991502] NET: Registered PF_BLUETOOTH protocol family
[    5.991506] Bluetooth: HCI device and connection manager initialized
[    5.991516] Bluetooth: HCI socket layer initialized
[    5.991523] Bluetooth: L2CAP socket layer initialized
[    5.991530] Bluetooth: SCO socket layer initialized
[    5.993290] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[    5.996982] atmel_mxt_ts: probe of 1-004b failed with error -16
[    5.997275] atmel_mxt_ts 1-0025: supply vdda not found, using dummy regulator
[    5.997403] atmel_mxt_ts 1-0025: supply vdd not found, using dummy regulator
[    5.998931] genirq: Flags mismatch irq 163. 00082002 (maxtouch) vs. 00002002 (cyapa)
[    5.999007] atmel_mxt_ts 1-0025: Failed to register interrupt
[    5.999203] atmel_mxt_ts: probe of 1-0025 failed with error -16
[    6.001357] BTRFS info: devid 1 device path /dev/root changed to /dev/mmcblk0p2 scanned by udevd (352)
[    6.007844] Bluetooth: vendor=0x2df, device=0x912a, class=255, fn=2
[    6.063556] sbs-battery 104-000b: sbs-battery: battery gas gauge device registered
[    6.080870] cros-ec-pchg cros-ec-pchg.7.auto: Unable to get number or ports (err:-95)
[    6.080885] cros-ec-pchg cros-ec-pchg.7.auto: No peripheral charge ports (err:-95)
[    6.101698] tps65090-charger tps65090-charger: DMA mask not set
[    6.101964] tps65090-charger tps65090-charger: IRQ index 0 not found
[    6.127773] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[    6.153458] exynos-gsc 13e00000.gsc: Adding to iommu group 4
[    6.158637] exynos-gsc 13e10000.gsc: Adding to iommu group 5
[    6.159141] exynos-gsc 13e20000.gsc: Adding to iommu group 6
[    6.159643] exynos-gsc 13e30000.gsc: Adding to iommu group 7
[    6.161016] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[    6.220508] BTRFS: device label rootfs devid 1 transid 273 /dev/mmcblk1p2 scanned by udevd (351)
[    6.436782] random: crng init done
[    6.436791] random: 8 urandom warning(s) missed due to ratelimiting
[    6.640847] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[    6.647277] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[    6.677507] mwifiex_sdio mmc2:0001:1: info: FW download over, size 462708 bytes
[    7.046817] mwifiex_sdio mmc2:0001:1: WLAN FW is active
[    7.406891] btmrvl_sdio mmc2:0001:2: sdio device tree data not available
[    7.454384] mwifiex_sdio mmc2:0001:1: CMD_RESP: cmd 0x242 error, result=0x2
[    7.454402] mwifiex_sdio mmc2:0001:1: mwifiex_process_cmdresp: cmd 0x242 failed during  initialization
[    7.507235] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (14.66.27.p18)
[    7.507246] mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (14.66.27.p18)
[    9.971187] BTRFS info (device mmcblk0p2): use zstd compression, level 3
[   10.286224] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com
[   27.349773] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[   28.805800] power_supply sbs-104-000b: driver failed to report `technology' property: -74
[   28.813585] power_supply sbs-104-000b: driver failed to report `manufacturer' property: -74
[   28.821271] power_supply sbs-104-000b: driver failed to report `model_name' property: -74
[   29.095600] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid 
[   29.113276] mwifiex_sdio mmc2:0001:1: info: associated to bssid successfully
[   29.132385] IPv6: ADDRCONF(NETDEV_CHANGE): mlan0: link becomes ready
[   29.137003] mwifiex_sdio mmc2:0001:1: CMD_RESP: cmd 0x23f error, result=0x2
[   69.611341] mwifiex_sdio mmc2:0001:1: CMD_RESP: cmd 0x23f error, result=0x2

@Marietto2008
Copy link
Author

is the panfrost driver the same as the mali driver ?

@quarkscript2
Copy link

quarkscript2 commented Oct 12, 2023

panfrost is a driver for ARM Mali Midgard (T6xx, T7xx, T8xx)
Exynos 5250 has embedded Mali T604 GPU

@Marietto2008
Copy link
Author

Which one is suitable for our ARM Chromebook ? which one is more powerful ?

@quarkscript2
Copy link

panfrost only, at least on kernels >=5.x

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

Despite some gpu regulator errors (that you don't have) , it seems to work :

root@devuan-bunsen:~# dmesg | grep panfrost

[    0.378992] panfrost 11800000.gpu: clock rate = 533000000
[    0.379769] panfrost 11800000.gpu: failed to get regulator: -517
[    0.380517] panfrost 11800000.gpu: regulator init failed -517
[    1.149575] panfrost 11800000.gpu: clock rate = 533000000
[    1.150987] panfrost 11800000.gpu: mali-t600 id 0x600 major 0x0 minor 0x0 status 0x1
[    1.152132] panfrost 11800000.gpu: features: 00000000,10206000, issues: 00000000,31b4dfff
[    1.153271] panfrost 11800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xf JS:0x7
[    1.154476] panfrost 11800000.gpu: shader_present=0xf l2_present=0x1
[    1.158799] [drm] Initialized panfrost 1.1.0 20180908 for 11800000.gpu on minor 0

what Linux version and kernel are you running ? I also see that you use panfrost 2.0,I'm using 1.1....any idea about how to upgrade it to 2.0 like your ?

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

@aneeshlingala : do you know how to upgrade panfrost 1.1 to 2.0 to fix my "gpu regulator" errors ?

@quarkscript2
Copy link

Devuan (4) Chimaera / Linux kernel 5.15.120 / panfrost 1.2.0
panfrost could be even newer in case you could backported driver from newer kernel ver.

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

That's interesting. I'm stuck to kernel 5.4 (but I'm using devuan 5) because I want to run qemu + kvm,so I'm forced to use panfrost 1.1,I presume. Do you know if there are some specific packages to install that can upgrade panfrost ? OR maybe I can install it from source code :

https://gitlab.freedesktop.org/panfrost/linux/tree/panfrost-5.0-rc4

@quarkscript2
Copy link

No, I don't know.
In general you may try to extract patch from specific (git) source and try to apply it to other source. The result will depends on a lot of factors so it is not very predictable. By the way that link leading to Linux kernel 5.0-rc4 where panfrost was implemented and not to panfrost ver 5.0-rc4.
GPU regulator is for power and performance modulating. When no regulator is available or used dummy you got full or low consumption/perf of GPU. Currently it at full power, since dmesg says GPU freq is 533 MHz and that is a maximum. In any way, without mesa support it does not matter. Only old patched mesa has partial support of it. Fresh mesa dropped even a detection of mali t604. I was trying to force fresh mesa detect mali t604 but it turns unusable, screen was artifacted. That is why i still use oldstable Devuan on it (and patched mesa).

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

The very latest Linux kernel release contains version 1.2, as you can see :

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/panfrost/panfrost_drv.c?h=v6.5.7#n522


/*
 * Panfrost driver version:
 * - 1.0 - initial interface
 * - 1.1 - adds HEAP and NOEXEC flags for CREATE_BO
 * - 1.2 - adds AFBC_FEATURES query
 */
static const struct drm_driver panfrost_drm_driver = {
    .driver_features    = DRIVER_RENDER | DRIVER_GEM | DRIVER_SYNCOBJ,
    .open            = panfrost_open,
    .postclose        = panfrost_postclose,
    .ioctls            = panfrost_drm_driver_ioctls,
    .num_ioctls        = ARRAY_SIZE(panfrost_drm_driver_ioctls),
    .fops            = &panfrost_drm_driver_fops,
    .name            = "panfrost",
    .desc            = "panfrost DRM",
    .date            = "20180908",
    .major            = 1,
    .minor            = 2,

It's being developed in a repository somewhere which despite some searching , I haven't been able to locate.

@quarkscript2
Copy link

The last mesa not supported mali t604 even if panfrost driver do https://docs.mesa3d.org/drivers/panfrost.html
Mesa is an intermediate layer between apps and video drivers.

It is possible to take something like this

diff -Naur linux5.4/drivers/gpu/drm/exynos linux6.5/drivers/gpu/drm/exynos > patch 
diff -Naur linux5.4/drivers/gpu/drm/panfrost linux6.5/drivers/gpu/drm/panfrost >> patch 
diff -Nau linux5.4/drivers/gpu/drm linux6.5/drivers/gpu/drm >> patch  

and investigate changes on driver source code

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

I've downloaded all the files of panfrost 1.2 from here:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/panfrost/panfrost_drv.c?h=v6.5.7#n522

and I tried to compile it :

# ls

Kconfig             panfrost_device.h    panfrost_gem.c           panfrost_issues.h  panfrost_perfcnt.c
Makefile            panfrost_drv.c       panfrost_gem.h           panfrost_job.c     panfrost_perfcnt.h
panfrost_devfreq.c  panfrost_dump.c      panfrost_gem_shrinker.c  panfrost_job.h     panfrost_regs.h
panfrost_devfreq.h  panfrost_dump.h      panfrost_gpu.c           panfrost_mmu.c     TODO
panfrost_device.c   panfrost_features.h  panfrost_gpu.h           panfrost_mmu.h

root@devuan-bunsen:/mnt/zroot2/zroot2/OS/Chromebook/misti/panfrost-1.2# make
make: *** no Target : stop

maybe I can compile it in a different way ?

@aneeshlingala
Copy link

aneeshlingala commented Oct 13, 2023

@aneeshlingala : do you know how to upgrade panfrost 1.1 to 2.0 to fix my "gpu regulator" errors ?

You can't upgrade because of older kernel and mesa version. But, if you rebuild the kernel with changes from 5.4 lts mainline and switch to devuan ceres with newer mesa, it may work

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 13, 2023

I'm already using the kernel 5.4 lts. So,what I can try is to upgrade devuan daedalus to devuan ceres ? I see that the new mesa libraries aren't on the backports of the devuan 5. Is this correct ? Can I compile the mesa libraries from sources ? maybe this is a faster and easier route.

@aneeshlingala
Copy link

aneeshlingala commented Oct 13, 2023 via email

@aneeshlingala
Copy link

And also, there is a 5.15 kernel, why not use that?

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 14, 2023

As you probably know, on Arm 32 , KVM does not work anymore for kernels higher than 5.4. For this reason I have installed a 5.4 kernel. I've enabled the panfrost driver on the kernel and I've seen that it is version 1.1 but I know that the latest version available is 1.2 and I would like to find a way to upgrade it. Every method is ok,but don't ask me to use a greater kernel version because I can't. What I tried to do right now has been the following :

# root@devuan-bunsen:/Dati# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.258.tar.xz

I've downloaded all the files of panfrost 1.2 from here:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpu/drm/panfrost/panfrost_drv.c?h=v6.5.7

I went on this directory : /Dati/linux-5.4.257/drivers/gpu/drm

and I have delete all the files stored inside the old panfrost directory and I have copied inside of it all the files listed above and I tried to compile the whole kernel :

# cd linux-5.4.258

# root@devuan-bunsen:/Dati/linux-5.4.258# make zImage modules dtbs uImage LOADADDR=0x42004000

Unfortunately the panfrost driver can't be compiled :

CC      drivers/gpu/drm/panfrost/panfrost_drv.o
drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_ioctl_get_param’:
drivers/gpu/drm/panfrost/panfrost_drv.c:35:14: error: ‘DRM_PANFROST_PARAM_AFBC_FEATURES’ undeclared (first use
in this function); did you mean ‘DRM_PANFROST_PARAM_MMU_FEATURES’?
  35 |         case DRM_PANFROST_PARAM_ ## name:               \
     |              ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c:66:17: note: in expansion of macro ‘PANFROST_FEATURE’
  66 |                 PANFROST_FEATURE(AFBC_FEATURES, afbc_features);
     |                 ^~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c:35:14: note: each undeclared identifier is reported only once for each
function it appears in
  35 |         case DRM_PANFROST_PARAM_ ## name:               \
     |              ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c:66:17: note: in expansion of macro ‘PANFROST_FEATURE’
  66 |                 PANFROST_FEATURE(AFBC_FEATURES, afbc_features);
     |                 ^~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_copy_in_sync’:
drivers/gpu/drm/panfrost/panfrost_drv.c:223:23: error: implicit declaration of function ‘drm_sched_job_add_syn
cobj_dependency’ [-Werror=implicit-function-declaration]
 223 |                 ret = drm_sched_job_add_syncobj_dependency(&job->base, file_priv,
     |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_ioctl_wait_bo’:
drivers/gpu/drm/panfrost/panfrost_drv.c:322:15: error: implicit declaration of function ‘dma_resv_wait_timeout
’; did you mean ‘dma_resv_wait_timeout_rcu’? [-Werror=implicit-function-declaration]
 322 |         ret = dma_resv_wait_timeout(gem_obj->resv, DMA_RESV_USAGE_READ,
     |               ^~~~~~~~~~~~~~~~~~~~~
     |               dma_resv_wait_timeout_rcu
drivers/gpu/drm/panfrost/panfrost_drv.c:322:52: error: ‘DMA_RESV_USAGE_READ’ undeclared (first use in this fun
ction)
 322 |         ret = dma_resv_wait_timeout(gem_obj->resv, DMA_RESV_USAGE_READ,
     |                                                    ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_ioctl_madvise’:
drivers/gpu/drm/panfrost/panfrost_drv.c:434:48: error: passing argument 1 of ‘drm_gem_shmem_madvise’ from inco
mpatible pointer type [-Werror=incompatible-pointer-types]
 434 |         args->retained = drm_gem_shmem_madvise(&bo->base, args->madv);
     |                                                ^~~~~~~~~
     |                                                |
     |                                                struct drm_gem_shmem_object *
In file included from drivers/gpu/drm/panfrost/panfrost_gem.h:7,
                from drivers/gpu/drm/panfrost/panfrost_drv.c:17:
./include/drm/drm_gem_shmem_helper.h:140:50: note: expected ‘struct drm_gem_object *’ but argument is of type
‘struct drm_gem_shmem_object *’
 140 | int drm_gem_shmem_madvise(struct drm_gem_object *obj, int madv);
     |                           ~~~~~~~~~~~~~~~~~~~~~~~^~~
drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_probe’:
drivers/gpu/drm/panfrost/panfrost_drv.c:570:30: warning: passing argument 1 of ‘drm_dev_alloc’ discards ‘const
’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 570 |         ddev = drm_dev_alloc(&panfrost_drm_driver, &pdev->dev);
     |                              ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/panfrost/panfrost_drv.c:11:
./include/drm/drm_drv.h:791:53: note: expected ‘struct drm_driver *’ but argument is of type ‘const struct drm
_driver *’
 791 | struct drm_device *drm_dev_alloc(struct drm_driver *driver,
     |                                  ~~~~~~~~~~~~~~~~~~~^~~~~~
drivers/gpu/drm/panfrost/panfrost_drv.c: At top level:
drivers/gpu/drm/panfrost/panfrost_drv.c:723:27: error: implicit declaration of function ‘pm_ptr’; did you mean
‘si_ptr’? [-Werror=implicit-function-declaration]
 723 |                 .pm     = pm_ptr(&panfrost_pm_ops),
     |                           ^~~~~~
     |                           si_ptr
drivers/gpu/drm/panfrost/panfrost_drv.c:723:27: warning: initialization of ‘const struct dev_pm_ops *’ from ‘i
nt’ makes pointer from integer without a cast [-Wint-conversion]
drivers/gpu/drm/panfrost/panfrost_drv.c:723:27: note: (near initialization for ‘panfrost_driver.driver.pm’)
drivers/gpu/drm/panfrost/panfrost_drv.c:723:27: error: initializer element is not constant
drivers/gpu/drm/panfrost/panfrost_drv.c:723:27: note: (near initialization for ‘panfrost_driver.driver.pm’)
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:262: drivers/gpu/drm/panfrost/panfrost_drv.o] Errore 1
make[3]: *** [scripts/Makefile.build:497: drivers/gpu/drm/panfrost] Errore 2
make[2]: *** [scripts/Makefile.build:497: drivers/gpu/drm] Errore 2
make[1]: *** [scripts/Makefile.build:497: drivers/gpu] Errore 2
make: *** [Makefile:1750: drivers] Errore 2

Can I do something to be able to compile it succesfully ? Thanks.

@quarkscript2
Copy link

You may backported it but i am not a 'c' dev so cannot help.
I still don't get it what is this for.

Screenshot from 2023-10-14 17-02-14

this kernel from #18 (comment) (does not work with fresh btrfs filesystem, use ext4 instead); config there too

@Marietto2008
Copy link
Author

Marietto2008 commented Oct 14, 2023

Someone told me that I should upgrade devuan 5 daedalus to devuan ceres. This operation should be done because I should upgrade the mesa libraries. But it's not enough. I should also install a newer kernel (at least 5.15) that will install the panfrost ko module 1.2,but I can't do it. So,I think I will keep vers. 1.1.

@Marietto2008
Copy link
Author

I've found these instructions that can be used to compile and build the panfrost driver from the source code :

https://gist.github.com/tstellanova/6f7844379e358ee81b89cf6937ea8139

but I'm not sure if they are valid also for arm v7.

@Marietto2008 Marietto2008 changed the title How to enable the MALI driver on the ARM Chromebook. How to upgrade the panfrost driver on the ARM Chromebook from 1.1 to 1.2 Oct 17, 2023
@quarkscript2
Copy link

You are confusing the panfrost kernel driver with the panfrost mesa driver. The mesa driver works in conjunction with the kernel driver, but by itself it does not replace the kernel driver.

You may rebuild mesa on any debian based distro like this:

# prepare section
sudo apt install dpkg-dev devscripts

apt-get source libegl-mesa0 libegl1 libgl1-mesa-dri libglapi-mesa libglu1-mesa libglvnd0 libglx-mesa0 libglx0 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers

apt build-dep libegl-mesa0 libegl1 libgl1-mesa-dri libglapi-mesa libglu1-mesa libglvnd0 libglx-mesa0 libglx0 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers

cd mesa-*

# you may apply any patches and modificate configs now, bufore build section

# build section
debuild -b -uc -us

In case of succes you wil get all mesa packages (mesa-*.deb)
At least it works for me.
It is possible to switch repo links, do apt update and build ver from other branch or other distro. How it will work that is another question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants