On Fri, Feb 03, 2023 at 12:54:52PM +1100, Jonathan Gray wrote:
[...]
> > +xehp_load_dss_mask: stub
> > +xehp_load_dss_mask: stub
> > +intel_slicemask_from_xehp_dssmask: stub
> > +intel_slicemask_from_xehp_dssmask: stub
> > +i915_gem_stolen_lmem_setup: stub
> > +drm:pid0:intel_memory_regions_hw_probe *ERROR* [drm] *ERROR* Failed to
> > setup region(-78) type=3
> > +Device initialization failed (-78)
>
> thanks
>
> xehp_load_dss_mask() needs:
> bitmap_from_arr32()
>
> intel_slicemask_from_xehp_dssmask() needs:
> bitmap_intersects()
> bitmap_shift_right()
>
> updated diff which unstubs i915_gem_stolen_lmem_setup()
thanks, this moves forward into the next stub:
-i915_gem_stolen_lmem_setup: stub
+init_stolen_lmem: stub
attaching the complete diff of the dmesg before and after your most recent diff.
>
> Index: sys/dev/pci/drm/i915/i915_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_pci.c,v
> retrieving revision 1.15
> diff -u -p -r1.15 i915_pci.c
> --- sys/dev/pci/drm/i915/i915_pci.c 25 Jan 2023 01:51:59 -0000 1.15
> +++ sys/dev/pci/drm/i915/i915_pci.c 3 Feb 2023 01:43:02 -0000
> @@ -1078,7 +1078,6 @@ static const struct intel_device_info dg
> XE_LPD_FEATURES,
> .__runtime.cpu_transcoder_mask = BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
> BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
> - .require_force_probe = 1,
> };
>
> static const struct intel_device_info ats_m_info = {
> Index: sys/dev/pci/drm/i915/gem/i915_gem_stolen.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915/gem/i915_gem_stolen.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 i915_gem_stolen.c
> --- sys/dev/pci/drm/i915/gem/i915_gem_stolen.c 1 Jan 2023 01:34:56
> -0000 1.4
> +++ sys/dev/pci/drm/i915/gem/i915_gem_stolen.c 3 Feb 2023 01:50:07
> -0000
> @@ -813,26 +813,40 @@ struct intel_memory_region *
> i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type,
> u16 instance)
> {
> - STUB();
> - return ERR_PTR(-ENOSYS);
> -#ifdef notyet
> struct intel_uncore *uncore = &i915->uncore;
> struct pci_dev *pdev = i915->drm.pdev;
> resource_size_t dsm_size, dsm_base, lmem_size;
> struct intel_memory_region *mem;
> resource_size_t io_start, io_size;
> resource_size_t min_page_size;
> + pcireg_t mtype;
> + bus_addr_t lmem_start;
> + bus_size_t lmem_len;
> + int ret;
>
> if (WARN_ON_ONCE(instance))
> return ERR_PTR(-ENODEV);
>
> +#ifdef __linux__
> if (!i915_pci_resource_valid(pdev, GEN12_LMEM_BAR))
> return ERR_PTR(-ENXIO);
> +#else
> + mtype = pci_mapreg_type(i915->pc, i915->tag,
> + 0x10 + (4 * GEN12_LMEM_BAR));
> + ret = pci_mapreg_info(i915->pc, i915->tag,
> + 0x10 + (4 * GEN12_LMEM_BAR), mtype, &lmem_start, &lmem_len, NULL);
> + if (ret != 0)
> + return ERR_PTR(-ENXIO);
> +#endif
>
> /* Use DSM base address instead for stolen memory */
> dsm_base = intel_uncore_read64(uncore, GEN12_DSMBASE);
> if (IS_DG1(uncore->i915)) {
> +#ifdef __linux__
> lmem_size = pci_resource_len(pdev, GEN12_LMEM_BAR);
> +#else
> + lmem_size = lmem_len;
> +#endif
> if (WARN_ON(lmem_size < dsm_base))
> return ERR_PTR(-ENODEV);
> } else {
> @@ -844,6 +858,7 @@ i915_gem_stolen_lmem_setup(struct drm_i9
> }
>
> dsm_size = lmem_size - dsm_base;
> +#ifdef __linux__
> if (pci_resource_len(pdev, GEN12_LMEM_BAR) < lmem_size) {
> io_start = 0;
> io_size = 0;
> @@ -851,6 +866,15 @@ i915_gem_stolen_lmem_setup(struct drm_i9
> io_start = pci_resource_start(pdev, GEN12_LMEM_BAR) + dsm_base;
> io_size = dsm_size;
> }
> +#else
> + if (lmem_len < lmem_size) {
> + io_start = 0;
> + io_size = 0;
> + } else {
> + io_start = lmem_start + dsm_base;
> + io_size = dsm_size;
> + }
> +#endif
>
> min_page_size = HAS_64K_PAGES(i915) ? I915_GTT_PAGE_SIZE_64K :
> I915_GTT_PAGE_SIZE_4K;
> @@ -878,7 +902,6 @@ i915_gem_stolen_lmem_setup(struct drm_i9
> mem->private = true;
>
> return mem;
> -#endif
> }
>
> struct intel_memory_region*
--- dmesg-20230202-postDG2patch.txt Thu Feb 2 15:49:28 2023
+++ dmesg-20230202-post-secondDG2diff.txt Fri Feb 3 14:23:46 2023
@@ -1,7 +1,7 @@
-OpenBSD 7.2-current (GENERIC.MP) #0: Thu Feb 2 15:38:20 EST 2023
+OpenBSD 7.2-current (GENERIC.MP) #1: Fri Feb 3 14:18:10 EST 2023
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 34226315264 (32640MB)
-avail mem = 33169633280 (31633MB)
+avail mem = 33169629184 (31633MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
@@ -34,7 +34,7 @@
cpu1: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line
4-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 4 (application processor)
-cpu2: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.33 MHz, 06-a5-05
+cpu2: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.32 MHz, 06-a5-05
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,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,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,PKU,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu2: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line
4-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu2: smt 0, core 2, package 0
@@ -49,12 +49,12 @@
cpu4: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line
4-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu4: smt 0, core 4, package 0
cpu5 at mainbus0: apid 10 (application processor)
-cpu5: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.31 MHz, 06-a5-05
+cpu5: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.32 MHz, 06-a5-05
cpu5:
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,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,PKU,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu5: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line
4-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu5: smt 0, core 5, package 0
cpu6 at mainbus0: apid 12 (application processor)
-cpu6: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.31 MHz, 06-a5-05
+cpu6: Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz, 4589.32 MHz, 06-a5-05
cpu6:
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,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,PKU,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu6: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB 64b/line
4-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu6: smt 0, core 6, package 0
@@ -234,7 +234,7 @@
audio0 at azalia1
ichiic0 at pci0 dev 31 function 4 "Intel 400 Series SMBus" rev 0x00: apic 2
int 16
iic2 at ichiic0
-iic2: addr 0x20 0b=22 0c=22 0d=99 0e=99 0f=43 10=44 13=73 15=ab 16=4f 17=ab
19=8a 1a=50 1b=68 1c=22 1d=0f 1e=0c 20=50 21=80 22=45 23=44 2a=2a 2d=33 2e=ee
2f=44 31=73 33=ab 37=8a 38=51 39=0f 3a=0c 3b=47 3c=44 44=2b 48=07 92=0b b2=29
words 00=00ff 01=00ff 02=00ff 03=00ff 04=00ff 05=00ff 06=00ff 07=00ff
+iic2: addr 0x20 0b=22 0c=22 0d=99 0e=99 0f=43 10=44 13=73 15=ab 16=4e 17=ab
19=8a 1a=50 1b=68 1c=22 1d=0f 1e=0c 20=50 21=80 22=45 23=44 2a=2a 2d=33 2e=ee
2f=44 31=73 33=ab 37=8a 38=51 39=0f 3a=0c 3b=47 3c=44 44=29 48=07 92=0b b2=29
words 00=00ff 01=00ff 02=00ff 03=00ff 04=00ff 05=00ff 06=00ff 07=00ff
spdmem0 at iic2 addr 0x51: 16GB DDR4 SDRAM PC4-17000
spdmem1 at iic2 addr 0x53: 16GB DDR4 SDRAM PC4-17000
"Intel 400 Series SPI" rev 0x00 at pci0 dev 31 function 5 not configured
@@ -285,6 +285,7 @@
uhidev5: iclass 3/1
ums1 at uhidev5: 4 buttons, Z dir
wsmouse1 at ums1 mux 0
+uhub2: device problem, disabling port 2
uhidev6 at uhub2 port 3 configuration 1 interface 0 "\M-)Microsoft Corporation
Controller" rev 2.00/1.14 addr 7
uhidev6: iclass 255/93
ujoy0 at uhidev6: input=20, output=0, feature=0
@@ -309,7 +310,7 @@
xehp_load_dss_mask: stub
intel_slicemask_from_xehp_dssmask: stub
intel_slicemask_from_xehp_dssmask: stub
-i915_gem_stolen_lmem_setup: stub
+init_stolen_lmem: stub
drm:pid0:intel_memory_regions_hw_probe *ERROR* [drm] *ERROR* Failed to setup
region(-78) type=3
Device initialization failed (-78)
efifb0 at mainbus0: 2560x1440, 32bpp
@@ -323,3 +324,8 @@
wskbd7: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
iwx0: hw rev 0x350, fw 67.8f59b80b.0, address 54:8d:5a:20:20:e2
+uvideo0 at uhub2 port 2 configuration 1 interface 0 "Logitech Webcam C310" rev
2.00/0.12 addr 13
+video0 at uvideo0
+uaudio0 at uhub2 port 2 configuration 1 interface 3 "Logitech Webcam C310" rev
2.00/0.12 addr 13
+uaudio0: class v1, high-speed, sync, channels: 0 play, 1 rec, 2 ctls
+audio1 at uaudio0