History log of /netbsd-current/sys/external/bsd/drm2/drm/files.drmkms
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.83 28-Jul-2022 riastradh

drm: New option DRM_LEGACY.

This brings in the `drmums' components, which are the parts of the
current drm code base (sys/external/bsd/drm2) needed by legacy
user-mode-setting drivers (currently just viadrmums), in contrast to
the old drm code base (sys/external/bsd/drm).

This way, viadrmums.kmod can be loaded into GENERIC i386 kernels, but
platforms without any relevant legacy UMS drivers don't get the
legacy goo statically baked in.


# 1.82 28-Jul-2022 riastradh

drmkms_sched: Remove duplicate module definition.


# 1.81 24-Jul-2022 riastradh

drm: Fix CPPFLAGS for drm scheduler code.


# 1.80 23-Jul-2022 riastradh

drm: Split scheduler into separate module.

Used only by amdgpu, and it uses something that is currently broken
from the gcc update on aarch64, so let's make it a little more
optional.


# 1.79 20-Jul-2022 riastradh

drm: Keep drm include flags in CPPFLAGS.drmkms after all.

Failures from this are much more obvious to debug than files with
missing #ifdefs, which sometimes lead to build failures but could
also just lead to silent miscompilation.


# 1.78 20-Jul-2022 riastradh

drm: Restore pollution of CPPFLAGS with include directories.

Too much trouble to make this fine-grained.


# 1.77 19-Jul-2022 riastradh

drm: Undefine `alpha' in CPPFLAGS. Causes lotsa trouble!

But don't undefine it outside drmkms; `#ifdef alpha' or equivalent is
used elsewhere in-tree. (Maybe it should be replaced by __alpha__.)


# 1.76 19-Jul-2022 riastradh

drm: Narrow scope of drm CPPLAGS just to drm files.

No need for various Linux compat definitions elsewhere in the kernel.


# 1.75 19-Jul-2022 riastradh

drm: Propagate CPPFLAGS.drmkms into all the drm drivers.


# 1.74 19-Jul-2022 riastradh

drm: Note dependency on sysmon_power.

drm uses this for pswitch events to notify of hotplug.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.82 28-Jul-2022 riastradh

drmkms_sched: Remove duplicate module definition.


# 1.81 24-Jul-2022 riastradh

drm: Fix CPPFLAGS for drm scheduler code.


# 1.80 23-Jul-2022 riastradh

drm: Split scheduler into separate module.

Used only by amdgpu, and it uses something that is currently broken
from the gcc update on aarch64, so let's make it a little more
optional.


# 1.79 20-Jul-2022 riastradh

drm: Keep drm include flags in CPPFLAGS.drmkms after all.

Failures from this are much more obvious to debug than files with
missing #ifdefs, which sometimes lead to build failures but could
also just lead to silent miscompilation.


# 1.78 20-Jul-2022 riastradh

drm: Restore pollution of CPPFLAGS with include directories.

Too much trouble to make this fine-grained.


# 1.77 19-Jul-2022 riastradh

drm: Undefine `alpha' in CPPFLAGS. Causes lotsa trouble!

But don't undefine it outside drmkms; `#ifdef alpha' or equivalent is
used elsewhere in-tree. (Maybe it should be replaced by __alpha__.)


# 1.76 19-Jul-2022 riastradh

drm: Narrow scope of drm CPPLAGS just to drm files.

No need for various Linux compat definitions elsewhere in the kernel.


# 1.75 19-Jul-2022 riastradh

drm: Propagate CPPFLAGS.drmkms into all the drm drivers.


# 1.74 19-Jul-2022 riastradh

drm: Note dependency on sysmon_power.

drm uses this for pswitch events to notify of hotplug.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.81 24-Jul-2022 riastradh

drm: Fix CPPFLAGS for drm scheduler code.


# 1.80 23-Jul-2022 riastradh

drm: Split scheduler into separate module.

Used only by amdgpu, and it uses something that is currently broken
from the gcc update on aarch64, so let's make it a little more
optional.


# 1.79 20-Jul-2022 riastradh

drm: Keep drm include flags in CPPFLAGS.drmkms after all.

Failures from this are much more obvious to debug than files with
missing #ifdefs, which sometimes lead to build failures but could
also just lead to silent miscompilation.


