Re: X11 graphics not working in snapshots on Braswell system

2020-06-30 Thread Jonathan Gray
On Tue, Jun 30, 2020 at 07:10:10PM +0200, Martin Ziemer wrote:
> On Wed, Jul 01, 2020 at 01:53:14AM +1000, Jonathan Gray wrote:
> > cherryview/braswell still had trouble even after recent port of drm from
> > linux 5.7.
> > 
> > I can run X on -current with < gen8 style rings.
> > 
> > Index: dev/pci/drm/i915/i915_pci.c
> > ===
> > RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_pci.c,v
> > retrieving revision 1.3
> > diff -u -p -r1.3 i915_pci.c
> > --- dev/pci/drm/i915/i915_pci.c 8 Jun 2020 04:48:11 -   1.3
> > +++ dev/pci/drm/i915/i915_pci.c 30 Jun 2020 15:37:20 -
> > @@ -588,7 +588,7 @@ static const struct intel_device_info ch
> > .has_runtime_pm = 1,
> > .has_rc6 = 1,
> > .has_rps = true,
> > -   .has_logical_ring_contexts = 1,
> > +   .has_logical_ring_contexts = 0,
> > .display.has_gmch = 1,
> > .ppgtt_type = INTEL_PPGTT_ALIASING,
> > .ppgtt_size = 32,
> > 
> 
> With this patch (and driver "intel" in /etc/X11/xorg.conf) my system works. 
> Tested suspend/resume and normal browsing.

Thanks for testing, I've committed this with a comment added.



Re: X11 graphics not working in snapshots on Braswell system

2020-06-30 Thread Martin Ziemer
On Wed, Jul 01, 2020 at 01:53:14AM +1000, Jonathan Gray wrote:
> cherryview/braswell still had trouble even after recent port of drm from
> linux 5.7.
> 
> I can run X on -current with < gen8 style rings.
> 
> Index: dev/pci/drm/i915/i915_pci.c
> ===
> RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_pci.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 i915_pci.c
> --- dev/pci/drm/i915/i915_pci.c   8 Jun 2020 04:48:11 -   1.3
> +++ dev/pci/drm/i915/i915_pci.c   30 Jun 2020 15:37:20 -
> @@ -588,7 +588,7 @@ static const struct intel_device_info ch
>   .has_runtime_pm = 1,
>   .has_rc6 = 1,
>   .has_rps = true,
> - .has_logical_ring_contexts = 1,
> + .has_logical_ring_contexts = 0,
>   .display.has_gmch = 1,
>   .ppgtt_type = INTEL_PPGTT_ALIASING,
>   .ppgtt_size = 32,
> 

With this patch (and driver "intel" in /etc/X11/xorg.conf) my system works. 
Tested suspend/resume and normal browsing.



Re: X11 graphics not working in snapshots on Braswell system

2019-07-25 Thread Jonathan Gray
On Tue, Jul 23, 2019 at 04:32:50PM +1000, Jonathan Gray wrote:
> On Sun, Jul 21, 2019 at 11:23:12PM +1000, Ross L Richardson wrote:
> > On Sun, Jul 21, 2019 at 07:41:58PM +1000, Jonathan Gray wrote:
> > > On Sat, Jul 20, 2019 at 10:32:46PM +1000, open...@rlr.id.au wrote:
> > > > >Synopsis:  X11 graphics not working in snapshots on Braswell system
> > > > >Category:  amd64
> > >[...]
> > > Does this backport from linux help?
> > >[...]
> > 
> > No.  The box still locks up (unfortunately).
> 
> Thanks for reporting and trying that.  Nothing else comes to mind.
> 
> I've placed an order for a Braswell NUC and can hopefully reproduce and
> debug this when that shows up.
> 

I see the same thing.

When using modesetting machine hangs on starting Xorg.
When using intel with sna (default) there is a gpu hang and machine can
be interacted with.
When using intel with uxa machine also hangs on starting Xorg.

With debug messages:

