Home | History | Annotate | only in /src/sys/external/bsd/drm2/i915drm
History log of /src/sys/external/bsd/drm2/i915drm
RevisionDateAuthorComments
 1.92 19-Sep-2025  mrg avoid various seemingly bogus warnings with GCC 14.

i couldn't see any real case for any of these issues. it seems like
the "maybe uninit" checker has gotten worse.

additionally, the "dangling pointer" checker also failing.
 1.91 05-Sep-2023  mrg match warnings with the module build, fixes i386 with GCC 12.
 1.90 03-Jun-2023  lukem adapt to ${CC_WNO_MAYBE_UNINITIALIZED}

Use ${CC_WNO_MAYBE_UNINITIALIZED} instead of
the older style more complex expressions.

Remove workarounds if they were for a specific
version of gcc < 10.
 1.89 03-Jun-2023  lukem adapt to ${CC_WNO_IMPLICIT_FALLTHROUGH}

Use ${CC_WNO_IMPLICIT_FALLTHROUGH} instead of
the older style more complex expressions.
 1.88 19-Jul-2022  riastradh drm: Propagate CPPFLAGS.drmkms into all the drm drivers.
 1.87 17-Jul-2022  riastradh i915: Remove spurious local i915_perf.c override.
 1.86 27-Feb-2022  riastradh i915: Use new acpidisp_register_notify for ACPI VGA events.
 1.85 21-Dec-2021  tnn drm: sprinkle some -Wno-unused-function for clang

915_sw_fence.c: for debug_fence_init_onstack
drm_mm.c: for rb_hole_size_to_node
intel_hdmi.c: for intel_hdmi_hdcp2_protocol
intel_guc_submission.c: for rq_prio
nouveau_nvkm_subdev_instmem_base.c: for fake_ioread32_native
nouveau_nvkm_subdev_mmu_vmmnv04.c: for nv04_vmm_pgt_pte
 1.84 19-Dec-2021  riastradh i915: Draft gem fault.
 1.83 19-Dec-2021  riastradh i915: intel_engine_pm.c and i915_active.c

...with a little less heinous abuse of C, and an attempt to
disentangle the tentacular abstraction violations rampant in these
components
 1.82 19-Dec-2021  riastradh i915: Disentangle uabi engines rb/llist/list spaghetti.
 1.81 19-Dec-2021  riastradh i915: Odds & ends.
 1.80 19-Dec-2021  riastradh i915: Define trace points
 1.79 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.78 19-Dec-2021  riastradh i915: more work
 1.77 19-Dec-2021  riastradh i915: more work
 1.76 19-Dec-2021  riastradh i915: hack hack hack
 1.75 19-Dec-2021  riastradh i915: more passes
 1.74 19-Dec-2021  riastradh i915: another whack at it
 1.73 19-Dec-2021  riastradh i915: More progress.
 1.72 19-Dec-2021  riastradh i915: Odds and ends.
 1.71 19-Dec-2021  riastradh i915: Adapt sw_fence.
 1.70 19-Dec-2021  riastradh drm: Another pass over i915. Most of i915 gem builds now.
 1.69 19-Dec-2021  riastradh i915_globals.c: don't build, not useful (we don't __init etc)


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.68 19-Dec-2021  riastradh drm/i915: Undo local i915_sw_fence override.

The code is now MIT-licensed, so we no longer need to rewrite it.
 1.67 19-Dec-2021  riastradh drm/i915: Unhook i915_gem_client_blt.c and revert changes.

Only used by self-tests, which we're not using (for now...).
 1.66 19-Dec-2021  riastradh i915: Disable i915_active.c for now; needs more work.
 1.65 19-Dec-2021  riastradh i915: Touch up local i915_sw_fence stubs to make it compile.
 1.64 19-Dec-2021  riastradh i915: Disable CONFIG_DRM_I915_DEBUG_RUNTIME_PM.

No runtime_pm at all here for now.
 1.63 19-Dec-2021  riastradh Need to provide a value for CONFIG_DRM_I915_DEBUG_RUNTIME_PM

Maybe 1 will do.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.62 19-Dec-2021  riastradh i915: Disable -Wmissing-field-initializers.
 1.61 19-Dec-2021  riastradh i915: Fix include path for intelfb files too.
 1.60 19-Dec-2021  riastradh define CONFIG values to be the same as linux


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.59 19-Dec-2021  riastradh Add include flag for intelfb.c's use of i915_drv.h header


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.58 19-Dec-2021  riastradh Revert part of previous: no separate CPPFLAGS.drmkms.

There are too many drms users outside sys/external/bsd/drm2 for now;
will hold off on this until we find a better way to keep the drm
includes modularized.
 1.57 19-Dec-2021  riastradh Narrow the CPPFLAGS for drm subsystems.

No need for the whole kernel to be built with -I flags for the drm
header files.
 1.56 19-Dec-2021  riastradh Merge updated i915drmkms2netbsd output.
 1.55 19-Dec-2021  riastradh Comment out debugfs files, we probably don't want those.


Author: Maya Rashish <maya@NetBSD.org>
 1.54 19-Dec-2021  riastradh Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>
 1.53 19-Dec-2021  riastradh misc drm hacks
 1.52 19-Dec-2021  riastradh Disable the i915_oa_* files (for now?).
 1.51 19-Dec-2021  riastradh The initializers with overrides got moved to i915_pci.c.
 1.50 19-Dec-2021  riastradh Disable i915 alpha hardware support.
 1.49 19-Dec-2021  riastradh i915_pci.c collides; rename ours to i915_pci_autoconf.c.
 1.48 19-Dec-2021  riastradh Stub out i915_gemfs.c and i915_perf.c.
 1.47 19-Dec-2021  riastradh i915_mm.c is of no use to us.
 1.46 19-Dec-2021  riastradh First pass at i915, far from complete.

HEAVILY MODIFIED IN MERGE - maya
 1.45 19-Dec-2021  riastradh Rename intel_dsi.c -> vlv_dsi.c
 1.44 19-Dec-2021  riastradh Stub i915_sw_fence.c.
 1.43 19-Dec-2021  riastradh Disable *_trace_points.c.

I accidentally deleted these in the import, because the *_trace.h
files got in the way and I forgot the *_trace_points.c files were
fine.

There's nothing important in them anyway, so nothing of value is
lost. Maybe next time I will remember to delete the *_trace.h files
on import but not the *_trace_points.c to reduce diffs, but that's
too much trouble at this point.
 1.42 19-Dec-2021  riastradh Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>
 1.41 02-Jun-2021  nia drm2: build with -fwrapv, since the Linux kernel does and we don't
want to spend too much time fixing their code. silences a lot of
KUBSAN warnings.

we need to use COPTS to have per-option compiler flags. help from
Riastradh.
 1.40 13-Apr-2021  mrg branches: 1.40.2; 1.40.6;
apply some -Wno- to ignore several new warnings with GCC 10.


ntp: ignore truncation beyond api sizes, and ignore wrongly
guessed underflow

tmux: ignore maybe uninitialised warning for impossible case

libbfd: signed/unsigned variables assigned in the same statement

dri/gallium: -Wno-builtin-declaration-mismatch for u_atomic.c as
it implements backend functions with different in-C-machine but
same-in-real-machine types

libXfont/libXfont2: signed/unsigned variables assigned in the same
statement

i915drm: ignore impossible maybe uninitialised warnings

sysinst: ignore an invalid string truncation issue
 1.39 14-Feb-2020  riastradh branches: 1.39.8;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.
 1.38 30-Sep-2019  mrg branches: 1.38.2;
convert HAVE_GCC == 7 to HAVE_GCC >= 7.
 1.37 04-Feb-2019  mrg add -Wno-error=int-in-bool-context or -Wno-error=implicit-fallthrough
for various drm files that would be best ignored or upstream fixed.
(could fix savagedrm, no one upstream is that any more.)
 1.36 27-Jan-2019  kre Fix merge botch.
 1.35 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.34 19-Jan-2019  dholland i915drmkms requires firmload. PR 53892
 1.33 21-Sep-2018  kamil Appease GCC with a kernel sanitizer

Add -Wno-maybe-uninitialized for intel_sprite.c that is a false positive.
 1.32 27-Aug-2018  riastradh Tag files.* with newer config version where needed.
 1.31 27-Aug-2018  riastradh Draft support for drm prime.
 1.30 27-Aug-2018  riastradh Put override directory first in CPPFLAGS.
 1.29 27-Aug-2018  riastradh Move CPPFLAGS to top, CWARNFLAGS below.
 1.28 27-Aug-2018  riastradh Omit commented warn flag, evidently needless.
 1.27 27-Aug-2018  riastradh Stub out intel_dsi_init.
 1.26 27-Aug-2018  riastradh Ifdef out Linux audio API stuff and re-enable intel_audio.c.
 1.25 27-Aug-2018  riastradh Override i915_gem_userptr.c with stubs for now.
 1.24 27-Aug-2018  riastradh Restore intel_fbdev.c.
 1.23 27-Aug-2018  riastradh Disable mipi dsi stuff until I can figure it out.
 1.22 27-Aug-2018  riastradh Just do all of i915drmkms with -Wno-shadow.
 1.21 27-Aug-2018  riastradh Disable intel_audio.c until we figure out how to make it talk to hdaudio.
 1.20 27-Aug-2018  riastradh i915_gem_gtt.c shadows.
 1.19 27-Aug-2018  riastradh Override i915_sysfs.c.
 1.18 27-Aug-2018  riastradh Allow shadowing in i915_vgpu.c.
 1.17 27-Aug-2018  riastradh i915_gpu_error.c shadows, don't worry about it.
 1.16 27-Aug-2018  riastradh Don't worry about shadowing here.
 1.15 27-Aug-2018  riastradh Think we're gonna need to override i915_gem_userptr.c.
 1.14 27-Aug-2018  riastradh bring in old drm changes

ifdef out some fb_info usage which we don't have and some of it
ifdef'd out in old drm

strangely reg_offset isn't used in the i2c whatever-thing

we need one more member to drm_fb_helper

define CONFIG_DRM_FBDEV_EMULATION so hopefully fewer redefinitions


Author: coypu <coypu@sdf.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.13 27-Aug-2018  riastradh regen files.i915drmkms
 1.12 27-Aug-2018  riastradh Move local i915 files earlier to make them more obvious.
 1.11 20-Aug-2015  skrll branches: 1.11.16; 1.11.18;
Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@
 1.10 05-Mar-2015  riastradh Factor generic parts of intelfb out into a drmfb.

Adapting radeondrmkmsfb should not be hard.

This will make nouveaufb easier too.
 1.9 14-Nov-2014  joerg branches: 1.9.2;
Fix build with clang.
 1.8 05-Nov-2014  nonaka i915drmkms(4): Enable CONFIG_ACPI if NACPICA > 0.
Now brightness can be adjusted via hotkey on Mouse Computer LB-J300X (Clevo W330SU2).
 1.7 02-Nov-2014  christos We need the i810 agp here, intel_gtt has it hard-coded.
 1.6 18-Aug-2014  riastradh branches: 1.6.2;
Restore Intel opregion stuff.
 1.5 26-Jul-2014  riastradh branches: 1.5.2;
Move CONFIG_X86 from files.i915drmkms to drm_os_netbsd.h.
 1.4 24-Jul-2014  riastradh Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.3 16-Jul-2014  riastradh Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.2 18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1 04-Mar-2014  riastradh branches: 1.1.2;
file files.i915drmkms was initially added on branch riastradh-drm2.
 1.1.2.1 04-Mar-2014  riastradh Rework drm2 configuration and modularization.

