Re: inteldrm(4) tests needed
On Mon, Jan 15, 2018 at 01:02 +0100, Mark Kettenis wrote: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. > Hi, I've been running with this since it hit the tree and it has fixed a major issue for me: an external HDMI output was marked 'disconnected' only a few minutes after being connected. The output worked fine, but I presume X was notified that something changed and my window manager would restrict the area for popups and drop down menus to the main screen, as in they would only appear on the panel of the laptop, regardless of where the actual window was. So huge thanks for that! In the meantime (somewhere around Mesa update and a backout), another issue got fixed. If a test 60fps video would've been displayed on the panel, a visible tearing artefact would be visible in the upper portion of the screen. And now it's gone. Thanks Jonathan and Mark for your work on this, it's greatly appreciated! My hardware is an X1 Carbon 2017 (Kaby Lake) with a WQHD (2560x1440) panel and a 1920x1080 external monitor. Cheers, Mike
Re: inteldrm(4) tests needed
On Sun, Jan 14, 2018 at 11:15:39PM -0800, Mike Larkin wrote: > On Mon, Jan 15, 2018 at 01:02:58AM +0100, Mark Kettenis wrote: > > The diff below adopts more of the Linux code to manage i2c > > transactions on hardware supported by inteldrm(4). The i2c stuff is > > reponsible for detecting panels and monitors, so it is somewhat > > important that this works right. And the Linux code developed some > > quirks over the years that my rewrite of the code to use OpenBSD APIs > > didn't have. > > > > So I'm looking for testers. I'm especially interested in tests of > > external displays on all sorts of connector types (VGA, DVI, HDMI, > > DP). It would be really great to get some tests on older stuff with > > (S)DVO. Please let me know if there are regressions or if this fixes > > things that are currently broken. But all reports are welcome. > > Please include a dmesg and some information about the display and > > connector type. > > > > For my Dell Precision 7520, with: > > inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics P630" rev 0x04 > > ... no issues seen on eDP-1 local 4K panel. I will be able to test the > dock and DP-1 outputs on Tuesday when I go to the office. The HDMI-2 output > worked fine when connected to my living room TV @ 1920x1080 (xrandr output > below). Tested today on the DP dock, no issues seen. Thanks Mark. -ml > > Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 8192 x 8192 > eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y a >3840x2160 60.00*+ 48.02 >2048x1536 60.00 >1920x1440 60.00 >1856x1392 60.01 >1792x1344 60.01 >1600x1200 60.00 >1400x1050 59.98 >1280x1024 60.02 >1280x960 60.00 >1024x768 60.0460.00 >960x720 60.00 >928x696 60.05 >896x672 60.01 >800x600 60.0060.3256.25 >700x525 59.98 >640x512 60.02 >640x480 60.0059.94 >512x384 60.00 >400x300 60.3256.34 >320x240 60.05 > DP-1 disconnected (normal left inverted right x axis y axis) > HDMI-1 disconnected (normal left inverted right x axis y axis) > DP-2 disconnected (normal left inverted right x axis y axis) > HDMI-2 connected (normal left inverted right x axis y axis) >1920x1080 60.00 + 59.9430.0024.0029.9723.98 >1920x1080i60.0059.94 >1600x1200 60.00 >1280x1024 75.0260.02 >1360x768 60.02 >1280x768 59.87 >1280x720 60.0059.94 >1024x768 75.0870.0760.00 >800x600 72.1975.0060.3256.25 >720x480 60.0059.94 >640x480 75.0072.8160.0059.94 >720x400 70.08 > DP-3 disconnected (normal left inverted right x axis y axis) > HDMI-3 disconnected (normal left inverted right x axis y axis) > > dmesg follows. > > -ml > > OpenBSD 6.2-current (GENERIC.MP) #5: Sun Jan 14 22:54:57 PST 2018 > > mlar...@innsmouth.int.azathoth.net:/export/bin/src/OpenBSD/clean/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 68545306624 (65369MB) > avail mem = 66456842240 (63378MB) > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xe0030 (110 entries) > bios0: vendor Dell Inc. version "1.9.0" date 12/13/2017 > bios0: Dell Inc. Precision 7520 > acpi0 at bios0: rev 2 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP APIC FPDT FIDT MCFG HPET SSDT SSDT SSDT HPET SSDT > UEFI SSDT LPIT WSMT SSDT SSDT SSDT SSDT DBGP DBG2 SSDT SSDT SSDT DMAR BGRT > SSDT ASF! SSDT > acpi0: wakeup devices PEGP(S4) PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) > PXSX(S4) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) RP12(S4) > PXSX(S4) RP13(S4) [...] > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpimadt0 at acpi0 addr 0xfee0: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz, 2295.57 MHz > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,SENSOR,ARAT > cpu0: 256KB 64b/line 8-way L2 cache > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges > cpu0: apic clock running at 23MHz > cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE > cpu1 at mainbus0: apid 2 (application processor) > cpu1: Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz, 2294.65 MHz > cpu1: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,
Re: inteldrm(4) tests needed
On Mon, Jan 15, 2018 at 01:02:58AM +0100, Mark Kettenis wrote: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. Does not fix the external monitor through docking station issue I am currently trying to fix on the t460, nor does it brake it. (Sadly, it does not even help my monstrous WIP DP training diff that I hope to send out soon.) I will also test this on an x250 soon.
Re: inteldrm(4) tests needed
Mark Kettenis(mark.kette...@xs4all.nl) on 2018.01.15 01:02:58 +0100: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. x270. without your diff, external hdmi was only recognized on boot. with this diff, i can plug it in and xrandr --auto works. OpenBSD 6.2-current (GENERIC.MP) #12: Mon Jan 15 21:25:01 CET 2018 ben...@blap.berlin.hsgate.de:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 17053855744 (16263MB) avail mem = 16530087936 (15764MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xca6cf000 (62 entries) bios0: vendor LENOVO version "R0IET42W (1.20 )" date 08/09/2017 bios0: LENOVO 20HN0015GE acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP UEFI SSDT SSDT HPET APIC MCFG ECDT SSDT SSDT BOOT BATB SLIC SSDT SSDT SSDT WSMT SSDT SSDT DBGP DBG2 MSDM DMAR ASF! FPDT UEFI acpi0: wakeup devices GLAN(S4) XHC_(S3) XDCI(S4) HDAS(S4) RP01(S4) RP02(S4) RP04(S4) RP05(S4) RP06(S4) RP07(S4) RP08(S4) RP09(S4) RP10(S4) RP11(S4) RP12(S4) RP13(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 2399 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, 1393.42 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 23MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, 1128.48 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SENSOR,ARAT cpu1: 256KB 64b/line 8-way L2 cache cpu1: smt 0, core 1, package 0 cpu1: failed to identify cpu2 at mainbus0: apid 1 (application processor) cpu2: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, 1097.44 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SENSOR,ARAT cpu2: 256KB 64b/line 8-way L2 cache cpu2: smt 1, core 0, package 0 cpu2: failed to identify cpu3 at mainbus0: apid 3 (application processor) cpu3: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, 1097.44 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SENSOR,ARAT cpu3: 256KB 64b/line 8-way L2 cache cpu3: smt 1, core 1, package 0 cpu3: failed to identify ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 120 pins acpimcfg0 at acpi0 addr 0xf000, bus 0-63 acpiec0 at acpi0 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 2 (RP01) acpiprt2 at acpi0: bus -1 (RP02) acpiprt3 at acpi0: bus 3 (RP03) acpiprt4 at acpi0: bus -1 (RP04) acpiprt5 at acpi0: bus 4 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiprt7 at acpi0: bus -1 (RP07) acpiprt8 at acpi0: bus -1 (RP08) acpiprt9 at acpi0: bus -1 (RP09) acpiprt10 at acpi0: bus -1 (RP10) ac
Re: inteldrm(4) tests needed
On Mon, Jan 15, 2018 at 01:02:58AM +0100, Mark Kettenis wrote: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. > No changes on my X1 gen2. I have a LG 27UD88 connected via HDMI. On bootup the external monitor comes up (in mirror mode) once inteldrm attaches. X comes up like this: - Screen 0: minimum 320 x 200, current 6400 x 2160, maximum 8192 x 8192 eDP-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 310mm x 174mm 2560x1440 60.00*+ 1920x1440 60.00 1856x1392 60.01 1792x1344 60.01 1600x1200 60.00 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-2 connected 3840x2160+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm 3840x2160 30.00*+ 25.0024.0029.9723.98 2560x1440 59.95 1920x1080 60.0059.9430.0029.97 1920x1080i60.0059.94 1600x900 60.00 1280x1024 60.02 1280x800 59.91 1152x864 59.97 1280x720 60.0059.94 1024x768 60.00 800x600 60.32 720x480 60.0059.94 640x480 60.0059.94 - and I then switch to HDMI only, which is my normal workstation setup: - Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 8192 x 8192 eDP-1 connected primary (normal left inverted right x axis y axis) 2560x1440 60.00 + 1920x1440 60.00 1856x1392 60.01 1792x1344 60.01 1600x1200 60.00 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm 3840x2160 30.00*+ 25.0024.0029.9723.98 2560x1440 59.95 1920x1080 60.0059.9430.0029.97 1920x1080i60.0059.94 1600x900 60.00 1280x1024 60.02 1280x800 59.91 1152x864 59.97 1280x720 60.0059.94 1024x768 60.00 800x600 60.32 720x480 60.0059.94 640x480 60.0059.94 - DP does not work on this machine with this monitor. Neither without nor with your diff. (I have no other monitor to test with and I never investigated why it doesn't work) - Screen 0: minimum 320 x 200, current 6400 x 2160, maximum 8192 x 8192 eDP-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 310mm x 174mm 2560x1440 60.00*+ 1920x1440 60.00 1856x1392 60.01 1792x1344 60.01 1600x1200 60.00 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 DP-1 connected 3840x2160+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm 3840x2160 60.00*+ 30.00 2560x1440 59.95 1920x1080 60.0059.94 1600x900 60.00 1280x1024 60.02 1280x800 59.81 11
Re: inteldrm(4) tests needed
Hi, * Benjamin Baier wrote: > > Thinkpad X220 here, with an external monitor(HDMI) connected throught > a docking station. > The external monitor is now working on the first boot, before I had > to do one suspend/resume cycle to get it recognized, great. Also a Thinkpad X220 and I can confirm that my external LCD is now available during boot and it stays connected after zzz cycles. This works if I connect the LCD via Displayport and via VGA. If I boot the machine w/o an external display and connect it via VGA it works as expected. If I connect it via Displayport nothing happens. I tried suspend/resume but nothing changed. Cheers Matthias Internal + external via Displayport (dunno why it shows HDMI-1) Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 8192 x 8192 LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm 1366x768 60.02*+ 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 VGA-1 disconnected (normal left inverted right x axis y axis) HDMI-1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.00*+ 50.0059.94 1920x1080i60.0050.0059.94 1600x1200 60.00 1680x1050 59.88 1280x1024 60.02 1440x900 59.90 1280x960 60.00 1280x800 59.91 1280x720 60.0050.0059.94 1024x768 60.00 800x600 60.3256.25 720x576 50.00 720x480 60.0059.94 640x480 60.0059.94 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) HDMI-3 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) Internal + external via VGA Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm 1366x768 60.02*+ 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 VGA-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00* 800x600 60.3256.25 848x480 60.00 640x480 59.94 HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) HDMI-3 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) OpenBSD 6.2-current (GENERIC.MP) #0: Mon Jan 15 18:46:41 CET 2018 x...@x220.fritz.box:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 17041059840 (16251MB) avail mem = 16517677056 (15752MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xdae9c000 (64 entries) bios0: vendor LENOVO version "8DET73WW (1.43 )" date 10/12/2016 bios0: LENOVO 4290W1B acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SLIC SSDT SSDT SSDT HPET APIC MCFG ECDT ASF! TCPA SSDT SSDT DMAR UEFI UEFI UEFI acpi0: wakeup devices LID_(S3) SLPB(S3) IGBE(S4) EXP4(S4) EXP7(S4) EHC1(S3) EHC2(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 14318179 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.29 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache acpihpet0: recalibrated TSC frequency 2491911252 Hz cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID
Re: inteldrm(4) tests needed
On Mon, 15 Jan 2018 01:02:58 +0100 (CET) > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. I have no time till Thu but can test it on an apollo lake then with DP and HDMI. Also intending on seeing if inteldrm on apollo lake works with LVDS fpga conversion to DSI MIPI some time soon. However the wsfb seems to work (most of the time or maybe with right bios config) which is good enough for us (seemingly even plays youtube OK fullscreen in firefox).
Re: inteldrm(4) tests needed
On Mon, 15 Jan 2018 01:02:58 +0100 (CET) Mark Kettenis wrote: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. > Thinkpad X220 here, with an external monitor(HDMI) connected throught a docking station. The external monitor is now working on the first boot, before I had to do one suspend/resume cycle to get it recognized, great. No regression so far, even after some zzz/ZZZ cycles. Greetings Ben OpenBSD 6.2-current (GENERIC.MP) #12: Mon Jan 15 10:01:50 CET 2018 b...@x220.home.netzbasis.de:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 8451125248 (8059MB) avail mem = 8188071936 (7808MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xdae9c000 (64 entries) bios0: vendor LENOVO version "8DET69WW (1.39 )" date 07/18/2013 bios0: LENOVO 4287CTO acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SLIC SSDT SSDT SSDT HPET APIC MCFG ECDT ASF! TCPA SSDT SSDT DMAR UEFI UEFI UEFI acpi0: wakeup devices LID_(S3) SLPB(S3) IGBE(S4) EXP4(S4) EXP7(S4) EHC1(S3) EHC2(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 14318179 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.26 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache acpihpet0: recalibrated TSC frequency 2491907253 Hz cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.92 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu1: 256KB 64b/line 8-way L2 cache cpu1: smt 1, core 0, package 0 cpu2 at mainbus0: apid 2 (application processor) cpu2: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.92 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu2: 256KB 64b/line 8-way L2 cache cpu2: smt 0, core 1, package 0 cpu3 at mainbus0: apid 3 (application processor) cpu3: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.92 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu3: 256KB 64b/line 8-way L2 cache cpu3: smt 1, core 1, package 0 ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 24 pins acpimcfg0 at acpi0 addr 0xf800, bus 0-63 acpiec0 at acpi0 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (PEG_) acpiprt2 at acpi0: bus 2 (EXP1) acpiprt3 at acpi0: bus 3 (EXP2) acpiprt4 at acpi0: bus 5 (EXP4) acpiprt5 at acpi0: bus 13 (EXP5) acpiprt6 at acpi0: bus -1 (EXP7) acpicpu0 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS acpicpu1 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS acpicpu2 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS acpicpu3 at acpi0: C3(350@104 io@0x415), C1(1000@1 halt), PSS acpipwrres0 at acpi0: PUBS, resource for EHC1, EHC2 acpitz0 at acpi0: critical temperature is 99 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB "LEN0020" at acpi0 not configured acpibat0 at acpi0: BAT0 model "42T4861" serial 12675 type LION oem "SANYO" acpiac0 at acpi0: AC unit online acpithinkpad0 at acpi0 "IBM0079" at acpi0 not configured "PNP0C14" at acpi0 not configured "
Re: inteldrm(4) tests needed
On Mon, Jan 15, 2018 at 01:02:58AM +0100, Mark Kettenis wrote: > The diff below adopts more of the Linux code to manage i2c > transactions on hardware supported by inteldrm(4). The i2c stuff is > reponsible for detecting panels and monitors, so it is somewhat > important that this works right. And the Linux code developed some > quirks over the years that my rewrite of the code to use OpenBSD APIs > didn't have. > > So I'm looking for testers. I'm especially interested in tests of > external displays on all sorts of connector types (VGA, DVI, HDMI, > DP). It would be really great to get some tests on older stuff with > (S)DVO. Please let me know if there are regressions or if this fixes > things that are currently broken. But all reports are welcome. > Please include a dmesg and some information about the display and > connector type. > For my Dell Precision 7520, with: inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics P630" rev 0x04 ... no issues seen on eDP-1 local 4K panel. I will be able to test the dock and DP-1 outputs on Tuesday when I go to the office. The HDMI-2 output worked fine when connected to my living room TV @ 1920x1080 (xrandr output below). Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 8192 x 8192 eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y a 3840x2160 60.00*+ 48.02 2048x1536 60.00 1920x1440 60.00 1856x1392 60.01 1792x1344 60.01 1600x1200 60.00 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.0460.00 960x720 60.00 928x696 60.05 896x672 60.01 800x600 60.0060.3256.25 700x525 59.98 640x512 60.02 640x480 60.0059.94 512x384 60.00 400x300 60.3256.34 320x240 60.05 DP-1 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-2 connected (normal left inverted right x axis y axis) 1920x1080 60.00 + 59.9430.0024.0029.9723.98 1920x1080i60.0059.94 1600x1200 60.00 1280x1024 75.0260.02 1360x768 60.02 1280x768 59.87 1280x720 60.0059.94 1024x768 75.0870.0760.00 800x600 72.1975.0060.3256.25 720x480 60.0059.94 640x480 75.0072.8160.0059.94 720x400 70.08 DP-3 disconnected (normal left inverted right x axis y axis) HDMI-3 disconnected (normal left inverted right x axis y axis) dmesg follows. -ml OpenBSD 6.2-current (GENERIC.MP) #5: Sun Jan 14 22:54:57 PST 2018 mlar...@innsmouth.int.azathoth.net:/export/bin/src/OpenBSD/clean/src/sys/arch/amd64/compile/GENERIC.MP real mem = 68545306624 (65369MB) avail mem = 66456842240 (63378MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xe0030 (110 entries) bios0: vendor Dell Inc. version "1.9.0" date 12/13/2017 bios0: Dell Inc. Precision 7520 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP APIC FPDT FIDT MCFG HPET SSDT SSDT SSDT HPET SSDT UEFI SSDT LPIT WSMT SSDT SSDT SSDT SSDT DBGP DBG2 SSDT SSDT SSDT DMAR BGRT SSDT ASF! SSDT acpi0: wakeup devices PEGP(S4) PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PXSX(S4) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) RP12(S4) PXSX(S4) RP13(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz, 2295.57 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 23MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz, 2294.65 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,IBRS,IBPB,STIBP,SENSOR
inteldrm(4) tests needed
The diff below adopts more of the Linux code to manage i2c transactions on hardware supported by inteldrm(4). The i2c stuff is reponsible for detecting panels and monitors, so it is somewhat important that this works right. And the Linux code developed some quirks over the years that my rewrite of the code to use OpenBSD APIs didn't have. So I'm looking for testers. I'm especially interested in tests of external displays on all sorts of connector types (VGA, DVI, HDMI, DP). It would be really great to get some tests on older stuff with (S)DVO. Please let me know if there are regressions or if this fixes things that are currently broken. But all reports are welcome. Please include a dmesg and some information about the display and connector type. Index: dev/pci/drm/drm_linux.c === RCS file: /cvs/src/sys/dev/pci/drm/drm_linux.c,v retrieving revision 1.17 diff -u -p -r1.17 drm_linux.c --- dev/pci/drm/drm_linux.c 13 Jan 2018 13:03:42 - 1.17 +++ dev/pci/drm/drm_linux.c 14 Jan 2018 23:40:01 - @@ -552,16 +552,13 @@ sg_copy_from_buffer(struct scatterlist * } int -i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) +i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) { void *cmd = NULL; int cmdlen = 0; int err, ret = 0; int op; - if (adap->algo) - return adap->algo->master_xfer(adap, msgs, num); - iic_acquire_bus(&adap->ic, 0); while (num > 2) { @@ -585,8 +582,10 @@ i2c_transfer(struct i2c_adapter *adap, s ret++; } - op = (msgs->flags & I2C_M_RD) ? I2C_OP_READ_WITH_STOP : I2C_OP_WRITE_WITH_STOP; - err = iic_exec(&adap->ic, op, msgs->addr, cmd, cmdlen, msgs->buf, msgs->len, 0); + op = (msgs->flags & I2C_M_RD) ? + I2C_OP_READ_WITH_STOP : I2C_OP_WRITE_WITH_STOP; + err = iic_exec(&adap->ic, op, msgs->addr, cmd, cmdlen, + msgs->buf, msgs->len, 0); if (err) { ret = -err; goto fail; @@ -599,6 +598,38 @@ fail: return ret; } + +int +i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) +{ + if (adap->algo) + return adap->algo->master_xfer(adap, msgs, num); + + return i2c_master_xfer(adap, msgs, num); +} + +int +i2c_bb_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) +{ + struct i2c_algo_bit_data *algo = adap->algo_data; + struct i2c_adapter bb; + + memset(&bb, 0, sizeof(bb)); + bb.ic = algo->ic; + bb.retries = adap->retries; + return i2c_master_xfer(&bb, msgs, num); +} + +uint32_t +i2c_bb_functionality(struct i2c_adapter *adap) +{ + return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; +} + +struct i2c_algorithm i2c_bit_algo = { + .master_xfer = i2c_bb_master_xfer, + .functionality = i2c_bb_functionality +}; #if defined(__amd64__) || defined(__i386__) Index: dev/pci/drm/drm_linux.h === RCS file: /cvs/src/sys/dev/pci/drm/drm_linux.h,v retrieving revision 1.66 diff -u -p -r1.66 drm_linux.h --- dev/pci/drm/drm_linux.h 13 Jan 2018 14:15:07 - 1.66 +++ dev/pci/drm/drm_linux.h 14 Jan 2018 23:40:01 - @@ -1199,6 +1199,11 @@ finish_wait(wait_queue_head_t *wq, wait_ static inline long schedule_timeout(long timeout, wait_queue_head_t **wait) { + if (cold) { + delay((timeout * 100) / hz); + return -ETIMEDOUT; + } + return -msleep(*wait, &(*wait)->lock, PZERO, "schto", timeout); } @@ -1609,8 +1614,14 @@ struct i2c_msg { #define I2C_M_NOSTART 0x0002 struct i2c_algorithm { - u32 (*functionality)(struct i2c_adapter *); int (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int); + u32 (*functionality)(struct i2c_adapter *); +}; + +extern struct i2c_algorithm i2c_bit_algo; + +struct i2c_algo_bit_data { + struct i2c_controller ic; }; int i2c_transfer(struct i2c_adapter *, struct i2c_msg *, int); Index: dev/pci/drm/i915/i915_drv.h === RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.h,v retrieving revision 1.78 diff -u -p -r1.78 i915_drv.h --- dev/pci/drm/i915/i915_drv.h 30 Sep 2017 07:36:56 - 1.78 +++ dev/pci/drm/i915/i915_drv.h 14 Jan 2018 23:40:01 - @@ -1102,9 +1102,7 @@ struct intel_gmbus { u32 force_bit; u32 reg0; u32 gpio_reg; -#ifdef __linux__ struct i2c_algo_bit_data bit_algo; -#endif struct drm_i915_private *dev_priv; }; Index: dev/pci/drm/i915/intel_i2c.c === RCS file: /cvs/src/sys/dev/pci/drm/i915/intel_i2c.c,v retrieving revision 1.12 diff -u -p -r1.12 intel_i2c.c --- dev/pci/drm/i915/intel_i2c.c30 Sep 2017 07:36:56 - 1.1