[drm] enabling vblank on crtc 2, ret: 0
[drm] vblank event on 15972, current 15972
[drm] OBJ ID: 113 (2)
[drm] OBJ ID: 110 (2)
[drm] pid=52040, cmd=0xc06864a2, nr=0xa2, dev 0x800fc078, auth=1
[drm] [CRTC:78:pipe ]
[drm] [CONNECTOR:90:HDMI-A-]
[drm] OBJ ID: 110 (1)
[drm] OBJ ID: 113 (1)
[drm] OBJ ID: 111 (2)
[drm] OBJ ID: 110 (2)
[drm] OBJ ID: 112 (2)
[drm] OBJ ID: 111 (3)
[drm] OBJ ID: 90 (6)
[drm] OBJ ID: 90 (7)
[drm] OBJ ID: 90 (7)
[drm] OBJ ID: 90 (6)
[drm] disabling vblank on crtc 2
missed_breadcrumb bcs0 missed breadcrumb at 0x817c2ce8S
missed_breadcrumb   current seqno 2, last 3, hangcheck 0 [1670 ms]
missed_breadcrumb   Reset count: 0 (global 0)
missed_breadcrumb   Requests:
missed_breadcrumb   first  3 [10:1] prio=1024 @ 1670ms: Xorg[32678]/
missed_breadcrumb   last   3 [10:1] prio=1024 @ 1670ms: Xorg[32678]/
missed_breadcrumb   active 3 [10:1] prio=1024 @ 1670ms: Xorg[32678]/
missed_breadcrumb   ring->start:  0x00a2
missed_breadcrumb   ring->head:   0x
missed_breadcrumb   ring->tail:   0x0098
missed_breadcrumb   ring->emit:   0x00a0
missed_breadcrumb   ring->space:  0x3f20
missed_breadcrumb [head , postfix 0080, tail 00a0, batch 
0x_00a0]:
missed_breadcrumb [] (
missed_breadcrumb [0020] (
missed_breadcrumb [0040] (
missed_breadcrumb [0060] (
missed_breadcrumb [0080] (
missed_breadcrumb   RING_START: 0x00a2
missed_breadcrumb   RING_HEAD:  0x0068
missed_breadcrumb   RING_TAIL:  0x0098
missed_breadcrumb   RING_CTL:   0x3001
missed_breadcrumb   RING_MODE:  0x
missed_breadcrumb   RING_IMR: fefe
missed_breadcrumb   ACTHD:  0x_00a01000
missed_breadcrumb   BBADDR: 0x_00a01001
missed_breadcrumb   DMA_FADDR: 0x_00a01200
missed_breadcrumb   IPEIR: 0x0008
missed_breadcrumb   IPEHR: 0x
missed_breadcrumb   Execlist status: 0x00044032 0005
missed_breadcrumb   Execlist CSB read 0 [4 cached], write 4 [4 from hws], 
tasklet queued? no (enabled)
missed_breadcrumb   Execlist CSB[1]: 0x0018 [0x0018 in hwsp], 
context: 1 [1 in hwsp]
missed_breadcrumb   Execlist CSB[2]: 0x0001 [0x0001 in hwsp], 
context: 0 [0 in hwsp]
missed_breadcrumb   Execlist CSB[3]: 0x0018 [0x0018 in hwsp], 
context: 0 [0 in hwsp]
missed_breadcrumb   Execlist CSB[4]: 0x0001 [0x0001 in hwsp], 
context: 0 [0 in hwsp]
missed_breadcrumb   ELSP[0] count=1, ring->start=00a2, rq: 3 
[10:1] prio=1024 @ 1670ms: Xorg[32678]/
missed_breadcrumb   ELSP[1] idle
missed_breadcrumb   HW active? 0x5
missed_breadcrumb   E 3 [10:1] prio=1024 @ 1670ms: Xorg[32678]/
missed_breadcrumb   Queue priority: -2147483648
missed_breadcrumb   i915/signal:1 [21986] waiting for 3
missed_breadcrumb IRQ? 0x1 (breadcrumbs? yes)
missed_breadcrumb HWSP:
missed_breadcrumb []ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb *
missed_breadcrumb [0040]ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb [0060]ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb [0080]ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb *
missed_breadcrumb [00c0]ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb [00e0]ELSP[0] count=1, ring->start=00a2, 
rq: 
missed_breadcrumb *
missed_breadcrumb Idle? no
hangcheck bcs0
hangcheck   current seqno 2, last 3, hangcheck 2 [4000 ms]
hangcheck   Reset count: 0 (global 0)
hangcheck   Requests:
hangcheck   first  3 [10:1] prio=1024 @ 6000ms: Xorg[32678]/
hangcheck   last   3 [10:1] prio=1024 @ 6000ms: Xorg[32678]/
hangcheck   active 3 [10:1] prio=1024 @ 6000ms: Xorg[32678]/
hangcheck   ring->start:  0x00a2
hangcheck

Re: X11 graphics not working in snapshots on Braswell system

2019-07-23 Thread Jonathan Gray
On Sun, Jul 21, 2019 at 11:23:12PM +1000, Ross L Richardson wrote:
> On Sun, Jul 21, 2019 at 07:41:58PM +1000, Jonathan Gray wrote:
> > On Sat, Jul 20, 2019 at 10:32:46PM +1000, open...@rlr.id.au wrote:
> > > >Synopsis:X11 graphics not working in snapshots on Braswell system
> > > >Category:amd64
> >[...]
> > Does this backport from linux help?
> >[...]
> 
> No.  The box still locks up (unfortunately).

Thanks for reporting and trying that.  Nothing else comes to mind.

I've placed an order for a Braswell NUC and can hopefully reproduce and
debug this when that shows up.



Re: X11 graphics not working in snapshots on Braswell system

2019-07-21 Thread Ross L Richardson
On Sun, Jul 21, 2019 at 07:41:58PM +1000, Jonathan Gray wrote:
> On Sat, Jul 20, 2019 at 10:32:46PM +1000, open...@rlr.id.au wrote:
> > >Synopsis:  X11 graphics not working in snapshots on Braswell system
> > >Category:  amd64
>[...]
> Does this backport from linux help?
>[...]

No.  The box still locks up (unfortunately).

Thanks,
Ross



Re: X11 graphics not working in snapshots on Braswell system

2019-07-21 Thread Jonathan Gray
On Sat, Jul 20, 2019 at 10:32:46PM +1000, open...@rlr.id.au wrote:
> >Synopsis:X11 graphics not working in snapshots on Braswell system
> >Category:amd64
> >Environment:
>   System  : OpenBSD 6.5
>   Details : OpenBSD 6.5-current (GENERIC.MP) #131: Fri Jul 19 
> 13:18:29 MDT 2019
>
> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>   Architecture: OpenBSD.amd64
>   Machine : amd64
> >Description:
>   Under 6.5 (release plus syspatches), X11 works with the default
>   configuration.  Over the last several weeks, I've been trying
>   snapshots, and none has worked correctly:
>   - With the default configuration, the box usually switches to screen 4
> but displays nothing, and becomes unresponsive to keyboard, mouse,
> and pings, therefore requiring hard reset.  Without xenodm enabled
> in /etc/rc.conf.local, using
>rcctl -f start xenodm; sleep 120; rcctl -f stop xenodm
> the system survived the most recent test without full lockup.
> See below for relevant logs.
>   - Forcing the Intel driver using a configuration file, things do work
> somewhat, but glxinfo/glxgears give errors.
> See below for relevant logs.
> >How-To-Repeat:
>   Start X11 without a configuration file.
> >Fix:
>   Unknown.

Does this backport from linux help?

Taken From

commit 8cd999181f8c744c87fb64e7b3600876ec3428b2
Author: Chris Wilson 
Date:   Mon Jan 14 21:17:27 2019 +

drm/i915: Prevent concurrent GGTT update and use on Braswell (again)

On Braswell, under heavy stress, if we update the GGTT while
simultaneously accessing another region inside the GTT, we are returned
the wrong values. To prevent this we stop the machine to update the GGTT
entries so that no memory traffic can occur at the same time.

This was first spotted in

commit 5bab6f60cb4d1417ad7c599166bcfec87529c1a2
Author: Chris Wilson 
Date:   Fri Oct 23 18:43:32 2015 +0100

drm/i915: Serialise updates to GGTT with access through GGTT on Braswell

but removed again in forlorn hope with

commit 4509276ee824bb967885c095c610767e42345c36
Author: Chris Wilson 
Date:   Mon Feb 20 12:47:18 2017 +

drm/i915: Remove Braswell GGTT update w/a

However, gem_concurrent_blit is once again only stable with the patch
applied and CI is detecting the odd failure in forked gem_mmap_gtt tests
(which smell like the same issue). Fwiw, a wide variety of CPU memory
barriers (around GGTT flushing, fence updates, PTE updates) and GPU
flushes/invalidates (between requests, after PTE updates) were tried as
part of the investigation to find an alternate cause, nothing comes
close to serialised GGTT updates.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105591
Testcase: igt/gem_concurrent_blit
Testcase: igt/gem_mmap_gtt/*forked*
References: 5bab6f60cb4d ("drm/i915: Serialise updates to GGTT with access 
through GGTT on Braswell")
References: 4509276ee824 ("drm/i915: Remove Braswell GGTT update w/a")
Signed-off-by: Chris Wilson 
Reviewed-by: Tvrtko Ursulin 
Link: 
https://patchwork.freedesktop.org/patch/msgid/20190114211729.30352-1-ch...@chris-wilson.co.uk

Index: sys/dev/pci/drm/i915/i915_gem_gtt.c
===
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_gem_gtt.c,v
retrieving revision 1.17
diff -u -p -r1.17 i915_gem_gtt.c
--- sys/dev/pci/drm/i915/i915_gem_gtt.c 14 Apr 2019 10:14:51 -  1.17
+++ sys/dev/pci/drm/i915/i915_gem_gtt.c 21 Jul 2019 09:21:02 -
@@ -3543,7 +3543,8 @@ static int gen8_gmch_probe(struct i915_g
ggtt->vm.insert_entries = gen8_ggtt_insert_entries;
 
/* Serialize GTT updates with aperture access on BXT if VT-d is on. */
-   if (intel_ggtt_update_needs_vtd_wa(dev_priv)) {
+   if (intel_ggtt_update_needs_vtd_wa(dev_priv) ||
+   IS_CHERRYVIEW(dev_priv) /* fails with concurrent use/update */) {
ggtt->vm.insert_entries = bxt_vtd_ggtt_insert_entries__BKL;
ggtt->vm.insert_page= bxt_vtd_ggtt_insert_page__BKL;
if (ggtt->vm.clear_range != nop_clear_range)



X11 graphics not working in snapshots on Braswell system

2019-07-20 Thread openbsd
>Synopsis:  X11 graphics not working in snapshots on Braswell system
>Category:  amd64
>Environment:
System  : OpenBSD 6.5
Details : OpenBSD 6.5-current (GENERIC.MP) #131: Fri Jul 19 
13:18:29 MDT 2019
 
dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

Architecture: OpenBSD.amd64
Machine : amd64
>Description:
Under 6.5 (release plus syspatches), X11 works with the default
configuration.  Over the last several weeks, I've been trying
snapshots, and none has worked correctly:
- With the default configuration, the box usually switches to screen 4
  but displays nothing, and becomes unresponsive to keyboard, mouse,
  and pings, therefore requiring hard reset.  Without xenodm enabled
  in /etc/rc.conf.local, using
 rcctl -f start xenodm; sleep 120; rcctl -f stop xenodm
  the system survived the most recent test without full lockup.
  See below for relevant logs.
- Forcing the Intel driver using a configuration file, things do work
  somewhat, but glxinfo/glxgears give errors.
  See below for relevant logs.
>How-To-Repeat:
Start X11 without a configuration file.
>Fix:
Unknown.


dmesg:
OpenBSD 6.5-current (GENERIC.MP) #131: Fri Jul 19 13:18:29 MDT 2019
dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 8415350784 (8025MB)
avail mem = 8150167552 (7772MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xece40 (53 entries)
bios0: vendor American Megatrends Inc. version "EB120IMS.830" date 08/26/2016
bios0: Micro-Star International Co., Ltd. MS-B120
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT FIDT MCFG SLIC SSDT SSDT SSDT UEFI LPIT CSRT
acpi0: wakeup devices XHC1(S4) HDEF(S4) PXSX(S4) RP01(S4) PXSX(S4) RP02(S4) 
PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) BRC1(S0)
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) Celeron(R) CPU N3060 @ 1.60GHz, 1600.48 MHz, 06-4c-04
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,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
cpu0: 1MB 64b/line 16-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 80MHz
cpu0: mwait min=64, max=64, C-substates=0.2.0.0.0.0.3.3, IBE
cpu1 at mainbus0: apid 4 (application processor)
cpu1: Intel(R) Celeron(R) CPU N3060 @ 1.60GHz, 1600.01 MHz, 06-4c-04
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,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
cpu1: 1MB 64b/line 16-way L2 cache
cpu1: smt 0, core 2, package 0
ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 115 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe000, bus 0-255
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (RP03)
acpiprt4 at acpi0: bus -1 (RP04)
acpiec0 at acpi0: not present
acpicpu0 at acpi0: C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: CLK0, resource for CAMD
acpipwrres1 at acpi0: CLK0, resource for CAM1
acpipwrres2 at acpi0: CLK1, resource for CAM2, CAM3
acpipwrres3 at acpi0: USBC, resource for XHC1
acpipwrres4 at acpi0: FN00, resource for FAN0
acpitz0 at acpi0: critical temperature is 95 degC
acpicmos0 at acpi0
acpipci0 at acpi0 PCI0: 0x 0x0011 0x0001
"BCM2E64" at acpi0 not configured
"BCM4752" at acpi0 not configured
"SMO91D0" at acpi0 not configured
"INTCF1C" at acpi0 not configured
"MSFT0002" at acpi0 not configured
"PNP0C14" at acpi0 not configured
acpibtn0 at acpi0: SLPB
"PNP0C14" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
cpu0: using VERW MDS workaround
cpu0: Enhanced SpeedStep 1600 MHz: speeds: 1601, 1600, 1520, 1440, 1360, 1280, 
1200, 1120, 1040, 960, 880, 800, 720, 640, 560, 480 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Braswell Host" rev 0x35
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics" rev 0x35
drm0 at inteldrm0
inteldrm0: msi
sdhc0 at pci0 dev 16 function 0 vendor "Intel", unknown product 0x2294 rev 
0x35: apic 1 int 16
sdhc0: SDHC 3.0, 200 MHz base clock
sdmmc0 at sdhc0: 8-bit, sd high-speed, mmc high-speed, dma
ahci0 at pci0 dev 19