Home | History | Annotate | Download | only in drm
History log of /src/sys/external/bsd/drm2/dist/drm/drm_drv.c
RevisionDateAuthorComments
 1.24  15-Oct-2022  riastradh drm: New mechanism to suspend ioctls during system suspend.

drm drivers must opt into this by calling drm_suspend_ioctl in their
driver suspend routine, and drm_resume_ioctl in their driver resume
routine.

This is a stop-gap measure -- it would be better to fill in the
pm_runtime_* API with new pmf(9) hooks to acquire/release references
to devices for coordinating with suspend/resume, but getting the
details right is tricky, and this stop-gap is enough to get i915
suspend/resume to work reliably on my Kaby Lake laptop. Rather than
wait until I've got all the details right, let's just go with this
stop-gap for now.
 1.23  17-Jul-2022  riastradh drm: Ifdef out devm_* stuff rather than stub it out.

Stub is not helpful, and this pollutes the symbol namespace.
 1.22  19-Dec-2021  riastradh drm: mutex_init/destroy and spin_lock_init/destroy audit
 1.21  19-Dec-2021  riastradh Call it srcu_struct like linux does.


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.20  19-Dec-2021  riastradh Initialize drm_core_init_complete in drm_module.c

Linux achieves this with a module_init(drm_core_init);


Author: Maya Rashish <maya@NetBSD.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.19  19-Dec-2021  riastradh ifdef out sysfs stuff, nbsd-namespace


Author: Maya Rashish <maya@NetBSD.org>
 1.18  19-Dec-2021  riastradh undo accidental diff against upstream


Author: Maya Rashish <maya@NetBSD.org>
 1.17  19-Dec-2021  riastradh Declare and initialize drm_unplug_srcu our way.
 1.16  19-Dec-2021  riastradh Ifdef out sysfs stuff.
 1.15  18-Dec-2021  riastradh Merge linux-drm-v5-6-rc3
 1.14  19-Apr-2020  maya For drm drivers and on monitor hotplug, report a 'display-cycle' hotkey click

If powerd is running, it will invoke the script
/etc/powerd/actions/display-cycle
 1.13  05-Mar-2020  riastradh branches: 1.13.2;
Avoid struct inode.

This is an fs-independent structure in Linux. We don't actually use
it as such; it's just a dummy struct tag. But we do have an actual
struct inode in ufs and in lfs, and using the same struct tag here
confuses ctf leading to four copies of pretty much every drm data
structure.
 1.12  14-Feb-2020  maya Reduce diffs by side-loading some header files like Linux.

From riastradh
 1.11  14-Feb-2020  riastradh Use a header file hack to cope with Linux/NetBSD namespace clashes.

Currently serves for:

ALIGN
mutex_init
mutex_destroy
 1.10  28-Aug-2018  martin branches: 1.10.4; 1.10.6;
Disable drm_debug by default
 1.9  27-Aug-2018  riastradh Make mutex destruction match initialization.

From mrg@.
 1.8  27-Aug-2018  riastradh Put file, line, func in DRM_ERROR messages.
 1.7  27-Aug-2018  riastradh Turn on driver debug messages for now


Author: coypoop <coypu@sdf.org>
Committer: Taylor R Campbell <riastradh@NetBSD.org>
 1.6  27-Aug-2018  riastradh Ifdef out sysfs stuff.
 1.5  27-Aug-2018  riastradh Massage drm_drv.c into usability.

- expose drm_minor_lock/drm_minors_idr for drm_init in drm_module.c
- ifdef out Linux driver attachment goo
 1.4  27-Aug-2018  riastradh dev->count_lock is no more.
 1.3  27-Aug-2018  riastradh Fix drm_err merge.
 1.2  27-Aug-2018  riastradh merge linux-drm-v4-4-143
 1.1  23-Jul-2013  riastradh branches: 1.1.1;
Initial revision
 1.1.1.4  18-Dec-2021  riastradh Import drm from Linux v5.6-rc3 (commit f8788d86ab28f61f7b46eb6be375f8a726783636)

drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm
include/drm -> sys/external/bsd/drm2/dist/include/drm
include/uapi/drm -> sys/external/bsd/drm2/dist/include/uapi/drm

GPL exclusions in dist/drm:

- amd/amdgpu/amdgpu_atpx_handler.c
- arc/
- arm/
- armada/
- aspeed/
- atmel-hlcdc/
- bochs/
- bridge/
- cirrus/
- drm_dp_cec.c
- drm_dp_mst_topology_internal.h
- drm_edid_load.c
- drm_format_helper.c
- drm_gem_cma_helper.c
- drm_gem_framebuffer_helper.c
- drm_gem_shmem_helper.c
- drm_gem_ttm_helper.c
- drm_gem_vram_helper.c
- drm_hdcp.c
- drm_lease.c
- drm_mipi_dbi.c
- drm_simple_kms_helper.c
- drm_sysfs.c
- drm_trace.h
- drm_vram_helper_common.c
- drm_writeback.c
- etnaviv/
- exynos/
- fsl-dcu/
- gma500/
- hisilicon/
- i2c/tda9950.c
- i2c/tda998x_drv.c
- i915/gt/selftest_context.c
- i915/gt/selftest_engine.c
- i915/gt/selftest_engine.h
- i915/gt/selftest_engine_cs.c
- i915/gt/selftest_engine_pm.c
- i915/i915_trace.h
- i915/selftests/i915_live_selftests.h
- i915/selftests/i915_mock_selftests.h
- i915/selftests/i915_perf_selftests.h
- i915/selftests/lib_sw_fence.h
- imx/
- ingenic/
- lima/
- mcde/
- mediatek/
- meson/
- mgag200/
- msm/
- mxsfb/
- omapdrm/
- panel/
- panfrost/
- pl111/
- radeon/radeon_atpx_handler.c
- rcar-du/
- rockchip/
- selftests/drm_cmdline_selftests.h
- selftests/drm_modeset_selftests.h
- selftests/test-drm_cmdline_parser.c
- selftests/test-drm_damage_helper.c
- selftests/test-drm_dp_mst_helper.c
- selftests/test-drm_format.c
- selftests/test-drm_framebuffer.c
- selftests/test-drm_modeset_common.c
- selftests/test-drm_modeset_common.h
- selftests/test-drm_plane_helper.c
- selftests/test-drm_rect.c
- shmobile/
- sti/
- stm/
- sun4i/
- tegra/
- tilcdc/
- tiny/
- tve200/
- udl/
- v3d/
- vc4/
- virtio/virtgpu_trace.h
- virtio/virtgpu_trace_points.c
- vkms/
- vmwgfx/device_include/vmware_pack_begin.h
- vmwgfx/device_include/vmware_pack_end.h
- zte/

Exceptions -- these all appear to be files to which someone added
an SPDX license header automatically by a script that is not aware
of the default MIT licensing under drivers/gpu/drm:

- ast/ast_dp501.c
- ast/ast_dram_tables.h
- lib/drm_random.c
- lib/drm_random.h
- i915/display/intel_acpi.c
- i915/selftests/mock_gem_device.h
- i915/selftests/i915_mock_selftests.h
- i915/selftests/i915_live_selftests.h
- r128/ati_pcigart.h
- selftests/drm_mm_selftests.h
- selftests/test-drm_mm.c
- vmwgfx/device_include/vm_basic_types.h

GPL exclusions in dist/include/drm:

- bridge
- drm_client.h
- drm_fb_cma_helper.h
- drm_format_helper.h
- drm_gem_cma_helper.h
- drm_gem_shmem_helper.h
- drm_gem_ttm_helper.h
- drm_gem_vram_helper.h
- drm_lease.h
- drm_mipi_dbi.h
- drm_mipi_dsi.h
- drm_of.h
- drm_simple_kms_helper.h
- drm_sysfs.h
- drm_writeback.h
- gma_drm.h
- i2c/tda998x.h
- i915_mei_hdcp_interface.h
- intel-gtt.h

Exceptions:
- drm_agpsupport.h - was in original drm; wrong spdx header auto-added

GPL exclusions in dist/include/uapi/drm:

- armada_drm.h
- etnaviv_drm.h
- exynos_drm.h
- lima_drm.h
- omap_drm.h

Exceptions:
- i810_drm.h - was in original drm; spdx header is wrong
 1.1.1.3  27-Aug-2018  riastradh Import drm from Linux v4.4.143 (commit a8ea6276d00555387deaaa5eaeb380cd5c17bdc9).

drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm
include/drm -> sys/external/bsd/drm2/dist/include/drm
include/uapi/drm -> sys/external/bsd/drm2/dist/uapi/drm

GPL sources excluded.
 1.1.1.2  16-Jul-2014  riastradh branches: 1.1.1.2.4; 1.1.1.2.28; 1.1.1.2.30;
Import drm from Linux 3.15 (commitid 1860e379875dfe7271c649058aeddffe5afd9d0d).

drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm
include/drm -> sys/external/bsd/drm2/dist/include/drm
include/uapi/drm -> sys/external/bsd/drm2/dist/uapi/drm

GPL sources excluded.
 1.1.1.1  23-Jul-2013  riastradh branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.8;
Import drm sources from Linux v3.8-rc6.
(commit id 88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7)

Linux NetBSD
drivers/gpu/drm sys/external/bsd/drm2/dist/drm
include/drm sys/external/bsd/drm2/dist/include/drm
include/uapi/drm sys/external/bsd/drm2/dist/uapi/drm

Files/subtrees excluded because of licence issues, to be either
revisited later (particularly nouveau and radeon, which are mostly
permissively licensed but a number of whose files have no licence
statements), rewritten/ignored, or imported later as kernel modules
under external/gpl2 instead:

include/drm/drm_fb_cma_helper.h
include/drm/drm_gem_cma_helper.h
include/drm/drm_os_linux.h
include/drm/drm_pciids.h
include/drm/drm_sysfs.h
include/drm/drm_usb.h
include/drm/exynos_drm.h
include/drm/gma_drm.h
include/drm/intel-gtt.h
drm/cirrus
drm/drm_edid_load.c
drm/drm_fb_cma_helper.c
drm/drm_gem_cma_helper.c
drm/drm_sysfs.c
drm/drm_trace.h
drm/drm_trace_points.c
drm/drm_usb.c
drm/exynos
drm/gma500
drm/i915/i915_trace.h
drm/i915/i915_trace_points.c
drm/i915/intel_acpi.c
drm/mgag200
drm/nouveau
drm/radeon
drm/shmobile
drm/tegra
drm/udl
uapi/exynos_drm.h
 1.1.1.2.30.3  21-Apr-2020  martin Sync with HEAD
 1.1.1.2.30.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.1.2.30.1  10-Jun-2019  christos Sync with HEAD
 1.1.1.2.28.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.2.4.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1  16-Jul-2014  tls file drm_drv.c was added on branch tls-maxphys on 2014-08-20 00:04:08 +0000
 1.1.1.1.8.2  22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.8.1  23-Jul-2013  yamt file drm_drv.c was added on branch yamt-pagecache on 2014-05-22 11:40:52 +0000
 1.1.1.1.6.1  10-Aug-2014  tls Rebase.
 1.1.1.1.4.2  28-Aug-2013  rmind sync with head
 1.1.1.1.4.1  23-Jul-2013  rmind file drm_drv.c was added on branch rmind-smpnet on 2013-08-28 23:59:32 +0000
 1.1.1.1.2.2  23-Jul-2013  riastradh sync with HEAD and actually get the drm2 import
 1.1.1.1.2.1  23-Jul-2013  riastradh file drm_drv.c was added on branch riastradh-drm2 on 2013-07-23 21:28:21 +0000
 1.10.6.1  29-Feb-2020  ad Sync with head.
 1.10.4.1  19-Mar-2020  martin Pull up following revision(s) (requested by riastradh in ticket #787):

sys/altq/altq_flowvalve.h: revision 1.4
sys/net/zlib.h: revision 1.15
sys/dist/pf/net/pfvar.h: revision 1.23
sys/external/bsd/drm2/dist/include/drm/drmP.h: revision 1.38
sys/external/bsd/drm2/dist/drm/drm_drv.c: revision 1.13
sys/net/slcompress.h: revision 1.20

Need opt_inet.h for #ifdef INET, INET6.

Avoid duplicate definition of internal_state struct.

Avoid struct inode.

This is an fs-independent structure in Linux. We don't actually use
it as such; it's just a dummy struct tag. But we do have an actual
struct inode in ufs and in lfs, and using the same struct tag here
confuses ctf leading to four copies of pretty much every drm data
structure.
 1.13.2.1  20-Apr-2020  bouyer Sync with HEAD

RSS XML Feed