daily CVS update output

2021-12-24 Thread NetBSD source update


Updating src tree:
P src/crypto/external/bsd/openssh/dist/channels.c
P src/sys/dev/ic/malo.c
P src/sys/dev/pci/ixgbe/if_sriov.c
P src/sys/dev/pci/ixgbe/ixgbe.c
P src/sys/dev/pci/ixgbe/ixgbe_82598.c
P src/sys/dev/pci/ixgbe/ixgbe_82598.h
P src/sys/dev/pci/ixgbe/ixgbe_82599.c
P src/sys/dev/pci/ixgbe/ixgbe_82599.h
P src/sys/dev/pci/ixgbe/ixgbe_api.c
P src/sys/dev/pci/ixgbe/ixgbe_api.h
P src/sys/dev/pci/ixgbe/ixgbe_bypass.h
P src/sys/dev/pci/ixgbe/ixgbe_common.c
P src/sys/dev/pci/ixgbe/ixgbe_common.h
P src/sys/dev/pci/ixgbe/ixgbe_dcb.c
P src/sys/dev/pci/ixgbe/ixgbe_dcb.h
P src/sys/dev/pci/ixgbe/ixgbe_dcb_82598.c
P src/sys/dev/pci/ixgbe/ixgbe_dcb_82598.h
P src/sys/dev/pci/ixgbe/ixgbe_dcb_82599.c
P src/sys/dev/pci/ixgbe/ixgbe_dcb_82599.h
P src/sys/dev/pci/ixgbe/ixgbe_fdir.h
P src/sys/dev/pci/ixgbe/ixgbe_features.h
P src/sys/dev/pci/ixgbe/ixgbe_mbx.c
P src/sys/dev/pci/ixgbe/ixgbe_mbx.h
P src/sys/dev/pci/ixgbe/ixgbe_osdep.c
P src/sys/dev/pci/ixgbe/ixgbe_osdep.h
P src/sys/dev/pci/ixgbe/ixgbe_phy.c
P src/sys/dev/pci/ixgbe/ixgbe_phy.h
P src/sys/dev/pci/ixgbe/ixgbe_rss.h
P src/sys/dev/pci/ixgbe/ixgbe_sriov.h
P src/sys/dev/pci/ixgbe/ixgbe_type.h
P src/sys/dev/pci/ixgbe/ixgbe_vf.c
P src/sys/dev/pci/ixgbe/ixgbe_vf.h
P src/sys/dev/pci/ixgbe/ixgbe_x540.c
P src/sys/dev/pci/ixgbe/ixgbe_x540.h
P src/sys/dev/pci/ixgbe/ixgbe_x550.c
P src/sys/dev/pci/ixgbe/ixgbe_x550.h
P src/sys/dev/pci/ixgbe/ixv.c
P src/sys/dev/rasops/rasops.c
P src/sys/dev/rasops/rasops.h
P src/sys/dev/usb/ehci.c
P src/sys/dev/wsfb/genfb.c
P src/sys/dev/wsfont/wsfont.c
P src/sys/dev/wsfont/wsfont.h
P src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c
P src/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.c
P src/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h
P src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_shmem.c
P src/sys/external/bsd/drm2/dist/drm/scheduler/sched_entity.c
P src/sys/external/bsd/drm2/linux/linux_sgt.c
P src/sys/external/bsd/drm2/linux/linux_ww_mutex.c
P src/sys/net/if_vlan.c

Updating xsrc tree:
P xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h
P xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c
P xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c


Killing core files:


Updating tar files:
src/top-level: collecting... replacing... done
src/bin: collecting... replacing... done
src/common: collecting... replacing... done
src/compat: collecting... replacing... done
src/crypto: collecting... replacing... done
src/dist: collecting... replacing... done
src/distrib: collecting... replacing... done
src/doc: collecting... replacing... done
src/etc: collecting... replacing... done
src/external: collecting... replacing... done
src/extsrc: collecting... replacing... done
src/games: collecting... replacing... done
src/gnu: collecting...pax: Unable to access src/gnu (No such file or directory)
pax: WARNING! These file names were not selected:
src/gnu
 done