- Split drm2.kmod into drmkms_linux, drmkms, drmkms_pci.
- Split up drmkms-related files.* similarly.
- Make drm_agp_* routines hooks that the drmkms_pci module installs.
- Reuse drm device major 180 for (old) drm and drmkms.

Now old drm and new drmkms can coexist happily in the same tree, with
or without PCI, and require no changes to userland.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file files.i915drmkms was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file files.i915drmkms was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.5.2.5 05-Apr-2017  snj Pull up following revision(s) (requested by skrll in ticket #1395):
share/man/man4/axe.4: netbsd-7-nhusb
share/man/man4/axen.4: netbsd-7-nhusb
share/man/man4/cdce.4: netbsd-7-nhusb
share/man/man4/uaudio.4: netbsd-7-nhusb
share/man/man4/ucom.4: netbsd-7-nhusb
share/man/man4/uep.4: netbsd-7-nhusb
share/man/man4/urtw.4: netbsd-7-nhusb
share/man/man4/usb.4: netbsd-7-nhusb
share/man/man4/uyap.4: netbsd-7-nhusb
share/man/man4/xhci.4: netbsd-7-nhusb
share/man/man9/usbdi.9: netbsd-7-nhusb
sys/arch/amd64/conf/ALL: netbsd-7-nhusb
sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb
sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb
sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb
sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb
sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb
sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb
sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb
sys/arch/arm/imx/files.imx23: netbsd-7-nhusb
sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb
sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb
sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb
sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb
sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb
sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb
sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb
sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb
sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb
sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb
sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb
sys/arch/i386/conf/ALL: netbsd-7-nhusb
sys/arch/i386/conf/GENERIC: netbsd-7-nhusb
sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb
sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb
sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb
sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb
sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb
sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb
sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb
sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb
sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb
sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb
sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb
sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb
sys/conf/files: netbsd-7-nhusb
sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb
sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb
sys/dev/ic/sl811hs.c: netbsd-7-nhusb
sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb
sys/dev/isa/slhci_isa.c: netbsd-7-nhusb
sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb
sys/dev/pci/ehci_pci.c: netbsd-7-nhusb
sys/dev/pci/ohci_pci.c: netbsd-7-nhusb
sys/dev/pci/uhci_pci.c: netbsd-7-nhusb
sys/dev/pci/xhci_pci.c: netbsd-7-nhusb
sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb
sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb
sys/dev/usb/TODO: netbsd-7-nhusb
sys/dev/usb/TODO.usbmp: netbsd-7-nhusb
sys/dev/usb/aubtfwl.c: netbsd-7-nhusb
sys/dev/usb/auvitek.c: netbsd-7-nhusb
sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb
sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb
sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb
sys/dev/usb/auvitek_video.c: netbsd-7-nhusb
sys/dev/usb/auvitekvar.h: netbsd-7-nhusb
sys/dev/usb/ehci.c: netbsd-7-nhusb
sys/dev/usb/ehcireg.h: netbsd-7-nhusb
sys/dev/usb/ehcivar.h: netbsd-7-nhusb
sys/dev/usb/emdtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb
sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb
sys/dev/usb/emdtvvar.h: netbsd-7-nhusb
sys/dev/usb/ezload.c: netbsd-7-nhusb
sys/dev/usb/ezload.h: netbsd-7-nhusb
sys/dev/usb/files.usb: netbsd-7-nhusb
sys/dev/usb/hid.c: netbsd-7-nhusb
sys/dev/usb/hid.h: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb
sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb
sys/dev/usb/if_atu.c: netbsd-7-nhusb
sys/dev/usb/if_atureg.h: netbsd-7-nhusb
sys/dev/usb/if_aue.c: netbsd-7-nhusb
sys/dev/usb/if_auereg.h: netbsd-7-nhusb
sys/dev/usb/if_axe.c: netbsd-7-nhusb
sys/dev/usb/if_axen.c: netbsd-7-nhusb
sys/dev/usb/if_axenreg.h: netbsd-7-nhusb
sys/dev/usb/if_axereg.h: netbsd-7-nhusb
sys/dev/usb/if_cdce.c: netbsd-7-nhusb
sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb
sys/dev/usb/if_cue.c: netbsd-7-nhusb
sys/dev/usb/if_cuereg.h: netbsd-7-nhusb
sys/dev/usb/if_kue.c: netbsd-7-nhusb
sys/dev/usb/if_kuereg.h: netbsd-7-nhusb
sys/dev/usb/if_otus.c: netbsd-7-nhusb
sys/dev/usb/if_otusvar.h: netbsd-7-nhusb
sys/dev/usb/if_rum.c: netbsd-7-nhusb
sys/dev/usb/if_rumreg.h: netbsd-7-nhusb
sys/dev/usb/if_rumvar.h: netbsd-7-nhusb
sys/dev/usb/if_run.c: netbsd-7-nhusb
sys/dev/usb/if_runvar.h: netbsd-7-nhusb
sys/dev/usb/if_smsc.c: netbsd-7-nhusb
sys/dev/usb/if_smscreg.h: netbsd-7-nhusb
sys/dev/usb/if_smscvar.h: netbsd-7-nhusb
sys/dev/usb/if_udav.c: netbsd-7-nhusb
sys/dev/usb/if_udavreg.h: netbsd-7-nhusb
sys/dev/usb/if_upgt.c: netbsd-7-nhusb
sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb
sys/dev/usb/if_upl.c: netbsd-7-nhusb
sys/dev/usb/if_ural.c: netbsd-7-nhusb
sys/dev/usb/if_uralreg.h: netbsd-7-nhusb
sys/dev/usb/if_uralvar.h: netbsd-7-nhusb
sys/dev/usb/if_url.c: netbsd-7-nhusb
sys/dev/usb/if_urlreg.h: netbsd-7-nhusb
sys/dev/usb/if_urndis.c: netbsd-7-nhusb
sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtw.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn.c: netbsd-7-nhusb
sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb
sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb
sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb
sys/dev/usb/if_zyd.c: netbsd-7-nhusb
sys/dev/usb/if_zydreg.h: netbsd-7-nhusb
sys/dev/usb/irmce.c: netbsd-7-nhusb
sys/dev/usb/moscom.c: netbsd-7-nhusb
sys/dev/usb/motg.c: netbsd-7-nhusb
sys/dev/usb/motgvar.h: netbsd-7-nhusb
sys/dev/usb/ohci.c: netbsd-7-nhusb
sys/dev/usb/ohcireg.h: netbsd-7-nhusb
sys/dev/usb/ohcivar.h: netbsd-7-nhusb
sys/dev/usb/pseye.c: netbsd-7-nhusb
sys/dev/usb/slurm.c: netbsd-7-nhusb
sys/dev/usb/stuirda.c: netbsd-7-nhusb
sys/dev/usb/u3g.c: netbsd-7-nhusb
sys/dev/usb/uark.c: netbsd-7-nhusb
sys/dev/usb/uatp.c: netbsd-7-nhusb
sys/dev/usb/uaudio.c: netbsd-7-nhusb
sys/dev/usb/uberry.c: netbsd-7-nhusb
sys/dev/usb/ubsa.c: netbsd-7-nhusb
sys/dev/usb/ubsa_common.c: netbsd-7-nhusb
sys/dev/usb/ubsavar.h: netbsd-7-nhusb
sys/dev/usb/ubt.c: netbsd-7-nhusb
sys/dev/usb/uchcom.c: netbsd-7-nhusb
sys/dev/usb/ucom.c: netbsd-7-nhusb
sys/dev/usb/ucomvar.h: netbsd-7-nhusb
sys/dev/usb/ucycom.c: netbsd-7-nhusb
sys/dev/usb/udl.c: netbsd-7-nhusb
sys/dev/usb/udl.h: netbsd-7-nhusb
sys/dev/usb/udsbr.c: netbsd-7-nhusb
sys/dev/usb/udsir.c: netbsd-7-nhusb
sys/dev/usb/uep.c: netbsd-7-nhusb
sys/dev/usb/uftdi.c: netbsd-7-nhusb
sys/dev/usb/uftdireg.h: netbsd-7-nhusb
sys/dev/usb/ugen.c: netbsd-7-nhusb
sys/dev/usb/ugensa.c: netbsd-7-nhusb
sys/dev/usb/uhci.c: netbsd-7-nhusb
sys/dev/usb/uhcireg.h: netbsd-7-nhusb
sys/dev/usb/uhcivar.h: netbsd-7-nhusb
sys/dev/usb/uhid.c: netbsd-7-nhusb
sys/dev/usb/uhidev.c: netbsd-7-nhusb
sys/dev/usb/uhidev.h: netbsd-7-nhusb
sys/dev/usb/uhmodem.c: netbsd-7-nhusb
sys/dev/usb/uhso.c: netbsd-7-nhusb
sys/dev/usb/uhub.c: netbsd-7-nhusb
sys/dev/usb/uipad.c: netbsd-7-nhusb
sys/dev/usb/uipaq.c: netbsd-7-nhusb
sys/dev/usb/uirda.c: netbsd-7-nhusb
sys/dev/usb/uirdavar.h: netbsd-7-nhusb
sys/dev/usb/ukbd.c: netbsd-7-nhusb
sys/dev/usb/ukbdmap.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.c: netbsd-7-nhusb
sys/dev/usb/ukyopon.h: netbsd-7-nhusb
sys/dev/usb/ulpt.c: netbsd-7-nhusb
sys/dev/usb/umass.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.c: netbsd-7-nhusb
sys/dev/usb/umass_isdata.h: netbsd-7-nhusb
sys/dev/usb/umass_quirks.c: netbsd-7-nhusb
sys/dev/usb/umass_quirks.h: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb
sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb
sys/dev/usb/umassvar.h: netbsd-7-nhusb
sys/dev/usb/umcs.c: netbsd-7-nhusb
sys/dev/usb/umct.c: netbsd-7-nhusb
sys/dev/usb/umidi.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb
sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb
sys/dev/usb/umodem.c: netbsd-7-nhusb
sys/dev/usb/umodem_common.c: netbsd-7-nhusb
sys/dev/usb/umodemvar.h: netbsd-7-nhusb
sys/dev/usb/ums.c: netbsd-7-nhusb
sys/dev/usb/uplcom.c: netbsd-7-nhusb
sys/dev/usb/urio.c: netbsd-7-nhusb
sys/dev/usb/urio.h: netbsd-7-nhusb
sys/dev/usb/usb.c: netbsd-7-nhusb
sys/dev/usb/usb.h: netbsd-7-nhusb
sys/dev/usb/usb_mem.c: netbsd-7-nhusb
sys/dev/usb/usb_mem.h: netbsd-7-nhusb
sys/dev/usb/usb_quirks.c: netbsd-7-nhusb
sys/dev/usb/usb_quirks.h: netbsd-7-nhusb
sys/dev/usb/usb_subr.c: netbsd-7-nhusb
sys/dev/usb/usbdevices.config: netbsd-7-nhusb
sys/dev/usb/usbdevs: netbsd-7-nhusb
sys/dev/usb/usbdevs.h: netbsd-7-nhusb
sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb
sys/dev/usb/usbdi.c: netbsd-7-nhusb
sys/dev/usb/usbdi.h: netbsd-7-nhusb
sys/dev/usb/usbdi_util.c: netbsd-7-nhusb
sys/dev/usb/usbdi_util.h: netbsd-7-nhusb
sys/dev/usb/usbdivar.h: netbsd-7-nhusb
sys/dev/usb/usbhid.h: netbsd-7-nhusb
sys/dev/usb/usbhist.h: netbsd-7-nhusb
sys/dev/usb/usbroothub.c: netbsd-7-nhusb
sys/dev/usb/usbroothub.h: netbsd-7-nhusb
sys/dev/usb/usbroothub_subr.c: delete
sys/dev/usb/usbroothub_subr.h: delete
sys/dev/usb/uscanner.c: netbsd-7-nhusb
sys/dev/usb/uslsa.c: netbsd-7-nhusb
sys/dev/usb/usscanner.c: netbsd-7-nhusb
sys/dev/usb/ustir.c: netbsd-7-nhusb
sys/dev/usb/uthum.c: netbsd-7-nhusb
sys/dev/usb/utoppy.c: netbsd-7-nhusb
sys/dev/usb/uts.c: netbsd-7-nhusb
sys/dev/usb/uvideo.c: netbsd-7-nhusb
sys/dev/usb/uvisor.c: netbsd-7-nhusb
sys/dev/usb/uvscom.c: netbsd-7-nhusb
sys/dev/usb/uyap.c: netbsd-7-nhusb
sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb
sys/dev/usb/uyurex.c: netbsd-7-nhusb
sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb
sys/dev/usb/xhci.c: netbsd-7-nhusb
sys/dev/usb/xhcireg.h: netbsd-7-nhusb
sys/dev/usb/xhcivar.h: netbsd-7-nhusb
sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb
sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb
sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb
sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb
sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb
sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb
sys/external/bsd/drm2/include/linux/err.h: delete
sys/external/bsd/drm2/include/linux/workqueue.h: delete
sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb
sys/external/bsd/drm2/linux/linux_work.c: delete
sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb
sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb
sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb
sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb
sys/modules/i915drmkms/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb
sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb
sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb
sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete
sys/rump/dev/lib/libusb/opt/opt_usb.h: delete
sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete
sys/sys/mbuf.h: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb
usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb
Merge netbsd-7-nhusb:
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
- kern/48308
- uhub status notification improvements
- umass(4) probe fix (applied to HEAD already)
- ohci(4) short transfer fix
- Change the SOFTINT level from NET to SERIAL for the USB softint handler.
This gives the callback a chance of running when another softint handler
at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of
the network stack.
- kern/49065 - ifconfig tun0 ... sequence locks up system / lockup:
softnet_lock held across usb xfr
- kern/50491 - unkillable wait in usbd_transfer while using usmsc0
on raspberry pi 2
- kern/51395 - USB Ethernet makes xhci hang
- Various improvements to slhci(4)
- Various improvements to dwc2(4)
 1.5.2.4 06-Mar-2015  snj branches: 1.5.2.4.4;
Pull up following revision(s) (requested by mrg in ticket #573):
sys/external/bsd/common/include/linux/kernel.h: 1.5, 1.6
sys/external/bsd/drm2/dist/drm/drm_ioctl.c: 1.4
sys/external/bsd/drm2/dist/drm/drm_irq.c: 1.6-1.8
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: 1.13-1.15
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.23-1.27
sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c: 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 1.14, 1.15
sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: 1.10
sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: 1.8
sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: 1.8-1.13
sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: 1.6
sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.c: 1.5, 1.6
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/include/core/device.h: 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/mc.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/pwr.h: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/os.h: 1.4, 1.5
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_pll.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/fbmem.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nv50.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nvc0.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_base.c: 1.2, 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_base.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_ic.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nv04.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.h: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c: 1.4, 1.5
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fbcon.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_vga.h: 1.2
sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c: 1.6-1.8
sys/external/bsd/drm2/dist/drm/radeon/radeon_pm.c: 1.3
sys/external/bsd/drm2/dist/drm/radeon/rs400.c: 1.3
sys/external/bsd/drm2/dist/drm/via/via_dmablit.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/via/via_drv.h: 1.3
sys/external/bsd/drm2/dist/drm/via/via_irq.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/via/via_video.c: 1.3, 1.4
sys/external/bsd/drm2/dist/include/drm/drmP.h: 1.10
sys/external/bsd/drm2/dist/include/drm/drm_crtc.h: 1.4
sys/external/bsd/drm2/dist/include/drm/drm_modes.h: 1.3
sys/external/bsd/drm2/dist/uapi/drm/i915_drm.h: 1.2
sys/external/bsd/drm2/drm/drm_cache.c: 1.4-1.6
sys/external/bsd/drm2/drm/drm_drv.c: 1.14
sys/external/bsd/drm2/drm/drm_module.c: 1.10
sys/external/bsd/drm2/drm/drm_sysctl.c: 1.5
sys/external/bsd/drm2/drm/drm_vma_manager.c: 1.2
sys/external/bsd/drm2/drm/drmfb.c: 1.1
sys/external/bsd/drm2/drm/files.drmkms: 1.10, 1.11
sys/external/bsd/drm2/i2c/drm_encoder_slave.c: 1.1
sys/external/bsd/drm2/i915drm/files.i915drmkms: 1.7, 1.10
sys/external/bsd/drm2/i915drm/intelfb.c: 1.11, 1.12
sys/external/bsd/drm2/include/asm/io.h: 1.4
sys/external/bsd/drm2/include/asm/unaligned.h: 1.2, 1.3
sys/external/bsd/drm2/include/drm/drm_encoder_slave.h: 1.1
sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: 1.7-1.11
sys/external/bsd/drm2/include/drm/drmfb.h: 1.1
sys/external/bsd/drm2/include/drm/drmfb_pci.h: 1.1, 1.2
sys/external/bsd/drm2/include/linux/bitops.h: 1.9
sys/external/bsd/drm2/include/linux/i2c.h: 1.7, 1.8
sys/external/bsd/drm2/include/linux/io-mapping.h: 1.5
sys/external/bsd/drm2/include/linux/moduleparam.h: 1.5
sys/external/bsd/drm2/include/linux/pci.h: 1.12-1.15
sys/external/bsd/drm2/include/linux/pm.h: 1.4
sys/external/bsd/drm2/include/linux/reboot.h: 1.2
sys/external/bsd/drm2/include/linux/slab.h: 1.5
sys/external/bsd/drm2/include/linux/string.h: 1.4
sys/external/bsd/drm2/include/linux/vgaarb.h: 1.3
sys/external/bsd/drm2/include/linux/ww_mutex.h: 1.10
sys/external/bsd/drm2/linux/files.drmkms_linux: 1.8
sys/external/bsd/drm2/linux/linux_i2c.c: 1.3
sys/external/bsd/drm2/linux/linux_ww_mutex.c: 1.1
sys/external/bsd/drm2/nouveau/files.nouveau: 1.5-1.8
sys/external/bsd/drm2/nouveau/nouveau_pci.c: 1.1-1.3
sys/external/bsd/drm2/nouveau/nouveau_pci.h: 1.1
sys/external/bsd/drm2/nouveau/nouveau_sysfs.c: 1.1
sys/external/bsd/drm2/nouveau/nouveau_vga.c: 1.1
sys/external/bsd/drm2/nouveau/nouveaufb.c: 1.1
sys/external/bsd/drm2/nouveau/nouveaufb.h: 1.1
sys/external/bsd/drm2/pci/drm_pci.c: 1.10-1.12
sys/external/bsd/drm2/pci/drm_pci_module.c: 1.4
sys/external/bsd/drm2/pci/drmfb_pci.c: 1.1-1.3
sys/external/bsd/drm2/pci/files.drmkms_pci: 1.5
sys/external/bsd/drm2/radeon/radeon_pci.c: 1.5-1.7
sys/modules/drmkms/Makefile: 1.8, 1.9
sys/modules/drmkms_linux/Makefile: 1.6
sys/modules/drmkms_pci/Makefile: 1.5
sync drm2 with HEAD.
 1.5.2.3 11-Jan-2015  snj Pull up following revision(s) (requested by chs in ticket #401):
distrib/sets/lists/modules/md.amd64: revisions 1.46, 1.47 via patch
distrib/sets/lists/modules/md.i386: revisions 1.49, 1.50
sys/dev/ic/pcdisplayvar.h: revision 1.20
sys/dev/ic/vgavar.h: revision 1.32
sys/external/bsd/drm/dist/bsd-core/drm_drv.c: revision 1.26
sys/external/bsd/drm2/dist/drm/drm_agpsupport.c: revisions 1.5, 1.6
sys/external/bsd/drm2/dist/drm/drm_pci.c: revisions 1.4, 1.5
sys/external/bsd/drm2/dist/drm/drm_stub.c: revisions 1.6-1.8
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.11
sys/external/bsd/drm2/dist/drm/radeon/cik.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/ni.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/si.c: revision 1.3
sys/external/bsd/drm2/dist/include/drm/drmP.h: revisions 1.8, 1.9
sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h: revisions 1.3, 1.4
sys/external/bsd/drm2/drm/drm_drv.c: revision 1.11
sys/external/bsd/drm2/drm/drm_module.c: revision 1.9
sys/external/bsd/drm2/drm/drm_sysctl.c: revisions 1.1-1.4
sys/external/bsd/drm2/drm/drm_vm.c: revision 1.7
sys/external/bsd/drm2/drm/files.drmkms: revisions 1.8, 1.9
sys/external/bsd/drm2/i915drm/files.i915drmkms: revision 1.9
sys/external/bsd/drm2/i915drm/i915_module.c: revisions 1.4, 1.5
sys/external/bsd/drm2/include/drm/drm_sysctl.h: revisions 1.1, 1.2
sys/external/bsd/drm2/include/linux/hdmi.h: revisions 1.3-1.5
sys/external/bsd/drm2/include/linux/module.h: revision 1.5
sys/external/bsd/drm2/include/linux/moduleparam.h: revisions 1.3, 1.4
sys/external/bsd/drm2/include/linux/pci.h: revision 1.11
sys/external/bsd/drm2/linux/linux_module.c: revision 1.5
sys/external/bsd/drm2/nouveau/files.nouveau: revision 1.4
sys/external/bsd/drm2/nouveau/nouveau_module.c: revision 1.3
sys/external/bsd/drm2/pci/drm_pci.c: revision 1.8
sys/external/bsd/drm2/pci/drm_pci_module.c: revision 1.3
sys/external/bsd/drm2/radeon/radeon_module.c: revision 1.3
sys/external/bsd/drm2/ttm/files.ttm: revision 1.1
sys/modules/drm2pci/Makefile: file removal
sys/modules/drmkms/Makefile: revisions 1.4-1.7
sys/modules/drmkms_linux/Makefile: revision 1.5
sys/modules/drmkms_pci/Makefile: revisions 1.3, 1.4
sys/modules/i915drmkms/Makefile: revisions 1.5-1.7
Split drm ttm config into a separate file.
--
Fix module build of drmkms_linux.
--
Remove vestigial drm2pci module, replaced by drmkms_pci.
--
fix the module class.
--
add the drmkms modules
--
make a drm_agp_destroy() function to resolve the circular dependency between
drmkms and drmkms_pci
--
finalize the idr code.
--
add drm_agp_destroy
--
fix drmkms module path for xen.
--
fix build failure.
/tmp/bracket/build/2014.11.10.22.43.46-i386/src/sys/external/bsd/drm2/include/linux/pci.h:36:20: fatal error: acpica.h: No such file or directory
--
make this work: add agpsupport and sysctl code
--
move agpsupport to drmkms to avoid circular dependencies.
--
turn on dynamic ldscript creation to handle link set symbol definitions
used in the automatic sysctl creation.
--
Add __link_set based code to automatically convert the linux module parameters
into sysctls.
--
this module needs MKLDSCRIPT too now
--
more _KERNEL_OPT
--
prettify and add to all the modules that have it.
--
fix description setting.
--
Adjust flags to allow building with clang.
--
Fix build with clang.
--
Drop casts in favour of expressions that actually give the right
pointer.
--
Move all PCI/AGP code back to drmkms_pci module where it belongs.
--
Use correct length for hdmi_infoframe_header_pack in <linux/hdmi.h>.
Fixes PR kern/49411.
--
Back out previous, fix PR kern/49411 correctly.
frame->header.length is not initialized in the vendor packet case.
Instead, make hdmi_infoframe_header_pack take the packet length and
subtract the size of the header when packing the header.
(Could make it take the payload length instead, but for callers it is
more convenient to have a name for the whole packet length.)
--
Fix bounds checking in hdmi_infoframe_header_pack (PR kern/49411).
--
Trivial build fix for no options SYSCTL_INCLUDE_DESCR case, to
avoid -Werror.
OK christos@ and riastradh@
--
fix debugging compilation (ALL kernel)
--
nouveau_nv50_fence.c needs -Wno-shadow.
--
fix a confusion between dev_t and devmajor_t, and include the primary
minor when calling makedev().
 1.5.2.2 11-Nov-2014  martin Pull up following revision(s) (requested by nonaka in ticket #197):
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.10
sys/external/bsd/drm2/include/linux/pci.h: revision 1.10
sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c: revision 1.3
sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c: revision 1.4
sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_opregion.c: revision 1.6
sys/external/bsd/drm2/dist/drm/i915/intel_opregion.c: revision 1.7
sys/external/bsd/drm2/include/linux/acpi.h: revision 1.3
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.12
sys/external/bsd/drm2/i915drm/files.i915drmkms: revision 1.8
i915drmkms(4): Enable CONFIG_ACPI if NACPICA > 0.
Now brightness can be adjusted via hotkey on Mouse Computer LB-J300X
(Clevo W330SU2).
Fix compilation (debug)
pci_attach_args of pci_find_device and match function is not the same thing.
fix PR/49372.
 1.5.2.1 22-Aug-2014  martin Pull up following revision(s) (requested by riastradh in ticket #45):
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.8
sys/external/bsd/drm2/i915drm/files.i915drmkms: revision 1.6
Restore Intel opregion stuff.
 1.5.2.4.4.1 06-Sep-2016  skrll First pass at netbsd-7 updated with USB code from HEAD
 1.6.2.3 03-Dec-2017  jdolecek update from HEAD
 1.6.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.1 18-Aug-2014  tls file files.i915drmkms was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.9.2.2 22-Sep-2015  skrll Sync with HEAD
 1.9.2.1 06-Apr-2015  skrll Sync with HEAD
 1.11.18.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.11.18.1 10-Jun-2019  christos Sync with HEAD
 1.11.16.3 26-Jan-2019  pgoyette Sync with HEAD
 1.11.16.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.11.16.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.38.2.1 29-Feb-2020  ad Sync with head.
 1.39.8.1 17-Apr-2021  thorpej Sync with HEAD.
 1.40.6.1 06-Jun-2021  cjep sync with head
 1.40.2.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file i915_gem.c was initially added on branch riastradh-drm2.
 1.1.2.3 08-Sep-2013  riastradh Adapt the i915 GEM code to NetBSD.
 1.1.2.2 24-Jul-2013  riastradh Initialize mm.retire_work in i915_gem_load stub.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.16 16-Jul-2014  riastradh Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.15 03-Jun-2014  riastradh Rework gen6 aperture/gtt size detection. Mark variables __diagused.
 1.14 29-May-2014  riastradh Work around broken GTT size detection in agp_i810 code.

This will do until I work out the twisty maze of registers, all
different, to reliably determine the size of the GTT (and hence the
GPU's virtual address space) separately from the size of the AGP
aperture.
 1.13 28-May-2014  riastradh Fix bogus GTT total size calculation. Omit gtt_bsh for `agp' gtt.
 1.12 23-May-2014  riastradh Fix GTT PTE flag bits.
 1.11 20-May-2014  riastradh branches: 1.11.2;
Miscellaneous little fixes for harmless issues:

- Fix sense of subtraction in i915_gem_restore_gtt_mappings (not
currently used, so this was harmless).

- Program gtt->gtt_scratch_map->dm_segs[0].ds_addr rather than
gtt->gtt_scratch_seg.ds_addr into the GTT for consistency with the
bus_dma API. These are currently the same, but if we ever start
using x86 iommu perhaps that may change.

- Kassert that the scratch PTE decodes into the scratch address.
 1.10 19-May-2014  riastradh Remove (bad) debugging message that crept into i915_gem_gtt_init.
 1.9 19-May-2014  riastradh Fix page/byte sense of AGP GTT parameter calculations.
 1.8 19-May-2014  riastradh Use correct value for gtt->gtt_bsh in agp case (unused, so harmless).
 1.7 19-May-2014  riastradh Use the scratch page, not zero, to clear ggtt entries for gen<6.
 1.6 14-May-2014  riastradh branches: 1.6.2;
Tweak i915 gen6_gtt_init calculations for clarity.
 1.5 02-May-2014  riastradh Cast from uint32_t to bus_addr_t earlier, since it may exceed 32 bits.
 1.4 01-May-2014  riastradh Clear only the requested range in gen6_ggtt_clear_range.

Sprinkle kasserts throughout i915_gem_gtt.c.
 1.3 03-Apr-2014  riastradh branches: 1.3.2;
Miscellaneous fixes for drm2 on i386.
 1.2 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.1 08-Sep-2013  riastradh branches: 1.1.2;
file i915_gem_gtt.c was initially added on branch riastradh-drm2.
 1.1.2.10 05-Mar-2014  riastradh Fix up i915_gem_gtt for agp-style gen<6 devices.

- Set the DMA mask correctly: gen<4 needs 32-bit; gen4+, 36-bit.
- Use agp_i810_write_gtt_entry, not AGP_BIND_PAGE.
- Do a posting read after changing all the GTT entries.
 1.1.2.9 05-Mar-2014  riastradh First draft of i915_gem_gtt.c for pre-Sandy Bridge (gen<6) devices.

These go through the legacy AGP cruft to get at the GTT.
 1.1.2.8 05-Mar-2014  aymeric revert to bogus assertion, as requested by riastradh@ to ease forecoming commit
 1.1.2.7 04-Mar-2014  aymeric do not KASSERT out on Sandy Bridge
 1.1.2.6 08-Sep-2013  riastradh Still more error branch cleanup.
 1.1.2.5 08-Sep-2013  riastradh Fix arithmetic in gen6_ggtt_bind_object.
 1.1.2.4 08-Sep-2013  riastradh Sprinkle some kasserts into i915_gem_gtt.c.
 1.1.2.3 08-Sep-2013  riastradh Fix a bunch of i915 error branches.

Some of these fixes are necessary only on NetBSD because we require
mutex_destroy, while Linux doesn't.
 1.1.2.2 08-Sep-2013  riastradh Shift the GTT size by twenty only once.
 1.1.2.1 08-Sep-2013  riastradh Adapt the i915 GEM code to NetBSD.
 1.3.2.1 10-Aug-2014  tls Rebase.
 1.6.2.2 18-May-2014  rmind sync with head
 1.6.2.1 14-May-2014  rmind file i915_gem_gtt.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.11.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.11.2.1 20-May-2014  yamt file i915_gem_gtt.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.5 19-Dec-2021  riastradh i915: Initialize userptr wq for now. Should wire this up for real!
 1.4 19-Dec-2021  riastradh drm: Another pass over i915. Most of i915 gem builds now.
 1.3 19-Dec-2021  riastradh ../dist/drm/i915/gem/i915_gem_ioctls.h for i915_gem_userptr_ioctl prototype


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.2 19-Dec-2021  riastradh Update i915_gem_init_userptr signature.
 1.1 27-Aug-2018  riastradh branches: 1.1.2; 1.1.6;
Override i915_gem_userptr.c with stubs for now.
 1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.6.1 27-Aug-2018  christos file i915_gem_userptr.c was added on branch phil-wifi on 2019-06-10 22:08:30 +0000
 1.1.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.2.1 27-Aug-2018  pgoyette file i915_gem_userptr.c was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
 1.2 19-Dec-2021  riastradh Change local drm files include path to match upstream changes.


Author: Maya Rashish <maya@NetBSD.org>
 1.1 19-Dec-2021  riastradh Stub out i915_gemfs.c and i915_perf.c.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file i915_irq.c was initially added on branch riastradh-drm2.
 1.1.2.4 24-Jul-2013  riastradh Kludge up i915 stubs and start using the real i915_irq.c.
 1.1.2.3 24-Jul-2013  riastradh Add i915_hangcheck_elapsed stub.
 1.1.2.2 24-Jul-2013  riastradh Add intel_irq_init stub.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.19 17-Jul-2022  riastradh i915: Omit needless i915_global_buddy_init declaration.
 1.18 27-Feb-2022  riastradh i915: Use new acpidisp_register_notify for ACPI VGA events.
 1.17 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.16 19-Dec-2021  riastradh i915: Odds and ends.
 1.15 19-Dec-2021  riastradh i915: Adapt sw_fence.
 1.14 19-Dec-2021  riastradh drm: Another pass over i915. Most of i915 gem builds now.
 1.13 19-Dec-2021  riastradh drm/i915: Unhook i915_gem_client_blt.c and revert changes.

Only used by self-tests, which we're not using (for now...).
 1.12 19-Dec-2021  riastradh i915: machete
 1.11 19-Dec-2021  riastradh i915: Call i915_global_buddy_init from i915 module init.
 1.10 19-Dec-2021  riastradh Remove last users of drmP.h.
 1.9 19-Dec-2021  riastradh No more load-time hacking of the struct drm_driver structure, yay!
 1.8 28-Aug-2018  riastradh Move decl of drm_guarantee_initialized to drmP.h.
 1.7 28-Aug-2018  riastradh Eliminate drm_pci_init/exit. Empty for a while, no need.
 1.6 27-Aug-2018  riastradh Fix definition and initialization of mchdev_lock.
 1.5 12-Nov-2014  christos branches: 1.5.18; 1.5.20;
prettify and add to all the modules that have it.
 1.4 12-Nov-2014  christos Add __link_set based code to automatically convert the linux module parameters
into sysctls.
 1.3 16-Jul-2014  riastradh branches: 1.3.2; 1.3.4;
Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.2 18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file i915_module.c was initially added on branch riastradh-drm2.
 1.1.2.9 04-Mar-2014  riastradh Rework drm2 configuration and modularization.

- Split drm2.kmod into drmkms_linux, drmkms, drmkms_pci.
- Split up drmkms-related files.* similarly.
- Make drm_agp_* routines hooks that the drmkms_pci module installs.
- Reuse drm device major 180 for (old) drm and drmkms.

Now old drm and new drmkms can coexist happily in the same tree, with
or without PCI, and require no changes to userland.
 1.1.2.8 29-Jan-2014  riastradh First draft of in-kernel drm2 attachment.

The drm2 `drm' device is now called `drmkms' (likewise `i915drmkms',
&c.) so that it can coexist with the old drm code to reduce diffs
from HEAD. (Can't call a device `drm2'.)
 1.1.2.7 24-Jul-2013  riastradh Set num_ioctls and enable DRIVER_MODESET in i915 module init.
 1.1.2.6 24-Jul-2013  riastradh Call drm_pci_init/exit on i915drm2 module load/unload.
 1.1.2.5 24-Jul-2013  riastradh i915_irq.c needs <linux/printk.h.
 1.1.2.4 24-Jul-2013  riastradh drm2 module is still called `drm' for now, so fix i915drm2 depends.
 1.1.2.3 24-Jul-2013  riastradh Use %d, not %s, for the error number in i915_module.c.
 1.1.2.2 24-Jul-2013  riastradh Add drm2edid to the commented list of what i915drm2 should depend on.
 1.1.2.1 24-Jul-2013  riastradh Add i915drm2 module.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file i915_module.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file i915_module.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.1 16-Jul-2014  tls file i915_module.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.3.2.1 11-Jan-2015  snj Pull up following revision(s) (requested by chs in ticket #401):
distrib/sets/lists/modules/md.amd64: revisions 1.46, 1.47 via patch
distrib/sets/lists/modules/md.i386: revisions 1.49, 1.50
sys/dev/ic/pcdisplayvar.h: revision 1.20
sys/dev/ic/vgavar.h: revision 1.32
sys/external/bsd/drm/dist/bsd-core/drm_drv.c: revision 1.26
sys/external/bsd/drm2/dist/drm/drm_agpsupport.c: revisions 1.5, 1.6
sys/external/bsd/drm2/dist/drm/drm_pci.c: revisions 1.4, 1.5
sys/external/bsd/drm2/dist/drm/drm_stub.c: revisions 1.6-1.8
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.11
sys/external/bsd/drm2/dist/drm/radeon/cik.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/ni.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/si.c: revision 1.3
sys/external/bsd/drm2/dist/include/drm/drmP.h: revisions 1.8, 1.9
sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h: revisions 1.3, 1.4
sys/external/bsd/drm2/drm/drm_drv.c: revision 1.11
sys/external/bsd/drm2/drm/drm_module.c: revision 1.9
sys/external/bsd/drm2/drm/drm_sysctl.c: revisions 1.1-1.4
sys/external/bsd/drm2/drm/drm_vm.c: revision 1.7
sys/external/bsd/drm2/drm/files.drmkms: revisions 1.8, 1.9
sys/external/bsd/drm2/i915drm/files.i915drmkms: revision 1.9
sys/external/bsd/drm2/i915drm/i915_module.c: revisions 1.4, 1.5
sys/external/bsd/drm2/include/drm/drm_sysctl.h: revisions 1.1, 1.2
sys/external/bsd/drm2/include/linux/hdmi.h: revisions 1.3-1.5
sys/external/bsd/drm2/include/linux/module.h: revision 1.5
sys/external/bsd/drm2/include/linux/moduleparam.h: revisions 1.3, 1.4
sys/external/bsd/drm2/include/linux/pci.h: revision 1.11
sys/external/bsd/drm2/linux/linux_module.c: revision 1.5
sys/external/bsd/drm2/nouveau/files.nouveau: revision 1.4
sys/external/bsd/drm2/nouveau/nouveau_module.c: revision 1.3
sys/external/bsd/drm2/pci/drm_pci.c: revision 1.8
sys/external/bsd/drm2/pci/drm_pci_module.c: revision 1.3
sys/external/bsd/drm2/radeon/radeon_module.c: revision 1.3
sys/external/bsd/drm2/ttm/files.ttm: revision 1.1
sys/modules/drm2pci/Makefile: file removal
sys/modules/drmkms/Makefile: revisions 1.4-1.7
sys/modules/drmkms_linux/Makefile: revision 1.5
sys/modules/drmkms_pci/Makefile: revisions 1.3, 1.4
sys/modules/i915drmkms/Makefile: revisions 1.5-1.7
Split drm ttm config into a separate file.
--
Fix module build of drmkms_linux.
--
Remove vestigial drm2pci module, replaced by drmkms_pci.
--
fix the module class.
--
add the drmkms modules
--
make a drm_agp_destroy() function to resolve the circular dependency between
drmkms and drmkms_pci
--
finalize the idr code.
--
add drm_agp_destroy
--
fix drmkms module path for xen.
--
fix build failure.
/tmp/bracket/build/2014.11.10.22.43.46-i386/src/sys/external/bsd/drm2/include/linux/pci.h:36:20: fatal error: acpica.h: No such file or directory
--
make this work: add agpsupport and sysctl code
--
move agpsupport to drmkms to avoid circular dependencies.
--
turn on dynamic ldscript creation to handle link set symbol definitions
used in the automatic sysctl creation.
--
Add __link_set based code to automatically convert the linux module parameters
into sysctls.
--
this module needs MKLDSCRIPT too now
--
more _KERNEL_OPT
--
prettify and add to all the modules that have it.
--
fix description setting.
--
Adjust flags to allow building with clang.
--
Fix build with clang.
--
Drop casts in favour of expressions that actually give the right
pointer.
--
Move all PCI/AGP code back to drmkms_pci module where it belongs.
--
Use correct length for hdmi_infoframe_header_pack in <linux/hdmi.h>.
Fixes PR kern/49411.
--
Back out previous, fix PR kern/49411 correctly.
frame->header.length is not initialized in the vendor packet case.
Instead, make hdmi_infoframe_header_pack take the packet length and
subtract the size of the header when packing the header.
(Could make it take the payload length instead, but for callers it is
more convenient to have a name for the whole packet length.)
--
Fix bounds checking in hdmi_infoframe_header_pack (PR kern/49411).
--
Trivial build fix for no options SYSCTL_INCLUDE_DESCR case, to
avoid -Werror.
OK christos@ and riastradh@
--
fix debugging compilation (ALL kernel)
--
nouveau_nv50_fence.c needs -Wno-shadow.
--
fix a confusion between dev_t and devmajor_t, and include the primary
minor when calling makedev().
 1.5.20.1 10-Jun-2019  christos Sync with HEAD
 1.5.18.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22 19-Dec-2021  riastradh i915_pci.c collides; rename ours to i915_pci_autoconf.c.
 1.21 27-Aug-2018  riastradh Call i915_drm_suspend_late too.
 1.20 27-Aug-2018  riastradh Call linux_pci_dev_destroy on detach.
 1.19 27-Aug-2018  riastradh Pass the parent explicitly to linux_pci_dev_init.

This will allow us to use it in match routines.
 1.18 27-Aug-2018  riastradh Move linux_pci_dev_init into callers of drm_pci_attach.

The order in nouveau has to be

- linux_pci_dev_init
- nvkm_device_pci_new
- rest of drm_pci_attach
 1.17 27-Aug-2018  riastradh i915 needs firmware now too, so defer to mountroot.
 1.16 27-Aug-2018  riastradh Attempt to hook up i915 suspend/resume callbacks.
 1.15 24-Jul-2014  riastradh branches: 1.15.4; 1.15.28; 1.15.30;
Tweak i915drmkms_detach to be more robust.
 1.14 24-Jul-2014  riastradh Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.13 23-Jul-2014  riastradh Omit redundant vga_is_console test.

This was a copypasta error -- before it tested iot then memt -- but I
see no evidence that passing memt to vga_is_console is ever sensible.
 1.12 16-Jul-2014  riastradh Get suspend/resume sorta working for i915drm.
 1.11 16-Jul-2014  riastradh Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.10 13-Jul-2014  mlelstv The vga driver now detaches wscons.
 1.9 01-Jul-2014  riastradh Implement i915drmkms wsdisplay blank/backlight/brightness controls.
 1.8 25-Apr-2014  riastradh branches: 1.8.2; 1.8.4;
Take the console only from vga or generic genfb.

Adapted from a patch by nonaka@ in PR 48705.

While here, attach i915 genfb earlier as in PR 48706.
 1.7 06-Apr-2014  riastradh Restore is_console=1 for i915, even if I keep it off for debugging.
 1.6 06-Apr-2014  riastradh Add missing declaration from last commit.
 1.5 04-Apr-2014  riastradh branches: 1.5.2;
Tweak i915 framebuffer attachment in preparation for detach/reconfig.

Can't do this yet because genfb can't detach or reconfigure...
 1.4 03-Apr-2014  riastradh Miscellaneous fixes for drm2 on i386.
 1.3 03-Apr-2014  riastradh Make i915drmkms grab the console by default.
 1.2 18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file i915_pci.c was initially added on branch riastradh-drm2.
 1.1.2.13 05-Mar-2014  riastradh Handle attach failure and don't try a framebuffer in i915 on failure.
 1.1.2.12 29-Jan-2014  riastradh Make i915drm_match return 6 to beat genfb_pci no matter what.
 1.1.2.11 29-Jan-2014  riastradh First draft of in-kernel drm2 attachment.

The drm2 `drm' device is now called `drmkms' (likewise `i915drmkms',
&c.) so that it can coexist with the old drm code to reduce diffs
from HEAD. (Can't call a device `drm2'.)
 1.1.2.10 29-Jan-2014  riastradh Defer i915drm_attach_framebuffer until interrupts are running.

The i915 code initialization relies on counting hardclock ticks for a
delay (ugh).

Not an issue for modules, but it will matter when we build drm2 into
the kernel proper.
 1.1.2.9 22-Jan-2014  riastradh Label fail4 is now used, so don't mark it __unused.
 1.1.2.8 21-Jan-2014  riastradh Fix i915_genfb_mmap base addresses and offsets.
 1.1.2.7 15-Jan-2014  riastradh Unconditionalize the genfb attachment.
 1.1.2.6 15-Jan-2014  riastradh Clean up the still-not-yet-functional genfb attachment cruft a bit.
 1.1.2.5 30-Dec-2013  riastradh Detach framebuffer stuff before drm device in i915drm_detach.

Detaching the drm device calls the i915_driver_unload routine, which
nukes the i915 private data structures, so that we can't use them any
more to detach the framebuffer.

Now i915drm2 unloads!
 1.1.2.4 08-Sep-2013  riastradh First draft of genfb attachment for i915.
 1.1.2.3 24-Jul-2013  riastradh Fix up drm attachment code.
 1.1.2.2 24-Jul-2013  riastradh Initialize sc->sc_drm_dev->driver = i915_drm_driver in i915drm_attach.
 1.1.2.1 24-Jul-2013  riastradh Add local i915_pci.c for PCI driver attachment goop.
 1.5.2.1 10-Aug-2014  tls Rebase.
 1.8.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.8.4.1 25-Apr-2014  yamt file i915_pci.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.8.2.2 18-May-2014  rmind sync with head
 1.8.2.1 25-Apr-2014  rmind file i915_pci.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.15.30.1 10-Jun-2019  christos Sync with HEAD
 1.15.28.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.15.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.4.1 24-Jul-2014  tls file i915_pci.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.2 18-Jul-2022  riastradh drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.
 1.1 24-Jul-2014  riastradh branches: 1.1.2; 1.1.6;
Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 24-Jul-2014  tls file i915_pci.h was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 24-Jul-2014  tls file i915_pci.h was added on branch tls-earlyentropy on 2014-08-10 06:55:39 +0000
 1.14 15-Oct-2022  riastradh i915: Suspend ioctls while device is suspended.
 1.13 22-Sep-2022  riastradh i915: Make sure to call i915_drm_prepare too on suspend.
 1.12 18-Jul-2022  riastradh drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.
 1.11 20-Dec-2021  riastradh i915: Mark a KASSERT-only variable __diagused.

Minor KNF fix while here.
 1.10 19-Dec-2021  riastradh drm: Rework attach/detach and deferred task logic.

- Reduce the number of states the softc can be in.
- Fix races between attach and other threads.
 1.9 19-Dec-2021  riastradh i915: Omit needless reachover of i915_drm_driver.
 1.8 19-Dec-2021  riastradh i915: Nix drm_dev_alloc, and do drm_pci_attach in i915_driver_probe.

i915 uses a struct drm_device embedded in struct drm_i915_private
now, so we can't allocate it separately.
 1.7 19-Dec-2021  riastradh drm: Omit needless pci_attach_args from our drm_pci_attach.

Can already get it from the struct pci_dev, and this way we can more
easily call it from patched upstream code as i915 will need to do.
 1.6 19-Dec-2021  riastradh Return pci_device_t from match so we can call i915_driver_probe


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.5 19-Dec-2021  riastradh drm: Another pass over i915. Most of i915 gem builds now.
 1.4 19-Dec-2021  riastradh Split drm_dev_alloc/register out of drm_pci_attach.

Needed by nouveau which needs to do

drm_dev_alloc
drm_pci_attach
nouveau_drm_device_init
drm_dev_register
 1.3 19-Dec-2021  riastradh Remove last users of drmP.h.
 1.2 19-Dec-2021  riastradh Reflect rename IS_PRELIMINARY_HW -> IS_ALPHA_SUPPORT.
 1.1 19-Dec-2021  riastradh i915_pci.c collides; rename ours to i915_pci_autoconf.c.
 1.3 17-Jul-2022  riastradh i915: Remove spurious local i915_perf.c override.
 1.2 19-Dec-2021  riastradh Fix copypasto.
 1.1 19-Dec-2021  riastradh Stub out i915_gemfs.c and i915_perf.c.
 1.2 19-Dec-2021  riastradh drm/i915: Undo local i915_sw_fence override.

The code is now MIT-licensed, so we no longer need to rewrite it.
 1.1 19-Dec-2021  riastradh Stub i915_sw_fence.c.
 1.5 19-Dec-2021  riastradh drm/i915: Undo local i915_sw_fence override.

The code is now MIT-licensed, so we no longer need to rewrite it.
 1.4 19-Dec-2021  riastradh i915: Touch up local i915_sw_fence stubs to make it compile.
 1.3 19-Dec-2021  riastradh Add some more stub i915_sw_fence prototypes.
 1.2 19-Dec-2021  riastradh Add i915_sw_fence_await_sw_fence_gfp stub declaration.
 1.1 19-Dec-2021  riastradh Stub i915_sw_fence.c.
 1.1 19-Dec-2021  riastradh i915: More progress.
 1.4 19-Dec-2021  riastradh i915: More progress.
 1.3 19-Dec-2021  riastradh Update i915_setup/teardown_sysfs prototypes.
 1.2 18-Mar-2014  riastradh branches: 1.2.4; 1.2.6; 1.2.10;
Merge riastradh-drm2 to HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file i915_sysfs.c was initially added on branch riastradh-drm2.
 1.1.2.2 24-Jul-2013  riastradh Add i1915_setup_sysfs stub.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.10.1 18-Mar-2014  tls file i915_sysfs.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file i915_sysfs.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file i915_sysfs.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.1 19-Dec-2021  riastradh i915: Define trace points
 1.4 02-Jul-2024  riastradh i915: Update i915drmkms2netbsd to prepare for new import.
 1.3 19-Dec-2021  riastradh branches: 1.3.10;
Break down and use gmake for i915drmkms2netbsd too.


Author: Maya Rashish <maya@NetBSD.org>
 1.2 27-Aug-2018  riastradh branches: 1.2.2; 1.2.6;
Restore intel_fbdev.c.
 1.1 27-Aug-2018  riastradh Scripts to generate radeon and intel file lists.
 1.2.6.2 10-Jun-2019  christos Sync with HEAD
 1.2.6.1 27-Aug-2018  christos file i915drmkms2netbsd was added on branch phil-wifi on 2019-06-10 22:08:30 +0000
 1.2.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2.2.1 27-Aug-2018  pgoyette file i915drmkms2netbsd was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
 1.3.10.1 02-Aug-2025  perseant Sync with HEAD
 1.1 19-Dec-2021  riastradh i915: Add missing stub file.
 1.3 19-Dec-2021  riastradh Rename intel_dsi.c -> vlv_dsi.c
 1.2 27-Aug-2018  riastradh branches: 1.2.2; 1.2.6;
Use dtrace probes to implement i915_trace.h.
 1.1 27-Aug-2018  riastradh Stub out intel_dsi_init.
 1.2.6.2 10-Jun-2019  christos Sync with HEAD
 1.2.6.1 27-Aug-2018  christos file intel_dsi.c was added on branch phil-wifi on 2019-06-10 22:08:30 +0000
 1.2.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.2.2.1 27-Aug-2018  pgoyette file intel_dsi.c was added on branch pgoyette-compat on 2018-09-06 06:56:36 +0000
 1.1 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.3 16-Jul-2014  riastradh Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.2 18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file intel_fb.c was initially added on branch riastradh-drm2.
 1.1.2.2 08-Sep-2013  riastradh Round of hacking on i915 framebuffers.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file intel_fb.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file intel_fb.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.14 19-Dec-2021  riastradh i915: more work
 1.13 19-Dec-2021  riastradh i915: ggtt
 1.12 19-Dec-2021  riastradh Update intel gtt API.

TODO: Find where the stolen memory base is in agp_i810.
 1.11 27-Aug-2018  riastradh Convert to uintmax_t if we're going to use %jx.
 1.10 27-Aug-2018  riastradh Linux uses uint64 for these parameters now, so follow suit.
 1.9 27-Aug-2018  riastradh Cope with multi-page segments.
 1.8 27-Aug-2018  riastradh Call it intel_gtt_insert_sg_entries for expedience.

It uses a bus_dmamap, not a Linux scatterlist a.k.a. sg, but
otherwise it functions the same way and this avoids patching
upstream.
 1.7 27-Aug-2018  riastradh Restore gtt page table control register on resume.

Additional subroutine agp_i810_reset is used by i915drmkms to make
sure it happens early enough, since i915drmkms resumes before agp.

XXX pullup-7
XXX pullup-8
 1.6 06-Aug-2018  riastradh Flush chipset writes after GGTT update.

Echoes Linux commit:

commit 8516673a996870ea0ceb337ee4f83c33c5ec3111
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Dec 8 21:46:16 2017 +0000

agp/intel: Flush all chipset writes after updating the GGTT

Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.

For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.

References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a single PTE")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-chris@chris-wilson.co.uk

XXX pullup
 1.5 06-Mar-2015  riastradh branches: 1.5.10; 1.5.16; 1.5.18;
Pass cache-related flags through to the GTT on pre-SNB devices.

I had assumed for ages this would increase the amount of caching and
thereby increase the chance of stale caches leading to rendering
glitches. But apparently I was wrong, and failing to pass these
through was causing all sorts of problems!
 1.4 16-Jul-2014  riastradh branches: 1.4.2; 1.4.4; 1.4.6;
Make it build and boot on my test machines.

Screen blanks on boot on the Ivy Bridge system with

DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun

But after that everything is OK. Appears to be an upstream problem.
To investigate...

I think there's a cache flushing issue somewhere -- there are little
display artefacts on my T60.
 1.3 23-May-2014  riastradh Implement intel_gtt_chipset_flush correctly.
 1.2 18-Mar-2014  riastradh branches: 1.2.2; 1.2.4; 1.2.6;
Merge riastradh-drm2 to HEAD.
 1.1 08-Sep-2013  riastradh branches: 1.1.2;
file intel_gtt.c was initially added on branch riastradh-drm2.
 1.1.2.2 05-Mar-2014  riastradh Kludgey attempt to fill in intel_gtt stubs.
 1.1.2.1 08-Sep-2013  riastradh Adapt the i915 GEM code to NetBSD.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 18-Mar-2014  yamt file intel_gtt.c was added on branch yamt-pagecache on 2014-05-22 11:40:55 +0000
 1.2.4.2 18-May-2014  rmind sync with head
 1.2.4.1 18-Mar-2014  rmind file intel_gtt.c was added on branch rmind-smpnet on 2014-05-18 17:46:00 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.6.1 06-Apr-2015  skrll Sync with HEAD
 1.4.4.3 03-Dec-2017  jdolecek update from HEAD
 1.4.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.4.1 16-Jul-2014  tls file intel_gtt.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.4.2.1 17-Mar-2015  riz Pull up following revision(s) (requested by snj in ticket #590):
sys/external/bsd/drm2/i915drm/intel_gtt.c: revision 1.5
sys/external/bsd/drm2/drm/drm_drv.c: revision 1.15
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.28
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c: revision 1.3
sys/dev/pci/agp_i810.c: revision 1.115
sys/dev/pci/agp_i810.c: revision 1.116
sys/external/bsd/drm2/include/drm/intel-gtt.h: revision 1.5
sys/dev/pci/agp_i810.c: revision 1.117
sys/external/bsd/drm2/drm/drm_gem_vm.c: revision 1.6
sys/dev/pci/agp_i810var.h: revision 1.6
Issue a write barrier after updating the GTT.
Linux never used to do this...until a month:
<a rel="nofollow" href="https://bugs.freedesktop.org/show_bug.cgi?id=88191">https://bugs.freedesktop.org/show_bug.cgi?id=88191</a>
commit 983d308cb8f602d1920a8c40196eb2ab6cc07bd2
Author: Chris Wilson &lt;chris%chris-wilson.co.uk@localhost&gt;
Date: Mon Jan 26 10:47:10 2015 +0000
agp/intel: Serialise after GTT updates
Include &lt;sys/atomic.h&gt; for membar_producer.
(Why didn't this fail in my build?)
Pass cache-related flags through to the GTT on pre-SNB devices.
I had assumed for ages this would increase the amount of caching and
thereby increase the chance of stale caches leading to rendering
glitches. But apparently I was wrong, and failing to pass these
through was causing all sorts of problems!
Dedup the NetBSD portion of the code (ok Riastradh), no functional change.
Don't return events that are too large and leave them in the list.
Apply access control to gem mmap.
fix gcc is stupid.
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.5.10.2 31-Aug-2018  martin Pull up following revision(s) (requested by riastradh in ticket #998):

sys/dev/pci/agp_i810var.h: revision 1.7
sys/external/bsd/drm2/i915drm/intel_gtt.c: revision 1.7
sys/dev/pci/agp_i810.c: revision 1.123

Restore gtt page table control register on resume.

Additional subroutine agp_i810_reset is used by i915drmkms to make
sure it happens early enough, since i915drmkms resumes before agp.

XXX pullup-7
XXX pullup-8
 1.5.10.1 31-Aug-2018  martin Pull up following revision(s) (requested by riastradh in ticket #997):

sys/external/bsd/drm2/i915drm/intel_gtt.c: revision 1.6
sys/external/bsd/drm2/include/linux/delay.h: revision 1.5
sys/external/bsd/common/include/linux/kernel.h: revision 1.9
sys/external/bsd/drm2/include/linux/vmalloc.h: revision 1.5
sys/external/bsd/drm2/include/linux/bitops.h: revision 1.12
sys/external/bsd/drm2/include/linux/bitops.h: revision 1.13

hweight32 should take uint32_t, not uint16_t. OOPS.
XXX pullup

Fix find_first_zero_bit to find the high bits of 64-bit words...oops.
XXX pullup

Use uvm_km_alloc(kernel_map) and pmap_kenter, not uvm_pagermapin.
XXX pullup

Flush chipset writes after GGTT update.

Echoes Linux commit:

commit 8516673a996870ea0ceb337ee4f83c33c5ec3111
Author: Chris Wilson <chris%chris-wilson.co.uk@localhost>
Date: Fri Dec 8 21:46:16 2017 +0000
agp/intel: Flush all chipset writes after updating the GGTT
Before accessing the GGTT we must flush the PTE writes and make them
visible to the chipset, or else the indirect access may end up in the
wrong page. In commit 3497971a71d8 ("agp/intel: Flush chipset writes
after updating a single PTE"), we noticed corruption of the uploads for
pwrite and for capturing GPU error states, but it was presumed that the
explicit calls to intel_gtt_chipset_flush() were sufficient for the
execbuffer path. However, we have not been flushing the chipset between
the PTE writes and access via the GTT itself.
For simplicity, do the flush after any PTE update rather than try and
batch the flushes on a just-in-time basis.
References: 3497971a71d8 ("agp/intel: Flush chipset writes after updating a single PTE")
Signed-off-by: Chris Wilson <chris%chris-wilson.co.uk@localhost>
Cc: Tvrtko Ursulin <tvrtko.ursulin%intel.com@localhost>
Cc: Mika Kuoppala <mika.kuoppala%intel.com@localhost>
Cc: drm-intel-fixes%lists.freedesktop.org@localhost
Reviewed-by: Joonas Lahtinen <joonas.lahtinen%linux.intel.com@localhost>
Link: https://patchwork.freedesktop.org/patch/msgid/20171208214616.30147-1-chris%chris-wilson.co.uk@localhost

XXX pullup


Round nsec up for usec delay.
XXX pullup


libkern min/max is 32-bit. Linux min/max is generic. @!*#@!$&
XXX pullup
 1.3 19-Dec-2021  riastradh i915: Make intel_gtt_get prototype match Linux.
 1.2 19-Dec-2021  riastradh i915: Figure out the graphics stolen memory base.
 1.1 19-Dec-2021  riastradh i915: more work
 1.1 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.1 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file intel_pm.c was initially added on branch riastradh-drm2.
 1.1.2.6 08-Sep-2013  riastradh Adapt intel_pm.c to NetBSD. Drop stubs.
 1.1.2.5 08-Sep-2013  riastradh Adapt the Intel ringbuffer code to NetBSD.
 1.1.2.4 24-Jul-2013  riastradh Kludge up i915 stubs and start using the real i915_irq.c.
 1.1.2.3 24-Jul-2013  riastradh Add intel_gt_init stub.
 1.1.2.2 24-Jul-2013  riastradh Stub out ironlake_teardown_rc6 in intel_pm.c too.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.1 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.1 24-Jul-2013  riastradh branches: 1.1.2;
file intel_ringbuffer.c was initially added on branch riastradh-drm2.
 1.1.2.3 08-Sep-2013  riastradh Adapt the Intel ringbuffer code to NetBSD.
 1.1.2.2 24-Jul-2013  riastradh Kludge up i915 stubs and start using the real i915_irq.c.
 1.1.2.1 24-Jul-2013  riastradh Stub out i915_{gem,irq,sysfs}.c and intel_{fb,pm,ringbuffer}.c for now.
 1.25 22-May-2023  nat Use the offset in mmap calculations.

It fixes wsfb(4) when used with intelfb(4).

Ok riastradh@

XXX pullup-10
 1.24 18-Jul-2022  riastradh branches: 1.24.4;
drm: Simplify async framebuffer child task attachment logic.

No need for scheduling the task to fail. Nix needless error
branches.
 1.23 18-Jul-2022  riastradh drm: Fix asynchronous attach logic for drm framebuffer devices.

The driver-specific sc_scheduled boolean flag was racy. It is
necessary to use config_pending_incr/decr to hold up console
selection and userland start (and block detach, not that that works
yet) until the drmfb attach has completed.
 1.22 19-Dec-2021  riastradh Make intel_psr.c build
netbsd-ify
Stub out intel_lpe_audio.c (for now?).
Hammer intel_opregion.c into shape.
Hack up intel_lrc.c
Adapt intel_reset.c
Stub out intel_region_lmem.c
Adapt intel_ring_submission.c
Adapt intel_rps.c
Adapt intel_sdvo.c
Adapt intel_runtime_pm.c
Adapt intel_sideband.c
Adapt intel_sprite.c
Adapt intel_tv.c
Adapt intel_tc.c
Adapt intel_sseu.c
Adapt intel_timeline.c
Adapt intel_uc_fw.c and fix typo
Fix up intel_uncore.c
intel_vga.c
intel_wakeref.c
intel_vdsc.c
intel_wopcm.c
intel_workarounds.c
i915_globals.c
Fix up intelfb.c
Stub out intel_guc_log.c
Stub out intel_dsi_dcs_backlight.c
i915_perf.c
intel_hdmi.c
intel_hdcp.c


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.21 19-Dec-2021  riastradh Have i915_vma_pin_iomap map us the framebuffer

Rather than passing bus space arguments around. Also fixes build.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.20 19-Dec-2021  riastradh No more intel_drv.h, probably meant i915_drv.h if not used


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.19 19-Dec-2021  riastradh Remove last users of drmP.h.
 1.18 12-Jun-2021  riastradh ipmi(4), intelfb(4): Use config_pending_incr/decr.

Don't abuse autoconf's private (and incoherent) dv_flags.
 1.17 15-Aug-2019  rin branches: 1.17.12;
kern/52229

Correct linebytes (stride) for intelfb(4), which fixes screen
corruption on the following machines:

- MacBookAir5,2 (Ivy Bridge, 13-inch, Mid 2012)
- MacBookAir6,1 (Haswell, 11-inch, Early 2014)

Now, wsdisplay(4) console as well as intel(4) driver of Xorg
works fine on these machines.

Also there's no side effects found on another machine:

- ThinkPad T480s (Kaby Lake R)

XXX
pullup to netbsd-9
 1.16 01-Dec-2018  msaitoh branches: 1.16.4;
Use DVF_ATTACH_INPROGRESS.
 1.15 27-Aug-2018  riastradh Use dtrace probes to implement i915_trace.h.
 1.14 12-Dec-2016  maya branches: 1.14.14; 1.14.16;
add da_fb_linebytes to drmfb_attach_args and use it to pass linebytes
from nouveau code to drmfb. keep the same linebytes logic for i915.

nvidia hardware needs 256 byte alignment, so aligning to just 64 was
not enough.

fixes broken console with a width of 1440px (PR kern/51181)
ok riastradh
 1.13 04-Apr-2015  jmcneill branches: 1.13.2;
pmf_device_register returns false on failure, not true
 1.12 05-Mar-2015  riastradh Factor out intelfb_is_vga_console to drmfb_pci.
 1.11 05-Mar-2015  riastradh Factor generic parts of intelfb out into a drmfb.

Adapting radeondrmkmsfb should not be hard.

This will make nouveaufb easier too.
 1.10 14-Sep-2014  riastradh branches: 1.10.2;
Disable VGA plane after vga_cndetach.

Disabling the VGA plane requires access to the VGA registers, which
don't become available until vga_cndetach. Oops!
 1.9 09-Aug-2014  jmcneill branches: 1.9.2; 1.9.4; 1.9.6;
no need to call drm_fb_helper_set_config after genfb attaches, as the setmode callback is called by genfb_attach
 1.8 08-Aug-2014  jmcneill add a pmf shutdown handler to switch genfb into polling mode
 1.7 06-Aug-2014  jmcneill provide a setmode callback for genfb; with this change, vt switching in and out of X works
 1.6 05-Aug-2014  riastradh Use surface_width/height, not fb_width/height.

This matches the sizes the upstream code uses.
 1.5 25-Jul-2014  riastradh Prettify intelfb/radeondrmkmsfb autoconf output.
 1.4 24-Jul-2014  riastradh Remove leftover debugging kludge.
 1.3 24-Jul-2014  riastradh Make ddb enter/exit work while X is running with i915drmkms.
 1.2 24-Jul-2014  riastradh Fix WSDISPLAYIO_GET_BUSID on new intelfb(4).

Need to pass the PCI device, not one of its children (which intelfb
is), to wsdisplayio_busid_pci.

Fixes starting X.
 1.1 24-Jul-2014  riastradh Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.9.6.3 03-Dec-2017  jdolecek update from HEAD
 1.9.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.6.1 09-Aug-2014  tls file intelfb.c was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.9.4.4 14-Dec-2016  snj Pull up following revision(s) (requested by riastradh in ticket #1322):
sys/external/bsd/drm2/drm/drmfb.c: revision 1.3
sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.14
sys/external/bsd/drm2/include/drm/drmfb.h: revision 1.2
sys/external/bsd/drm2/nouveau/nouveaufb.c: revision 1.4
add da_fb_linebytes to drmfb_attach_args and use it to pass linebytes
from nouveau code to drmfb. keep the same linebytes logic for i915.
nvidia hardware needs 256 byte alignment, so aligning to just 64 was
not enough.
fixes broken console with a width of 1440px (PR kern/51181)
ok riastradh
 1.9.4.3 23-Apr-2015  snj branches: 1.9.4.3.4;
Pull up following revision(s) (requested by mrg in ticket #718):
sys/arch/x86/include/pmap.h: revision 1.56
sys/arch/x86/x86/pmap.c: revision 1.188
sys/dev/pci/agp_amd64.c: revision 1.8
sys/dev/pci/agp_i810.c: revision 1.118
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.16
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.29
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_agp.c: revision 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: revision 1.4
sys/external/bsd/drm2/dist/drm/radeon/atombios_crtc.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_agp.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_display.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_crtc.c: revision 1.2
sys/external/bsd/drm2/dist/drm/radeon/radeon_object.c: revision 1.3
sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c: revision 1.7
sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c: revisions 1.7-1.10
sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c: revision 1.5
sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.13
sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: revisions 1.12, 1.13
sys/external/bsd/drm2/include/linux/mm.h: revision 1.5
sys/external/bsd/drm2/include/linux/pci.h: revisions 1.16, 1.17
sys/external/bsd/drm2/nouveau/nouveaufb.c: revision 1.2
sys/external/bsd/drm2/radeon/radeon_pci.c: revisions 1.8, 1.9
sys/uvm/uvm_init.c: revision 1.46
Hack against the blank console problem:
Leave the CLUT alone on ancient cards. At least this leaves us with a
semi working console (red and blue are flipped). Leave an example of what
seems to be happening but disable it because colors are better than 444 bit
greyscale.
--
Initialize P->V tracking for unmanaged device pages in uvm_init.

Conditional on __HAVE_PMAP_PV_TRACK until we add it to all pmaps.

MI part of pmap_pv(9) change proposed on tech-kern:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Implement pmap_pv(9) for x86 for P->V tracking of unmanaged pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html
--
Use pmap_pv(9) to remove mappings of Intel graphics aperture pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Use pmap_pv(9) to remove mappings of device pages in TTM.

Adapt nouveau and radeon to do pmap_pv_track for their device pages.

Proposed on tech-kern with no objections:

https://mail-index.netbsd.org/tech-kern/2015/03/26/msg018561.html

Further background at:

https://mail-index.netbsd.org/tech-kern/2014/07/23/msg017392.html
--
Fix error branches in agp_amd64.c.

- agp_generic_detach always.
- Free asc if it was allocated. (Found by Brainy, noted by maxv@.)
- Free the GATT if it was allocated.
--
pmf_device_register returns false on failure, not true
--
In DRM_SPIN_WAIT_ON, don't stop after waiting only one tick.

Continue the loop to recheck the condition and count the whole
duration.
--
Don't use the video BIOS memory as an i915 flush page!
--
Don't let anyone else allocate the video BIOS either.
--
Missed a zero: it's 0x100000, not 0x10000.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
Don't reserve if atomic -- caller must have pre-pinned the buffer.
--
almost add radeondrmkms suspend/resume support. it unfortunately doesn't work.
--
Need the page's uvm object lock to do pmap_page_protect.
--
Use KASSERTMSG to show bad base/offset.
--
KASSERT about page-alignment on initialization too.
--
Don't break when hardclock_ticks wraps around.

Since we now only count time spent in wait, rather than determining
the end time and checking whether we've passed it, timeouts might be
marginally longer in effect. Unlikely to be an issue.
--
Remove broken drm2 vm_mmap stub. Can't possibly have ever worked.
--
apply some of the additional changes from Arto Huusko in PR#49645:
- call pmf_device_deregister on detach.

i've kept the "resume = true" for radeon_resume_kms() call as it
seems to work for me (indeed, code inspection shows it is unused
on netbsd :-)

my old nforce4 box that can resume old drm (or could, last i tried
several years ago) while X and GL apps were running, can at least
survive a resume if X hasn't started. my one attempt so far with
X exited, but having run, did not work.
--
First attempt to make ttm_buffer_object_transfer less bogus.
--
Make sure mem.bus.is_iomem is initialized. PR 49833
 1.9.4.2 06-Mar-2015  snj Pull up following revision(s) (requested by mrg in ticket #573):
sys/external/bsd/common/include/linux/kernel.h: 1.5, 1.6
sys/external/bsd/drm2/dist/drm/drm_ioctl.c: 1.4
sys/external/bsd/drm2/dist/drm/drm_irq.c: 1.6-1.8
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: 1.13-1.15
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.23-1.27
sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c: 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: 1.14, 1.15
sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: 1.10
sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: 1.8
sys/external/bsd/drm2/dist/drm/i915/intel_i2c.c: 1.8-1.13
sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: 1.6
sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.c: 1.5, 1.6
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c: 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/include/core/device.h: 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/mc.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/include/subdev/pwr.h: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/os.h: 1.4, 1.5
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_pll.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/fbmem.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nv50.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nvc0.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_base.c: 1.2, 1.3
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_base.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_ic.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_base.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nv04.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.h: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c: 1.4, 1.5
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fbcon.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c: 1.3
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.h: 1.2
sys/external/bsd/drm2/dist/drm/nouveau/nouveau_vga.h: 1.2
sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c: 1.6-1.8
sys/external/bsd/drm2/dist/drm/radeon/radeon_pm.c: 1.3
sys/external/bsd/drm2/dist/drm/radeon/rs400.c: 1.3
sys/external/bsd/drm2/dist/drm/via/via_dmablit.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/via/via_drv.h: 1.3
sys/external/bsd/drm2/dist/drm/via/via_irq.c: 1.3, 1.4
sys/external/bsd/drm2/dist/drm/via/via_video.c: 1.3, 1.4
sys/external/bsd/drm2/dist/include/drm/drmP.h: 1.10
sys/external/bsd/drm2/dist/include/drm/drm_crtc.h: 1.4
sys/external/bsd/drm2/dist/include/drm/drm_modes.h: 1.3
sys/external/bsd/drm2/dist/uapi/drm/i915_drm.h: 1.2
sys/external/bsd/drm2/drm/drm_cache.c: 1.4-1.6
sys/external/bsd/drm2/drm/drm_drv.c: 1.14
sys/external/bsd/drm2/drm/drm_module.c: 1.10
sys/external/bsd/drm2/drm/drm_sysctl.c: 1.5
sys/external/bsd/drm2/drm/drm_vma_manager.c: 1.2
sys/external/bsd/drm2/drm/drmfb.c: 1.1
sys/external/bsd/drm2/drm/files.drmkms: 1.10, 1.11
sys/external/bsd/drm2/i2c/drm_encoder_slave.c: 1.1
sys/external/bsd/drm2/i915drm/files.i915drmkms: 1.7, 1.10
sys/external/bsd/drm2/i915drm/intelfb.c: 1.11, 1.12
sys/external/bsd/drm2/include/asm/io.h: 1.4
sys/external/bsd/drm2/include/asm/unaligned.h: 1.2, 1.3
sys/external/bsd/drm2/include/drm/drm_encoder_slave.h: 1.1
sys/external/bsd/drm2/include/drm/drm_wait_netbsd.h: 1.7-1.11
sys/external/bsd/drm2/include/drm/drmfb.h: 1.1
sys/external/bsd/drm2/include/drm/drmfb_pci.h: 1.1, 1.2
sys/external/bsd/drm2/include/linux/bitops.h: 1.9
sys/external/bsd/drm2/include/linux/i2c.h: 1.7, 1.8
sys/external/bsd/drm2/include/linux/io-mapping.h: 1.5
sys/external/bsd/drm2/include/linux/moduleparam.h: 1.5
sys/external/bsd/drm2/include/linux/pci.h: 1.12-1.15
sys/external/bsd/drm2/include/linux/pm.h: 1.4
sys/external/bsd/drm2/include/linux/reboot.h: 1.2
sys/external/bsd/drm2/include/linux/slab.h: 1.5
sys/external/bsd/drm2/include/linux/string.h: 1.4
sys/external/bsd/drm2/include/linux/vgaarb.h: 1.3
sys/external/bsd/drm2/include/linux/ww_mutex.h: 1.10
sys/external/bsd/drm2/linux/files.drmkms_linux: 1.8
sys/external/bsd/drm2/linux/linux_i2c.c: 1.3
sys/external/bsd/drm2/linux/linux_ww_mutex.c: 1.1
sys/external/bsd/drm2/nouveau/files.nouveau: 1.5-1.8
sys/external/bsd/drm2/nouveau/nouveau_pci.c: 1.1-1.3
sys/external/bsd/drm2/nouveau/nouveau_pci.h: 1.1
sys/external/bsd/drm2/nouveau/nouveau_sysfs.c: 1.1
sys/external/bsd/drm2/nouveau/nouveau_vga.c: 1.1
sys/external/bsd/drm2/nouveau/nouveaufb.c: 1.1
sys/external/bsd/drm2/nouveau/nouveaufb.h: 1.1
sys/external/bsd/drm2/pci/drm_pci.c: 1.10-1.12
sys/external/bsd/drm2/pci/drm_pci_module.c: 1.4
sys/external/bsd/drm2/pci/drmfb_pci.c: 1.1-1.3
sys/external/bsd/drm2/pci/files.drmkms_pci: 1.5
sys/external/bsd/drm2/radeon/radeon_pci.c: 1.5-1.7
sys/modules/drmkms/Makefile: 1.8, 1.9
sys/modules/drmkms_linux/Makefile: 1.6
sys/modules/drmkms_pci/Makefile: 1.5
sync drm2 with HEAD.
 1.9.4.1 10-Nov-2014  martin Pull up following revision(s) (requested by snj in ticket #191):
sys/external/bsd/drm2/include/linux/io-mapping.h: revision 1.4
sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_panel.c: revision 1.5
sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.6
sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: revision 1.7
sys/external/bsd/drm2/include/linux/ww_mutex.h: revision 1.7
sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: revision 1.8
sys/external/bsd/drm2/dist/drm/i915/i915_ums.c: revision 1.2
sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/i915_debugfs.c: revision 1.2
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.9
sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.4
sys/external/bsd/drm2/dist/drm/i915/intel_dsi.c: revision 1.3
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.11
sys/external/bsd/drm2/dist/drm/i915/intel_hdmi.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.12
sys/external/bsd/drm2/include/asm/processor.h: revision 1.3
sys/external/bsd/drm2/dist/drm/i915/intel_crt.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_sideband.c: revision 1.2
sys/external/bsd/drm2/dist/drm/i915/intel_ddi.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/intel_tv.c: revision 1.5
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.11
sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.10
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.16
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.17
sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.6
sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.7
sys/external/bsd/drm2/drm/drm_module.c: revision 1.8
sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c: revision 1.2
sys/external/bsd/drm2/dist/drm/i915/intel_dsi_cmd.c: revision 1.2
sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.10
sys/external/bsd/drm2/dist/drm/i915/intel_dvo.c: revision 1.2
sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: revision 1.6
sys/external/bsd/drm2/dist/drm/i915/intel_lvds.c: revision 1.6
Code cleanup and minor bugfixes for drm2.
 1.9.4.3.4.1 18-Jan-2017  skrll Sync with netbsd-5
 1.9.2.2 10-Aug-2014  tls Rebase.
 1.9.2.1 09-Aug-2014  tls file intelfb.c was added on branch tls-earlyentropy on 2014-08-10 06:55:39 +0000
 1.10.2.2 05-Feb-2017  skrll Sync with HEAD
 1.10.2.1 06-Apr-2015  skrll Sync with HEAD
 1.13.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.14.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.14.16.1 10-Jun-2019  christos Sync with HEAD
 1.14.14.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.14.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.16.4.1 18-Aug-2019  martin Pull up following revision(s) (requested by rin in ticket #85):

sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.17

PR kern/52229:

Correct linebytes (stride) for intelfb(4), which fixes screen
corruption on the following machines:
- MacBookAir5,2 (Ivy Bridge, 13-inch, Mid 2012)
- MacBookAir6,1 (Haswell, 11-inch, Early 2014)

Now, wsdisplay(4) console as well as intel(4) driver of Xorg
works fine on these machines.

Also there's no side effects found on another machine:
- ThinkPad T480s (Kaby Lake R)

XXX
pullup to netbsd-9
 1.17.12.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.24.4.1 03-Jun-2023  martin Pull up following revision(s) (requested by nat in ticket #190):

sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.25

Use the offset in mmap calculations.
It fixes wsfb(4) when used with intelfb(4).

Ok riastradh@
 1.4 19-Dec-2021  riastradh i915: Tweak style.
 1.3 19-Dec-2021  riastradh Have i915_vma_pin_iomap map us the framebuffer

Rather than passing bus space arguments around. Also fixes build.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.2 19-Dec-2021  riastradh Remove last users of drmP.h.
 1.1 24-Jul-2014  riastradh branches: 1.1.2; 1.1.6;
Rework Intel framebuffer attachment.

Turns out genfb_softc must be at the start of its own device_private,
so we can't have it in the middle of a structure, and certainly can't
have potentially multiple genfbs per graphics device. Failing to do
this is why entering ddb didn't work with an i915drmkms console.

Instead of putting a genfb_softc into each drm_fb_helper, put a
device_t into each drm_fb_helper and create a new intelfb(4) device
for each Intel framebuffer. This will be more flexible, too, in case
we want accelerated framebuffers later on. (XXX Need to adapt the
radeon code, which I'm disabling until that happens to avoid breaking
the build.)

While here, defer disabling VGA, vga_cndetach, and genfb_attach until
we're actually ready to do them all together along with the mode
switch. This should reduce the amount of time during which the
screen is blanked, in case it hangs.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 24-Jul-2014  tls file intelfb.h was added on branch tls-maxphys on 2014-08-20 00:04:20 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 24-Jul-2014  tls file intelfb.h was added on branch tls-earlyentropy on 2014-08-10 06:55:39 +0000
 1.3 19-Dec-2021  riastradh i915: Odds & ends.
 1.2 19-Dec-2021  riastradh i915: another whack at it
 1.1 19-Dec-2021  riastradh Rename intel_dsi.c -> vlv_dsi.c

RSS XML Feed