# 1.78 20-Jul-2022 riastradh

drm: Restore pollution of CPPFLAGS with include directories.

Too much trouble to make this fine-grained.


# 1.77 19-Jul-2022 riastradh

drm: Undefine `alpha' in CPPFLAGS. Causes lotsa trouble!

But don't undefine it outside drmkms; `#ifdef alpha' or equivalent is
used elsewhere in-tree. (Maybe it should be replaced by __alpha__.)


# 1.76 19-Jul-2022 riastradh

drm: Narrow scope of drm CPPLAGS just to drm files.

No need for various Linux compat definitions elsewhere in the kernel.


# 1.75 19-Jul-2022 riastradh

drm: Propagate CPPFLAGS.drmkms into all the drm drivers.


# 1.74 19-Jul-2022 riastradh

drm: Note dependency on sysmon_power.

drm uses this for pswitch events to notify of hotplug.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.80 23-Jul-2022 riastradh

drm: Split scheduler into separate module.

Used only by amdgpu, and it uses something that is currently broken
from the gcc update on aarch64, so let's make it a little more
optional.


# 1.79 20-Jul-2022 riastradh

drm: Keep drm include flags in CPPFLAGS.drmkms after all.

Failures from this are much more obvious to debug than files with
missing #ifdefs, which sometimes lead to build failures but could
also just lead to silent miscompilation.


# 1.78 20-Jul-2022 riastradh

drm: Restore pollution of CPPFLAGS with include directories.

Too much trouble to make this fine-grained.


# 1.77 19-Jul-2022 riastradh

drm: Undefine `alpha' in CPPFLAGS. Causes lotsa trouble!

But don't undefine it outside drmkms; `#ifdef alpha' or equivalent is
used elsewhere in-tree. (Maybe it should be replaced by __alpha__.)


# 1.76 19-Jul-2022 riastradh

drm: Narrow scope of drm CPPLAGS just to drm files.

No need for various Linux compat definitions elsewhere in the kernel.


# 1.75 19-Jul-2022 riastradh

drm: Propagate CPPFLAGS.drmkms into all the drm drivers.


# 1.74 19-Jul-2022 riastradh

drm: Note dependency on sysmon_power.

drm uses this for pswitch events to notify of hotplug.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.79 20-Jul-2022 riastradh

drm: Keep drm include flags in CPPFLAGS.drmkms after all.

Failures from this are much more obvious to debug than files with
missing #ifdefs, which sometimes lead to build failures but could
also just lead to silent miscompilation.


# 1.78 20-Jul-2022 riastradh

drm: Restore pollution of CPPFLAGS with include directories.

Too much trouble to make this fine-grained.


# 1.77 19-Jul-2022 riastradh

drm: Undefine `alpha' in CPPFLAGS. Causes lotsa trouble!

But don't undefine it outside drmkms; `#ifdef alpha' or equivalent is
used elsewhere in-tree. (Maybe it should be replaced by __alpha__.)


# 1.76 19-Jul-2022 riastradh

drm: Narrow scope of drm CPPLAGS just to drm files.

No need for various Linux compat definitions elsewhere in the kernel.


# 1.75 19-Jul-2022 riastradh

drm: Propagate CPPFLAGS.drmkms into all the drm drivers.


# 1.74 19-Jul-2022 riastradh

drm: Note dependency on sysmon_power.

drm uses this for pswitch events to notify of hotplug.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.73 22-May-2022 tnn

rename CONFIG_AARCH64 to CONFIG_ARM64 which is what upstream code expects


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.72 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.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.71 19-Dec-2021 riastradh

drm: Make scheduler mandatory to make amdgpu module simpler.


# 1.70 19-Dec-2021 riastradh

drm: Make some legacy UMS crap build.


# 1.69 19-Dec-2021 riastradh

amdgpu: Stub out irq domain stuff with a finer grain.


# 1.68 19-Dec-2021 riastradh

drm: Place drm_hdcp.c like other overrides in files.drmkms.


# 1.67 19-Dec-2021 riastradh

drm: Stub out drm_hdcp.c


# 1.66 19-Dec-2021 riastradh

drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.


# 1.65 19-Dec-2021 riastradh