src/include: collecting... replacing... done
src/lib: collecting... replacing... done
src/libexec: collecting... replacing... done
src/regress: collecting... replacing... done
src/rescue: collecting... replacing... done
src/sbin: collecting... replacing... done
src/share: collecting... replacing... done
src/sys: collecting... replacing... done
src/tests: collecting... replacing... done
src/tools: collecting... replacing... done
src/usr.bin: collecting... replacing... done
src/usr.sbin: collecting... replacing... done
src/config: collecting... replacing... done
src: collecting... replacing... done
xsrc/top-level: collecting... replacing... done
xsrc/external: collecting... replacing... done
xsrc/local: collecting... replacing... done
xsrc: collecting... replacing... done



Updating release-8 src tree (netbsd-8):
U doc/CHANGES-8.3
P sys/arch/x86/include/cacheinfo.h
P sys/arch/x86/include/cpu.h
P sys/arch/x86/x86/identcpu.c
P sys/arch/x86/x86/identcpu_subr.c
P usr.sbin/cpuctl/arch/cpuctl_i386.h
P usr.sbin/cpuctl/arch/i386.c

Updating release-8 xsrc tree (netbsd-8):


Updating release-8 tar files:
src/top-level: collecting... replacing... done
src/bin: collecting... replacing... done
src/common: collecting... replacing... done
src/compat: collecting... replacing... done
src/crypto: collecting... replacing... done
src/dist: collecting... replacing... done
src/distrib: collecting... replacing... done
src/doc: collecting... replacing... done
src/etc: collecting... replacing... done
src/external: collecting... replacing... done
src/extsrc: collecting... replacing... done
src/games: collecting... replacing... done
src/gnu: collecting...pax: Unable to access src/gnu (No such file or directory)
pax: WARNING! These file names were not selected:
src/gnu
 done
src/include: collecting... replacing... done
src/lib: collecting... replacing... done
src/libexec: collecting... replacing... done
src/regress: collecting... replacing... done
src/rescue: collecting... replacing... done
src/sbin: collecting... replacing... done
src/share: collecting... 

Re: HEADS UP: Merging drm update

2021-12-24 Thread Ryo ONODERA
Hi,

Taylor R Campbell  writes:

> Better yet -- can you try the attached patch?
> From e484fe666999730543f490ce6084486f7d7ce524 Mon Sep 17 00:00:00 2001
> From: Taylor R Campbell 
> Date: Fri, 24 Dec 2021 11:12:43 +
> Subject: [PATCH] i915: Use AcpiOsMapMemory, not bus_space_map, for opregion.
>
> Needed because this appears in firmware-type memory mappings, which
> are excluded from bus_space_map.
>
> XXX pullup-9 (via manual patch since the code has changed a bit)
(snip)

Thank you very much.

Your attached patch seems to be committed already.
I have updated my src tree and build, boot the latest kernel.
And the LCD turns black forever at different point.
However I cannot see the last message from the kernel.

Something goes wrong and i915drmkms does not work for my laptop yet.
I will try to find a problematic point.

-- 
Ryo ONODERA // r...@tetera.org
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Re: HEADS UP: Merging drm update

2021-12-24 Thread Taylor R Campbell
Better yet -- can you try the attached patch?
>From e484fe666999730543f490ce6084486f7d7ce524 Mon Sep 17 00:00:00 2001
From: Taylor R Campbell 
Date: Fri, 24 Dec 2021 11:12:43 +
Subject: [PATCH] i915: Use AcpiOsMapMemory, not bus_space_map, for opregion.

Needed because this appears in firmware-type memory mappings, which
are excluded from bus_space_map.

XXX pullup-9 (via manual patch since the code has changed a bit)
---
 .../dist/drm/i915/display/intel_opregion.c| 34 +--
 .../dist/drm/i915/display/intel_opregion.h| 14 
 2 files changed, 8 insertions(+), 40 deletions(-)

diff --git a/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.c 
b/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.c
index 4b0412828d49..b2f986bd74c0 100644
--- a/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.c
+++ b/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.c
@@ -952,15 +952,7 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv)
INIT_WORK(>asle_work, asle_work);
 
 #ifdef __NetBSD__
-   opregion->bst = pdev->pd_pa.pa_memt;
-   err = -bus_space_map(opregion->bst, asls, OPREGION_SIZE,
-   BUS_SPACE_MAP_LINEAR|BUS_SPACE_MAP_CACHEABLE,
-   >asls_bsh);
-   if (err) {
-   DRM_DEBUG_DRIVER("Failed to map opregion: %d\n", err);
-   return err;
-   }
-   base = bus_space_vaddr(opregion->bst, opregion->asls_bsh);
+   base = AcpiOsMapMemory(asls, OPREGION_SIZE);
 #else
