Index | Thread | Search

From:
Landry Breuil <landry@openbsd.org>
Subject:
Re: smmu(4) on QC Laptops
To:
Patrick Wildt <patrick@blueri.se>
Cc:
tech@openbsd.org, kettenis@openbsd.org, tobhe@openbsd.org, mlarkin@openbsd.org
Date:
Fri, 23 May 2025 17:47:56 +0200

Download raw body.

Thread
  • Kirill A. Korinsky:

    smmu(4) on QC Laptops

  • Le Fri, May 23, 2025 at 04:55:48PM +0200, Patrick Wildt a écrit :
    > On Fri, May 23, 2025 at 01:56:22PM +0200, Landry Breuil wrote:
    > > Le Fri, May 23, 2025 at 10:22:19AM +0200, Patrick Wildt a ?crit :
    > > > On Fri, May 23, 2025 at 09:20:52AM +0200, Landry Breuil wrote:
    > > > > Le Fri, May 23, 2025 at 08:46:16AM +0200, Patrick Wildt a ?crit :
    > > > > > Hi,
    > > > > > 
    > > > > > Nearly three years ago we disabled smmu(4) for QC laptops because they
    > > > > > just rebooted instantly.  I've finally gone to the bottom of why this
    > > > > > happens.
    > > > > <snip>
    > > > > > Please give this a go on machines where `dmesg | grep ^smmu' gives
    > > > > > output, and especially on QC machines with X1E, or SC8280XP/ThinkPad
    > > > > > x13s.  Please send me some dmesgs, as I have added some debug code
    > > > > > that I'd like to see run on other machines. :)
    > > > > 
    > > > > doesnt blow up on the hp omnibook, dmesg below.
    > > > 
    > > > I forgot to mention, this needs a `make config` because of the early
    > > > attach change that I forgot to mention, otherwise smmu1 pops up too
    > > > late :/  Can you give it another try?  Thanks!
    > > 
    > > unless i did something very wrong, make config && make && make install
    > > && reboot gives the same dmesg order for smmuX. what should i see
    > > different ?
    > 
    > It's not you, it's me.  I'm sorry, I missed a tiny chunk that's in conf/
    > and I was sooo sure it was part of the mail.  Same diff + the chunk for
    > conf/:
    
    indeed that's much betterer, new dmesg below, with different order and
    more smmuX debug messages.
    
    OpenBSD 7.7-current (GENERIC.MP) #13: Fri May 23 17:43:50 CEST 2025
        landry@turia.rhaalovely.net:/usr/src/sys/arch/arm64/compile/GENERIC.MP
    real mem  = 16355344384 (15597MB)
    avail mem = 15808593920 (15076MB)
    random: good seed from bootblocks
    mainbus0 at root: HP Omnibook X 14
    psci0 at mainbus0: PSCI 1.1, SMCCC 1.3, SYSTEM_SUSPEND
    efi0 at mainbus0: UEFI 2.9
    efi0: INSYDE Corp. rev 0x0
    smbios0 at efi0: SMBIOS 3.6.0
    smbios0: vendor Insyde version "F.10" date 08/29/2024
    smbios0: HP HP OmniBook X Laptop 14-fe0xxx
    cpu0 at mainbus0 mpidr 0: Qualcomm Oryon r2p1
    cpu0: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu0: 12288KB 64b/line 12-way L2 cache
    cpu0: RNDR,TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SM4,SM3,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,I8MM,BF16,SPECRES,SB,FRINTTS,GPA,LRCPC+LDAPUR,FCMA,JSCVT,APA+EPAC2+FPAC+COMBINED,DPB+DCCVADP,CLRBHB,RPRES,ECV+CNTHCTL,ASID16,AFP,SpecSEI,PAN+ATS1E1+EPAN,LO,HPDS,VH,IDS,AT,CSV3,CSV2,DIT,RASv1p1,AdvSIMD+HP,FP+HP,BT,SSBS+MSR
    cpu1 at mainbus0 mpidr 100: Qualcomm Oryon r2p1
    cpu1: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu1: 12288KB 64b/line 12-way L2 cache
    cpu2 at mainbus0 mpidr 200: Qualcomm Oryon r2p1
    cpu2: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu2: 12288KB 64b/line 12-way L2 cache
    cpu3 at mainbus0 mpidr 300: Qualcomm Oryon r2p1
    cpu3: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu3: 12288KB 64b/line 12-way L2 cache
    cpu4 at mainbus0 mpidr 10000: Qualcomm Oryon r1p1
    cpu4: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu4: 12288KB 64b/line 12-way L2 cache
    cpu5 at mainbus0 mpidr 10100: Qualcomm Oryon r1p1
    cpu5: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu5: 12288KB 64b/line 12-way L2 cache
    cpu6 at mainbus0 mpidr 10200: Qualcomm Oryon r1p1
    cpu6: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu6: 12288KB 64b/line 12-way L2 cache
    cpu7 at mainbus0 mpidr 10300: Qualcomm Oryon r1p1
    cpu7: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu7: 12288KB 64b/line 12-way L2 cache
    cpu8 at mainbus0 mpidr 20000: Qualcomm Oryon r1p1
    cpu8: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu8: 12288KB 64b/line 12-way L2 cache
    cpu9 at mainbus0 mpidr 20100: Qualcomm Oryon r1p1
    cpu9: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu9: 12288KB 64b/line 12-way L2 cache
    cpu10 at mainbus0 mpidr 20200: Qualcomm Oryon r1p1
    cpu10: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu10: 12288KB 64b/line 12-way L2 cache
    cpu11 at mainbus0 mpidr 20300: Qualcomm Oryon r1p1
    cpu11: 192KB 64b/line 6-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache
    cpu11: 12288KB 64b/line 12-way L2 cache
    qcscm0 at mainbus0
    scmi0 at mainbus0
    "gunyah-hyp" at mainbus0 not configured
    "hyp-elf-package" at mainbus0 not configured
    "ncc" at mainbus0 not configured
    "cpucp-log" at mainbus0 not configured
    "cpucp" at mainbus0 not configured
    "reserved-region" at mainbus0 not configured
    "tags-region" at mainbus0 not configured
    "xbl-dtlog" at mainbus0 not configured
    "xbl-ramdump" at mainbus0 not configured
    "aop-image" at mainbus0 not configured
    "aop-cmd-db" at mainbus0 not configured
    "aop-config" at mainbus0 not configured
    "tme-crash-dump" at mainbus0 not configured
    "tme-log" at mainbus0 not configured
    "uefi-log" at mainbus0 not configured
    "secdata-apss" at mainbus0 not configured
    "pdp-ns-shared" at mainbus0 not configured
    "gpu-prr" at mainbus0 not configured
    "tpm-control" at mainbus0 not configured
    "usb-ucsi-shared" at mainbus0 not configured
    "pld-pep" at mainbus0 not configured
    "pld-gmu" at mainbus0 not configured
    "pld-pdp" at mainbus0 not configured
    "tz-stat" at mainbus0 not configured
    "xbl-tmp-buffer" at mainbus0 not configured
    "adsp-rpc-remote-heap" at mainbus0 not configured
    "spu-secure-shared-memory" at mainbus0 not configured
    "adsp-boot-dtb" at mainbus0 not configured
    "spss-region" at mainbus0 not configured
    "adsp-boot" at mainbus0 not configured
    "video" at mainbus0 not configured
    "adspslpi" at mainbus0 not configured
    "q6-adsp-dtb" at mainbus0 not configured
    "cdsp" at mainbus0 not configured
    "q6-cdsp-dtb" at mainbus0 not configured
    "gpu-microcode" at mainbus0 not configured
    "cvp" at mainbus0 not configured
    "camera" at mainbus0 not configured
    "av1-encoder" at mainbus0 not configured
    "reserved-region" at mainbus0 not configured
    "wpss" at mainbus0 not configured
    "q6-wpss-dtb" at mainbus0 not configured
    "xbl-sc" at mainbus0 not configured
    "reserved-region" at mainbus0 not configured
    "qtee" at mainbus0 not configured
    "ta" at mainbus0 not configured
    "tags" at mainbus0 not configured
    "llcc-lpi" at mainbus0 not configured
    qcsmem0 at mainbus0
    "linux,cma" at mainbus0 not configured
    apm0 at mainbus0
    "clocks" at mainbus0 not configured
    "firmware" at mainbus0 not configured
    "interconnect-0" at mainbus0 not configured
    "interconnect-1" at mainbus0 not configured
    "pmu" at mainbus0 not configured
    "opp-table-qup100mhz" at mainbus0 not configured
    "opp-table-qup120mhz" at mainbus0 not configured
    qcsmptp0 at mainbus0
    qcsmptp1 at mainbus0
    simplebus0 at mainbus0: "soc"
    qcmtx0 at simplebus0
    syscon0 at simplebus0: "clock-controller"
    smmu0 at simplebus0: 22 CBs (0 S2-only), bypass quirk
    qcgpio0 at simplebus0
    smmu1 at simplebus0: 74 CBs (0 S2-only), bypass quirk
    smmu1: SMR[0] = 0x1a0/0x0
    smmu1: SMR[1] = 0x520/0x0
    smmu1: SMR[2] = 0x160/0x0
    smmu1: SMR[3] = 0x1420/0x0
    smmu1: SMR[4] = 0x1460/0x0
    smmu1: SMR[5] = 0x14a0/0x0
    smmu1: SMR[6] = 0x1400/0x0
    smmu1: SMR[7] = 0x14e0/0x0
    smmu1: SMR[8] = 0x1c00/0x2
    smmu1: SMR[9] = 0x480/0x0
    agintc0 at simplebus0 shift 4:4 nirq 1024 nredist 12 ipi: 0, 1, 2: "interrupt-controller"
    agintcmsi0 at agintc0
    "clock-controller" at simplebus0 not configured
    qcipcc0 at simplebus0
    smmu1: establishing sid 0x423
    simplebus1 at simplebus0: "geniqup"
    smmu1: establishing sid 0x123
    simplebus2 at simplebus0: "geniqup"
    qciic0 at simplebus2
    iic0 at qciic0
    ihidev0 at iic0 addr 0x10 irq, vendor 0x4f3 product 0x4329, hid-over-i2c
    ihidev0: 14 report ids
    ims0 at ihidev0 reportid 1: 1 button, tip
    wsmouse0 at ims0 mux 0
    hid at ihidev0 reportid 2 not configured
    hid at ihidev0 reportid 3 not configured
    hid at ihidev0 reportid 4 not configured
    hid at ihidev0 reportid 6 not configured
    hid at ihidev0 reportid 10 not configured
    hid at ihidev0 reportid 14 not configured
    qciic1 at simplebus2
    iic1 at qciic1
    smmu1: establishing sid 0x443
    simplebus3 at simplebus0: "geniqup"
    qciic2 at simplebus3
    iic2 at qciic2
    ihidev1 at iic2 addr 0x3a irq, vendor 0x416 product 0xc300, hid-over-i2c
    ihidev1: 9 report ids
    ikbd0 at ihidev1 reportid 8: 8 variable keys, 6 key codes
    wskbd0 at ikbd0: console keyboard
    icc0 at ihidev1 reportid 9: 573 usages, 20 keys, array
    wskbd1 at icc0 mux 1
    ihidev2 at iic2 addr 0x15 irq, vendor 0x4f3 product 0x32ed, hid-over-i2c
    ihidev2: 92 report ids
    imt0 at ihidev2
    imt0: invalid max X/Y 0/0
    ims1 at ihidev2 reportid 1: 2 buttons
    wsmouse1 at ims1 mux 0
    hid at ihidev2 reportid 5 not configured
    hid at ihidev2 reportid 7 not configured
    hid at ihidev2 reportid 11 not configured
    hid at ihidev2 reportid 12 not configured
    hid at ihidev2 reportid 13 not configured
    ims2 at ihidev2 reportid 14: 0 buttons
    wsmouse2 at ims2 mux 0
    hid at ihidev2 reportid 84 not configured
    hid at ihidev2 reportid 92 not configured
    qciic3 at simplebus3
    iic3 at qciic3
    qciic4 at simplebus3
    iic4 at qciic4
    qciic5 at simplebus3
    iic5 at qciic5
    qciic6 at simplebus3
    iic6 at qciic6
    qciic7 at simplebus3
    iic7 at qciic7
    qctsens0 at simplebus0
    qctsens1 at simplebus0
    qctsens2 at simplebus0
    qctsens3 at simplebus0
    "phy" at simplebus0 not configured
    "phy" at simplebus0 not configured
    "phy" at simplebus0 not configured
    "phy" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    dwpcie0 at simplebus0
    "phy" at simplebus0 not configured
    dwpcie1 at simplebus0
    "phy" at simplebus0 not configured
    "crypto" at simplebus0 not configured
    smmu0: establishing sid 0x0
    "gpu" at simplebus0 not configured
    smmu0: establishing sid 0x5
    "gmu" at simplebus0 not configured
    "clock-controller" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "codec" at simplebus0 not configured
    "codec" at simplebus0 not configured
    "codec" at simplebus0 not configured
    "codec" at simplebus0 not configured
    "clock-controller" at simplebus0 not configured
    "codec" at simplebus0 not configured
    "pinctrl" at simplebus0 not configured
    "clock-controller" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    "interconnect" at simplebus0 not configured
    qcdwusb0 at simplebus0: "usb"
    smmu1: establishing sid 0x1400
    smmu1: took over 6/1400/0 for sid 1400
    xhci0 at qcdwusb0, xHCI 1.10
    usb0 at xhci0: USB revision 3.0
    uhub0 at usb0 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
    qcdwusb1 at simplebus0: "usb"
    smmu1: establishing sid 0x1420
    smmu1: took over 3/1420/0 for sid 1420
    xhci1 at qcdwusb1, xHCI 1.10
    usb1 at xhci1: USB revision 3.0
    uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
    qcdwusb2 at simplebus0: "usb"
    smmu1: establishing sid 0x1460
    smmu1: took over 4/1460/0 for sid 1460
    xhci2 at qcdwusb2, xHCI 1.10
    usb2 at xhci2: USB revision 3.0
    uhub2 at usb2 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
    smmu1: establishing sid 0x1c00
    smmu1: took over 8/1c00/2 for sid 1c00
    "display-subsystem" at simplebus0 not configured
    "phy" at simplebus0 not configured
    "clock-controller" at simplebus0 not configured
    qcpdc0 at simplebus0
    qcaoss0 at simplebus0
    "sram" at simplebus0 not configured
    qcspmi0 at simplebus0
    qcpmic0 at qcspmi0 sid 0x0
    qcpon0 at qcpmic0
    qcrtc0 at qcpmic0
    qcsdam0 at qcpmic0
    qcpmicgpio0 at qcpmic0: no pins
    qcpmic1 at qcspmi0 sid 0x1
    qcpmicgpio1 at qcpmic1: no pins
    qcpwm0 at qcpmic1
    qcpmic2 at qcspmi0 sid 0x2
    qcpmicgpio2 at qcpmic2: no pins
    qcpmic3 at qcspmi0 sid 0x3
    qcpmicgpio3 at qcpmic3: no pins
    qcpmic4 at qcspmi0 sid 0x4
    qcpmicgpio4 at qcpmic4: no pins
    qcpmic5 at qcspmi0 sid 0x5
    qcpmicgpio5 at qcpmic5: no pins
    qcpmic6 at qcspmi0 sid 0x6
    qcpmicgpio6 at qcpmic6: no pins
    qcpmic7 at qcspmi0 sid 0x8
    qcpmicgpio7 at qcpmic7: no pins
    qcpmic8 at qcspmi0 sid 0x9
    qcpmicgpio8 at qcpmic8: no pins
    qcpmic9 at qcspmi0 sid 0xc: unknown PMIC type
    qccpucp0 at simplebus0
    "rsc" at simplebus0 not configured
    "timer" at simplebus0 not configured
    "sram" at simplebus0 not configured
    "pmu" at simplebus0 not configured
    "pmu" at simplebus0 not configured
    "pmu" at simplebus0 not configured
    "pmu" at simplebus0 not configured
    "system-cache-controller" at simplebus0 not configured
    qcpas0 at simplebus0
    "remoteproc" at simplebus0 not configured
    pci0 at dwpcie0
    ppb0 at pci0 dev 0 function 0 "Qualcomm X1E80100 PCIe" rev 0x00: msi
    pci1 at ppb0 bus 1
    nvme0 at pci1 dev 0 function 0 "SanDisk NVMe" rev 0x01: msix, NVMe 1.4
    nvme0: WD PC SN560 SDDPNQE-1T00-2006, firmware HPS1, serial 24091H806314
    scsibus0 at nvme0: 2 targets, initiator 0
    sd0 at scsibus0 targ 1 lun 0: <NVMe, WD PC SN560 SDDP, HPS1>
    sd0: 976762MB, 512 bytes/sector, 2000409264 sectors
    pci2 at dwpcie1
    ppb1 at pci2 dev 0 function 0 "Qualcomm X1E80100 PCIe" rev 0x00: msi
    pci3 at ppb1 bus 1
    qwx0 at pci3 dev 0 function 0 "Qualcomm QCNFA765" rev 0x01: msi
    agtimer0 at mainbus0: 19200 kHz
    gpiokeys0 at mainbus0
    "pmic-glink" at mainbus0 not configured
    "vph-pwr-regulator" at mainbus0 not configured
    "regulator-edp-3p3" at mainbus0 not configured
    "regulator-nvme" at mainbus0 not configured
    scmi0: SCMI 2.0
    uaudio0 at uhub0 port 1 configuration 1 interface 1 "C-Media Electronics Inc. USB Audio Device" rev 1.10/1.00 addr 2
    uaudio0: class v1, full-speed, sync, channels: 2 play, 1 rec, 8 ctls
    audio0 at uaudio0
    uhidev0 at uhub0 port 1 configuration 1 interface 3 "C-Media Electronics Inc. USB Audio Device" rev 1.10/1.00 addr 2
    uhidev0: iclass 3/0
    ucc0 at uhidev0: 10 usages, 3 keys, enum
    wskbd2 at ucc0 mux 1
    vscsi0 at root
    scsibus1 at vscsi0: 256 targets
    softraid0 at root
    scsibus2 at softraid0: 256 targets
    root on sd0a (7b616420ffc3d14b.a) swap on sd0b dump on sd0b
    qcpas0: all intents in use
    qwx0: wcn6855 hw2.1 fw 0x11088c35 address 58:cd:c9:8b:f1:5d
    simplefb0 at mainbus0: 1360x779, 32bpp
    wsdisplay0 at simplefb0 mux 1: console (std, vt100 emulation), using wskbd0
    wskbd1: connecting to wsdisplay0
    wskbd2: connecting to wsdisplay0
    wsdisplay0: screen 1-5 added (std, vt100 emulation)
    
    
  • Kirill A. Korinsky:

    smmu(4) on QC Laptops