Home | History | Annotate | Download | only in drm
History log of /src/sys/external/bsd/drm2/dist/drm/drm_vblank.c
RevisionDateAuthorComments
 1.16  26-Dec-2021  riastradh drm: Fix locking around accurate vblank counts.

- Make drm_crtc_accurate_vblank_count require the caller to hold the
event lock, rather than take it internally.

- Fix locking around drm_crtc_accurate_vblank_count and related
operations in amdgpu and nouveau interrupt handlers.

- Use drm_crtc_vblank_put_locked, not drm_crtc_vblank_put, when we
already hold the event lock.

PR kern/56557
 1.15  19-Dec-2021  riastradh drm: Must hold event_lock around wait on event_queue.

We must not have hit this path before if it never crashed!
 1.14  19-Dec-2021  riastradh drm: mutex_init/destroy and spin_lock_init/destroy audit
 1.13  19-Dec-2021  riastradh drm: Use drm_vblank_get_locked/unlocked.
 1.12  19-Dec-2021  riastradh drm: Merge vbl_lock into event_lock.

These aren't functionally very different, and most uses of vbl_lock
were inserted as local changes to make proper condition variables
anyway. Requiring both locks made cv_wait difficult because it only
unlocks and relocks one at a time, and this also led to annoying lock
order reversal.
 1.11  19-Dec-2021  riastradh drm: Eliminate hrtimer_destroy and teardown_timer.

These are non-Linux shims added to the Linux API to pair with
hrtimer_setup and setup_timer, but they really only serve to call
callout_destroy, which is not strictly necessary in the NetBSD API.
So although we lose a little bit of diagnostic help this way, we also
reduce diffs a bit and save some trouble that bit us last week.
 1.10  19-Dec-2021  riastradh drm: Simplify condvar conditionals in drm_vblank
 1.9  19-Dec-2021  riastradh drm: Fix lock order reversal in merge botch.

Add a note reminding myself what the lock order is.
 1.8  19-Dec-2021  riastradh drm: Restore drm_crtc_vblank_put_locked
 1.7  19-Dec-2021  riastradh drm: drm_update_vblank_count requires vbl_lock.
 1.6  19-Dec-2021  riastradh drm: Fix vblank locking.
 1.5  19-Dec-2021  riastradh Appropriate ifdef goop to make this file build for us.

Use the netbsd-ified versions.


Author: Maya Rashish <maya@NetBSD.org>
 1.4  19-Dec-2021  riastradh New seqlock code requires seqlock_destroy.

XXX missing cases in drm56
 1.3  19-Dec-2021  riastradh 64-bit printf, include for do_div64, omit unused variable.
 1.2  18-Dec-2021  riastradh Merge linux-drm-v5-6-rc3
 1.1  18-Dec-2021  riastradh branches: 1.1.1;
Initial revision
 1.1.1.1  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

RSS XML Feed