Get drm_mm.c building.

Just replace the interval tree lookup by a linear search for now.


# 1.64 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.63 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.62 19-Dec-2021 riastradh

drm_client stubs


# 1.61 19-Dec-2021 riastradh

Regen and remerge.


# 1.60 19-Dec-2021 riastradh

drm_writeback stubs


# 1.59 19-Dec-2021 riastradh

Eliminate drm_file.c copypasta.


# 1.58 19-Dec-2021 riastradh

Rerun drm2netbsd and merge.

New tag drmums for the legacy stuff; to deal with later for via.


# 1.57 19-Dec-2021 riastradh

Empty out drm_os_netbsd.h.


# 1.56 19-Dec-2021 riastradh

Disable missing files for now.


# 1.55 19-Dec-2021 riastradh

Merge updated drm2netbsd output.


# 1.54 19-Dec-2021 riastradh

Remove these two files from the list.

We have our own copies of the same name. Since we don't support
building two files with the same name, it's pretty clear the
intention was to build just our copy of the file.


Author: Maya Rashish <maya@NetBSD.org>


# 1.53 19-Dec-2021 riastradh

upstream shadows, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.52 19-Dec-2021 riastradh

We have local versions of these files, don't use upstream ones


Author: Maya Rashish <maya@NetBSD.org>


# 1.51 19-Dec-2021 riastradh

Upstream uses shadowing, disable warning


Author: Maya Rashish <maya@NetBSD.org>


# 1.50 19-Dec-2021 riastradh

Disable warnings about shadowing.

Upstream does shadowing here, I'm feeling uncomfortable changing their
code.


Author: Maya Rashish <maya@NetBSD.org>


# 1.49 19-Dec-2021 riastradh

skip upstream drm_cache.c, we have our own


Author: Maya Rashish <maya@NetBSD.org>


# 1.48 19-Dec-2021 riastradh

Remove duplicates and non-existent files.


Author: Maya Rashish <maya@NetBSD.org>


# 1.47 19-Dec-2021 riastradh

misc drm hacks


# 1.46 19-Dec-2021 riastradh

Unhook drm_kms_helper_common.c from build.


# 1.45 19-Dec-2021 riastradh

Define CONFIG_DRM_FBDEV_OVERALLOC=100 to match upstream.


# 1.44 19-Dec-2021 riastradh

Rename drm_fops.c -> drm_file.c


# 1.43 19-Dec-2021 riastradh

Use -Wno-missing-field-initializers for drm to reduce diffs.


# 1.42 19-Dec-2021 riastradh

Move IS_REACHABLE to <linux/kernel.h> to avoid double definition.


# 1.41 19-Dec-2021 riastradh

Define IS_ENABLED and IS_REACHABLE on the command line.

Header file is too late for it, apparently.

XXX Find a way to put this into a header file; command-line -D
arguments are ugly.


# 1.40 19-Dec-2021 riastradh

No more hacks for dist/uapi -- got moved to dist/include/uapi.


# 1.39 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.38 19-Dec-2021 riastradh

Unfinished local implementation of GPL drm_lease.c.


# 1.37 19-Dec-2021 riastradh

Local reimplementation of GPL drm_gem_framebuffer_helper.c.


# 1.36 19-Dec-2021 riastradh

Generate files.* using the 2netbsd scripts.


Author: Maya Rashish <maya@NetBSD.org>


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 thorpej-i2c-spi-conf-base
# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

branches: 1.34.10; 1.34.14;
Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.35 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.


Revision tags: cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
# 1.34 14-Feb-2020 riastradh

Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

branches: 1.33.2;
build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.34 14-Feb-2020 riastradh

Eliminate -Wpointer-arith patches; use -Wno-pointer-arith instead.


Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.33 09-Dec-2019 jakllsch

build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

branches: 1.30.4;
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.33 09-Dec-2019 jakllsch

build drm_panel.c w/ drmkms


Revision tags: phil-wifi-20191119
# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.32 18-Nov-2019 christos

don't build stub if legacy drm is present too.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.31 16-Nov-2019 christos

Add a stub for drm_ioctl() so that compat32 links with kernels without drmkms.


Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2; 1.14.4;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.30 28-Aug-2018 riastradh

Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
=> See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
=> Use drm_agp_borrow instead.


