Home | History | Annotate | Download | only in drm
History log of /src/sys/external/bsd/drm2/dist/drm/drm_fb_helper.c
RevisionDateAuthorComments
 1.26  19-Dec-2021  riastradh drm: Avoid null pointer deref for drivers with atomic modeset.
 1.25  19-Dec-2021  riastradh drm: Work around client modeset mutex for entering ddb.

Linux introduced a wait lock (`mutex') around access to the drm
client modesets, even for drm_fb_helper_debug_enter/leave -- which
happen when we're crashing and can't wait for the scheduler to let
whatever thread might hold a mutex continue to run.

This really shouldn't be a wait lock, but disentangling the lock
order and sleeping allocations is difficult, so let's just hope that
it's safe to access unlocked in ddb for now.
 1.24  19-Dec-2021  riastradh Narrow scope of exclusions in drm_fb_helper.c; reduce diffs.
 1.23  19-Dec-2021  riastradh Restore drm_fb_helper_debug_{enter,leave}_fb

the non-fbinfo versions of the same function now that I see why
they exist, and that they are not a mangled diff


Author: Maya Rashish <maya@NetBSD.org>
 1.22  19-Dec-2021  riastradh Improve ifdef'ing out fb_info stuff. Undo unintended local diff.


Author: Maya Rashish <maya@NetBSD.org>
 1.21  19-Dec-2021  riastradh Cleanup ifdef goo that got mangled.

Endifs without matching ifdefs and so on.


Author: Maya Rashish <maya@NetBSD.org>
 1.20  19-Dec-2021  riastradh Ifdef out linux framebuffer stuff in drm_fb_helper.
 1.19  19-Dec-2021  riastradh Initialize kernel_fb_helper_lock in drm module load.
 1.18  19-Dec-2021  riastradh Fix up #ifdefs.
 1.17  18-Dec-2021  riastradh Merge linux-drm-v5-6-rc3
 1.16  14-Feb-2020  maya Reduce diffs by side-loading some header files like Linux.

From riastradh
 1.15  14-Feb-2020  riastradh Revert cosmetic changes.
 1.14  14-Feb-2020  riastradh Stub out console_lock/unlock and drm_fb_helper_set_suspend.

Reduce some more diffs.
 1.13  05-Nov-2019  msaitoh branches: 1.13.2;
Avoid null pointer dereference found by kUBSan with "member access within
null pointer of type 'struct drm_fb_helper_crtc'".
 1.12  27-Aug-2018  riastradh branches: 1.12.4;
Fix vestigial call to drm_fb_helper_set_config.
 1.11  27-Aug-2018  riastradh Remove temporary drm_fb_helper_set_config stub from old code.
 1.10  27-Aug-2018  riastradh Fix bad merge and ifdef out linux fb stuff.
 1.9  27-Aug-2018  riastradh merge linux-drm-v4-4-143
 1.8  14-Nov-2015  jmcneill branches: 1.8.10; 1.8.16; 1.8.18;
Support command-line modes by picking up connector modes from the device
properties. The connector name is the key name in the device properties
dictionary.
 1.7  24-Jul-2014  riastradh branches: 1.7.4; 1.7.6;
Expose drm fb helpers for ddb enter/exit.
 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.
 1.5  16-Jul-2014  riastradh fix merge conflicts
 1.4  25-Apr-2014  riastradh branches: 1.4.2;
Fix hot-plug with small patch from upstream before a full update.
 1.3  18-Mar-2014  riastradh branches: 1.3.2;
Fix unused variable warnings in drm2.
 1.2  18-Mar-2014  riastradh Merge riastradh-drm2 to HEAD.
 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 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;
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.1.4.3  18-May-2014  rmind sync with head
 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_fb_helper.c was added on branch rmind-smpnet on 2013-08-28 23:59:32 +0000
 1.1.1.1.2.4  30-Dec-2013  riastradh Tweak drm_fb_helper_single_fb_probe so we needn't reconnect the screen.
 1.1.1.1.2.3  08-Sep-2013  riastradh Round of hacking on i915 framebuffers.
 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_fb_helper.c was added on branch riastradh-drm2 on 2013-07-23 21:28:21 +0000
 1.3.2.1  10-Aug-2014  tls Rebase.
 1.4.2.2  22-May-2014  yamt sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.2.1  25-Apr-2014  yamt file drm_fb_helper.c was added on branch yamt-pagecache on 2014-05-22 11:40:52 +0000
 1.7.6.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.7.4.3  03-Dec-2017  jdolecek update from HEAD
 1.7.4.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.4.1  24-Jul-2014  tls file drm_fb_helper.c was added on branch tls-maxphys on 2014-08-20 00:04:08 +0000
 1.8.18.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.18.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.18.1  10-Jun-2019  christos Sync with HEAD
 1.8.16.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.8.10.1  14-Nov-2019  martin Pull up the following revision, requested by msaitoh in ticket #1436:

external/bsd/drm2/dist/drm/drm_fb_helper.c 1.13 via patch

Avoid null pointer dereference.
 1.12.4.1  10-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #408):

sys/external/bsd/drm2/dist/drm/drm_fb_helper.c: revision 1.13

Avoid null pointer dereference found by kUBSan with "member access within
null pointer of type 'struct drm_fb_helper_crtc'".
 1.13.2.1  29-Feb-2020  ad Sync with head.

RSS XML Feed