base = memremap(asls, OPREGION_SIZE, MEMREMAP_WB);
 #endif
@@ -1035,14 +1027,7 @@ int intel_opregion_setup(struct drm_i915_private 
*dev_priv)
}
 
 #ifdef __NetBSD__
-   if (bus_space_map(opregion->bst, rvda,
-   opregion->asle->rvds,
-   BUS_SPACE_MAP_LINEAR|BUS_SPACE_MAP_CACHEABLE,
-   >rvda_bsh))
-   opregion->rvda = NULL;
-   else
-   opregion->rvda = bus_space_vaddr(opregion->bst,
-   opregion->rvda_bsh);
+   opregion->rvda = AcpiOsMapMemory(rvda, opregion->asle->rvds);
 #else
opregion->rvda = memremap(rvda, opregion->asle->rvds,
  MEMREMAP_WB);
@@ -1058,11 +1043,8 @@ int intel_opregion_setup(struct drm_i915_private 
*dev_priv)
} else {
DRM_DEBUG_KMS("Invalid VBT in ACPI OpRegion (RVDA)\n");
 #ifdef __NetBSD__
-   if (opregion->rvda) {
-   bus_space_unmap(opregion->bst,
-   opregion->rvda_bsh,
-   opregion->asle->rvds);
-   }
+   AcpiOsUnmapMemory(opregion->rvda,
+   opregion->asle->rvds);
 #else
memunmap(opregion->rvda);
 #endif
@@ -1094,7 +1076,7 @@ out:
 
 err_out:
 #ifdef __NetBSD__
-   bus_space_unmap(opregion->bst, opregion->asls_bsh, OPREGION_SIZE);
+   AcpiOsUnmapMemory(base, OPREGION_SIZE);
 #else
memunmap(base);
 #endif
@@ -1251,14 +1233,14 @@ void intel_opregion_unregister(struct drm_i915_private 
*i915)
 
/* just clear all opregion memory pointers now */
 #ifdef __NetBSD__
-   bus_space_unmap(opregion->bst, opregion->asls_bsh, OPREGION_SIZE);
+   size_t rvds = opregion->asle->rvds;
+   AcpiOsUnmapMemory(opregion->header, OPREGION_SIZE);
 #else
memunmap(opregion->header);
 #endif
if (opregion->rvda) {
 #ifdef __NetBSD__
-   bus_space_unmap(opregion->bst, opregion->rvda_bsh,
-   opregion->asle->rvds);
+   AcpiOsUnmapMemory(opregion->rvda, rvds);
 #else
memunmap(opregion->rvda);
 #endif
diff --git a/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h 
b/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h
index a04f1c9d9f74..879c4135f670 100644
--- a/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h
+++ b/sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h
@@ -38,17 +38,7 @@ struct opregion_acpi;
 struct opregion_swsci;
 struct opregion_asle;
 
-#ifdef __NetBSD__  /* XXX acpi iomem */
-#  include 
-#  define  __iomem __acpi_iomem
-#endif
-
 struct intel_opregion {
-#ifdef __NetBSD__
-   bus_space_tag_t bst;
-   bus_space_handle_t asls_bsh;
-   bus_space_handle_t rvda_bsh;
-#endif
struct opregion_header *header;
struct opregion_acpi *acpi;
struct opregion_swsci *swsci;
@@ -66,10 +56,6 @@ struct intel_opregion {
 
 #define OPREGION_SIZE(8 * 1024)
 
-#ifdef __NetBSD__  /* XXX acpi iomem */
-#  undef   __iomem
-#endif
-
 #ifdef CONFIG_ACPI
 
 int intel_opregion_setup(struct drm_i915_private *dev_priv);


Re: HEADS UP: Merging drm update

2021-12-24 Thread Taylor R Campbell
> Date: Thu, 23 Dec 2021 17:26:49 +
> From: Taylor R Campbell 
> 
> > Date: Fri, 24 Dec 2021 01:53:03 +0900
> > From: Ryo ONODERA 
> > 
> > And with this patch, I have gotten the following dmesg:
> > This has no bus_space_map and extent_alloc_subregion1...
> 
> OK, can you try the attached patch and see if it gives us any clues in
> dmesg?  This prints a stack trace any time subr_extent.c writes to a
> struct extent_region and the region now covers the relevant space.

The extent regions might be created too early in x86_parse_clusters,
before dmesg starts recording.

Can you dump bootinfo, e.g. from crash(8)?  Running this on an older
working kernel will do -- doesn't have to be from the broken one.

x/bx bootinfo,1000

(bootinfo might be more than 0x1000 bytes long, but this will probably
suffice to find what covers ASLS=0x63ec5018.)


Re: HEADS UP: Merging drm update

2021-12-24 Thread Michael van Elst
riastr...@netbsd.org (Taylor R Campbell) writes:

>   #include 

>   if (bpa <=3D BADADDR && BADADDR < bpa + size)
>   db_stacktrace();

>Then share the dmesg output on boot with this change to
>bus_space_reserve?

>This way we can track down who's reserving the registers that
>intel_opregion.c wants.


In my case (T420 with Sandy Bridge) nobody did bus_space_reserve
the registers that intel_opregion wants.

This here is the attempt to map the opregion:

 bus_space_reserve 0x80554799: 0xdaef6018+0x2000 -> extent_alloc_region 
failed
 bus_space_map 0x807689ee: 0xdaef6018+0x2000 -> bus_space_reserve failed

The iomem extent at that point is:

extent `iomem' (0x0 - 0x), flags = 0x3
  0x0 - 0x57fff
  0x58000 - 0x58fff
  0x59000 - 0x9
  0x10 - 0x1fff
  0x2020 - 0x3fff
  0x4020 - 0xda99efff
  0xdae9f000 - 0xdaf9efff <
  0xdaf9f000 - 0xdaffefff
  0xdafff000 - 0xdaff
  0xf000 - 0xf01f
  0xf020 - 0xf03f
  0xf140 - 0xf14000ff
  0xf240 - 0xf2401fff
  0xf250 - 0xf251
  0xf252 - 0xf2523fff
  0xf2528000 - 0xf25287ff
  0xf2529000 - 0xf25293ff
  0xf252a000 - 0xf252a3ff
  0xf252b000 - 0xf252bfff
  0xf800 - 0xf8000fff
  0xf801 - 0xf8010fff
  0xf80b - 0xf80b0fff
  0xf80c8000 - 0xf80c8fff
  0xf80d - 0xf80d0fff
  0xf80d8000 - 0xf80d8fff
  0xf80e - 0xf80e0fff
  0xf80e1000 - 0xf80e1fff
  0xf80e3000 - 0xf80e3fff
  0xf80e4000 - 0xf80e4fff
  0xf80e8000 - 0xf80e8fff
  0xf80f8000 - 0xf80f8fff
  0xf80fa000 - 0xf80fafff
  0xf80fb000 - 0xf80fbfff
  0xf830 - 0xf8300fff
  0xf8d0 - 0xf8d00fff
  0xfed0 - 0xfed003ff
  0xfed1c000 - 0xfed1
  0xfed4 - 0xfed44fff
  0x1 - 0x21e5f

The iomem extent is initialized from the UEFI memory map:

  #  N STARTEND
  0  7  00057fff
  1 10 00058000 00058fff
  2  7 00059000 0009
  3  7 0010 1fff
  4  0 2000 201f
  5  7 2020 3fff
  6  0 4000 401f
  7  7 4020 da99efff
  8  5 da99f000 daac1fff
  9  5 daac2000 dab9efff
 10  6 dab9f000 dacb1fff
 11  6 dacb2000 dad9efff
 12  0 dad9f000 dae21fff
 13  0 dae22000 dae9afff
 14  0 dae9b000 dae9bfff
 15  0 dae9c000 dae9efff
 16 10 dae9f000 daeddfff
 17 10 daede000 daf9efff  <--
 18  9 daf9f000 dafdcfff
 19  9 dafdd000 daffefff
 20  7 dafff000 daff
 21 11 f80f8000 f80f8fff
 22 11 fed1c000 fed1
 23  7 0001 00021e5f

The second column is the EFI md_type that gets translated to a
bootinfo memory type:
0 = null -> BIM_Reserved
5 = rt_code  -> BIM_Reserved
6 = rt_data  -> BIM_Reserved
7 = free -> BIM_Memory
9 = reclaim  -> BIM_ACPI
   10 = firmware -> BIM_NVS
   11 = iomem-> BIM_Reserved

The needed pages are in cluster 17 of type BIM_NVS, which the
extent has added as pre-allocated (merged with cluster 16).