# 1.29 27-Aug-2018 riastradh

Unhook upstream drm_pci.c, apparently overridden by files.drmkms_pci.


# 1.28 27-Aug-2018 riastradh

Draft support for drm prime.


# 1.27 27-Aug-2018 riastradh

Define CONFIG_DRM_FBDEV_EMULATION=1 in generic drmkms code.

This was accidentally pulled in by i915drmkms, but we need it
generically or else we need to patch upstream differently.


# 1.26 27-Aug-2018 riastradh

Sort. Put CWARNFLAGS next to source lists.


# 1.25 27-Aug-2018 riastradh

drm_fb_helper.c got lost in the merge, restore it.


# 1.24 27-Aug-2018 riastradh

Move drm_ioctl to drm_ioctl.c.

Previously it was in drm_drv.c upstream, which we overrode; then it
got moved to drm_ioctl.c and drm_drv.c got deleted, so we no longer
need to maintain a separate copy of the table in what we now call
drm_cdevsw.c.


# 1.23 27-Aug-2018 riastradh

Patch up drm_atomic_helper.c.

- Mark unused variables as such.
. Mistakes in local patches are likely to lead to unused variables,
so keep this warning enabled.
- Build with -Wno-shadow.
. Local patches aren't likely to cause this, so just suppress it.
- static plane_crtc_active


# 1.22 27-Aug-2018 riastradh

We have a local override for drm_encoder_slave.c.


# 1.21 27-Aug-2018 riastradh

Reorder header files to avoid drm_legacy.h lossage.


# 1.20 27-Aug-2018 riastradh

Restore more locally overridden files.


# 1.19 27-Aug-2018 riastradh

Rename drm_drv.c to drm_cdevsw.c.

Previously we overrode upstream's drm_drv.c altogether, and used
upstream's drm_stub.c subroutines.

But upstream deleted drm_drv.c and renamed drm_stub.c to drm_drv.c,
so we have to cope with that reshuffle.


# 1.18 27-Aug-2018 riastradh

Apply locally overridden files.


# 1.17 27-Aug-2018 riastradh

Omit PCI files from files.drmkms.


# 1.16 27-Aug-2018 riastradh

regen files.drmkms


# 1.15 27-Aug-2018 riastradh

Move local files to the top to make them more visible.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.14 26-Dec-2017 jmcneill

branches: 1.14.2;
Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


# 1.14 26-Dec-2017 jmcneill

Implement the DRM GEM/CMA helpers. The implementation has been extracted
from our tegra DRM driver, but generalized for use with other drivers.


Revision tags: tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
# 1.13 24-Feb-2016 skrll

Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.12 20-Aug-2015 skrll

Tweak IS_ENABLED to allow CONFIG_FOO values.

No functional change to drm2.

LGTM from riastradh@


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 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 05-Mar-2015 riastradh

Rewrite drm_encoder_slave.c, as nouveau will need.


Revision tags: nick-nhusb-base
# 1.9 12-Nov-2014 christos

branches: 1.9.2;
Add __link_set based code to automatically convert the linux module parameters
into sysctls.


# 1.8 14-Sep-2014 riastradh

Split drm ttm config into a separate file.


Revision tags: tls-maxphys-base netbsd-7-base tls-earlyentropy-base
# 1.7 16-Jul-2014 riastradh

branches: 1.7.2; 1.7.4;
First whack at radeon driver.

No hardware to test yet, but it builds.


# 1.6 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.


Revision tags: rmind-smpnet-base rmind-smpnet-nbase yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.5 01-Apr-2014 riastradh

branches: 1.5.2; 1.5.4; 1.5.6;
Make drmkms find header files from sys/external/bsd/common.


# 1.4 31-Mar-2014 riastradh

Move the drmkms i2c dependencies to where they belong.


# 1.3 27-Mar-2014 christos

add missing dependencies (Takahiro HAYASHI)


# 1.2 18-Mar-2014 riastradh

Merge riastradh-drm2 to HEAD.


Revision tags: riastradh-drm2-base3
# 1.1 04-Mar-2014 riastradh

branches: 1.1.2;
file files.drmkms was initially added on branch riastradh-drm2.