| History log of /src/sys/external/bsd/drm2/dist/drm/i915/i915_reg.h |
| Revision | | Date | Author | Comments |
| 1.19 |
| 19-Dec-2021 |
riastradh | i915: Remove local diffs obviated by -fwrapv.
|
| 1.18 |
| 19-Dec-2021 |
riastradh | i915: another whack at it
|
| 1.17 |
| 19-Dec-2021 |
riastradh | Fix mangled local change and close parens.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
| 1.16 |
| 19-Dec-2021 |
riastradh | remove bogus local diff
Author: Maya Rashish <maya@NetBSD.org>
|
| 1.15 |
| 18-Dec-2021 |
riastradh | Merge linux-drm-v5-6-rc3
|
| 1.14 |
| 05-Dec-2019 |
maya | Add what appears to be the fixes to CVE-2019-0154, CVE-2019-0155. This commit requires review, but I'd also like it to be tested by others while it is being reviewed.
CVE-2019-0155: It was discovered that the Intel i915 graphics chipsets allowed userspace to modify page table entries via writes to MMIO from the Blitter Command Streamer and expose kernel memory information. A local attacker could use this to expose sensitive information or possibly elevate privileges.
CVE-2019-0154: It was discovered that the Intel i915 graphics chipsets could cause a system hang when userspace performed a read from GT memory mapped input output (MMIO) when the product is in certain low power states. A local attacker could use this to cause a denial of service.
From upstream commits to linux-4.4.y:
|
| 1.13 |
| 08-Oct-2019 |
msaitoh | Use unsigned to avoid undefined behavior. Found by kUBSan.
|
| 1.12 |
| 01-Oct-2019 |
msaitoh | Use unsigned to avoid undefined behavior in g4x_update_wm().
|
| 1.11 |
| 03-Sep-2019 |
msaitoh | Use unsigned to avoid undefined behavior. Found by kUBSan.
|
| 1.10 |
| 07-Aug-2019 |
msaitoh | Use unsigned to avoid undefined behavior. Found by kUBSan.
|
| 1.9 |
| 05-Aug-2019 |
msaitoh | Use unsigned to avoid undefined behavior in gen7_get_stolen_reserved(). Found by kUBSan.
|
| 1.8 |
| 05-Aug-2019 |
msaitoh | Avoid undefined behavior. Found by kUBSan.
|
| 1.7 |
| 24-Jul-2019 |
msaitoh | branches: 1.7.2; Use unsigned. Found by KUBSan.
|
| 1.6 |
| 24-Jul-2019 |
msaitoh | Use unsigned. Found by KUBSan.
|
| 1.5 |
| 13-Sep-2018 |
mrg | add support for kabylake and skylake GT4 (untested) GPUs. largely taken from openbsd and linux 4.13 trees (which have this code identical), with mimimal porting to netbsd.
i have not installed (and thus tested) the newer referenced firmware files.
only real local change is to fix IS_BROXTON() macro to check the things valid in this era of drm. previous match would attach on KBL, and then a loop would never exit.
tested on kabylake P630. needs mesa 11.x or newer for GL to work.
ok @riastradh.
|
| 1.4 |
| 27-Aug-2018 |
riastradh | Need braces around BUILD_BUG_ON_MSG.
|
| 1.3 |
| 27-Aug-2018 |
riastradh | merge linux-drm-v4-4-143
|
| 1.2 |
| 06-Jul-2018 |
kamil | Remove UB from definition of symbols in i915_reg.h
Kernel Undefined Behavior Sanitizer enforces more warnings in build time. This makes the build fatal in the drm/i915 code in: - intel_ddi_put_crtc_pll(), - intel_ddi_clock_get(), - intel_ddi_pll_enable(), - intel_ddi_setup_hw_pll_state().
The error message in all the cases says:
error: case label does not reduce to an integer constant
Set the type of the value left shifted to unsigned.
This change is required to build NetBSD/amd64 with KUBSan.
|
| 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.22; 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 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 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.3 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
| 1.1.1.2.28.2 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
| 1.1.1.2.28.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
| 1.1.1.2.22.1 |
| 01-Sep-2018 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1003):
sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: revision 1.8 sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c: revision 1.10 sys/external/bsd/drm2/drm/drm_scatter.c: revision 1.4 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.2 sys/external/bsd/drm2/linux/linux_ww_mutex.c: revision 1.3 sys/external/bsd/drm2/linux/linux_ww_mutex.c: revision 1.4 sys/external/bsd/drm2/linux/linux_idr.c: revision 1.6
Pull in upstream commit: Author: Ville Syrj=E4l=E4 <ville.syrjala%linux.intel.com@localhost> Date: Mon Jun 9 16:20:46 2014 +0300 drm/i915: Avoid div-by-zero when pixel_multiplier is zero On certain platforms pixel_multiplier is read out in .get_pipe_config(), but it also gets used to calculate the pixel clock in intel_sdvo_get_config(). If the pipe is disabled but some SDVO outputs are active, we may end up dividing by zero in intel_sdvo_get_config(). Fixes https://bugs.freedesktop.org/show_bug.cgi?id=3D76520 Tweak slightly sketchy logic in linux_idr. 1. idr_preload can fail if you don't set __GFP_WAIT. 2. If idr_preload fails, it is wrong for idr_alloc to assert. 3. There is no way for idr_alloc to know what flags idr_preload got. Probably won't *fix* any bugs, but if there is a bug with a missing __GFP_WAIT, then we will learn about a trifle sooner. Fix error branch in ttm_dma_tt_init to avoid double-free. Should fix symptom of PR kern/52438, but who knows what underlying problem causes us to reach the error branch in the first place. Fix lockdebug_locked annotations. When thread A grants ownership to thread B waiting with a context, thread B needs to assert lockdebug_locked; otherwise, when it releases, lockdebug_unlocked thinks it's releasing an unlocked ww_mutex.
Fixes LOCKDEBUG failure with radeon noticed by martin@.
more const
XXX: add a NULL init to avoid a GCC 6 maybe uninit warning.
Remove UB from definition of symbols in i915_reg.h Kernel Undefined Behavior Sanitizer enforces more warnings in build time. This makes the build fatal in the drm/i915 code in: - intel_ddi_put_crtc_pll(), - intel_ddi_clock_get(), - intel_ddi_pll_enable(), - intel_ddi_setup_hw_pll_state(). The error message in all the cases says: error: case label does not reduce to an integer constant Set the type of the value left shifted to unsigned. This change is required to build NetBSD/amd64 with KUBSan.
|
| 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 i915_reg.h was added on branch tls-maxphys on 2014-08-20 00:04:09 +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 i915_reg.h was added on branch yamt-pagecache on 2014-05-22 11:40:53 +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 i915_reg.h was added on branch rmind-smpnet on 2013-08-28 23:59:33 +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 i915_reg.h was added on branch riastradh-drm2 on 2013-07-23 21:28:22 +0000
|
| 1.7.2.3 |
| 31-Jan-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #678):
sys/external/bsd/drm2/dist/drm/i915/i915_gem_stolen.c: revision 1.12 sys/external/bsd/drm2/dist/drm/radeon/radeon_atombios_dp.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.12
Use unsigned to avoid undefined behavior in gen7_get_stolen_reserved(). Found by kUBSan.
Use unsigned to avoid undefined behavior in g4x_update_wm().
Avoid undefined behavior in g4x_get_stolen_reserved().
The change is the same as newer i915_gem_stolen.c.
Don't call memcpy() when the length is 0 (and the source pointer is NULL) in radeon_dp_aux_transfer_atom() to avoid undefined behavior. Found by kUBSan.
|
| 1.7.2.2 |
| 31-Jan-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #677):
sys/external/bsd/drm2/dist/drm/radeon/radeon_uvd_v2_2.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.18 sys/external/bsd/drm2/dist/drm/radeon/nid.h: revision 1.3 sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.19 sys/external/bsd/drm2/dist/drm/radeon/rv770d.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/cikd.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_uvd_v4_2.c: revision 1.2 sys/external/bsd/drm2/dist/include/drm/drm_fixed.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/sumod.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_reg.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_mode.h: revision 1.5 sys/external/bsd/drm2/dist/drm/radeon/r600d.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/r600d.h: revision 1.4 sys/external/bsd/drm2/dist/drm/radeon/radeon_uvd_v1_0.c: revision 1.2 sys/external/bsd/drm2/dist/drm/radeon/radeon_uvd_v1_0.c: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_r600.c: revision 1.2 sys/external/bsd/drm2/dist/drm/radeon/evergreend.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/evergreend.h: revision 1.4 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.10 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.8 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.13 sys/external/bsd/drm2/dist/drm/radeon/rv730d.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_rv770_smc.c: revision 1.2 sys/external/bsd/drm2/dist/drm/radeon/sid.h: revision 1.3 sys/external/bsd/drm2/dist/drm/radeon/radeon_si_smc.c: revision 1.2 sys/external/bsd/drm2/dist/drm/radeon/sid.h: revision 1.4
Use unsigned to avoid undefined behavior. Found by kUBSan.
|
| 1.7.2.1 |
| 12-Dec-2019 |
martin | Pull up following revision(s) (requested by maya in ticket #548):
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.28 sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.30 sys/external/bsd/common/include/linux/bitops.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h: revision 1.8 sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c: revision 1.16 sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.28 sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.19 sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.20 sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.c: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.h: revision 1.7 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.14 sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.20 sys/external/bsd/drm2/dist/drm/i915/i915_gem_context.c: revision 1.10 sys/external/bsd/drm2/dist/drm/i915/i915_drv.c: revision 1.17
Add what appears to be the fixes to CVE-2019-0154, CVE-2019-0155.
This commit requires review, but I'd also like it to be tested by others while it is being reviewed. CVE-2019-0155:
It was discovered that the Intel i915 graphics chipsets allowed userspace to modify page table entries via writes to MMIO from the Blitter Command Streamer and expose kernel memory information. A local attacker could use this to expose sensitive information or possibly elevate privileges.
CVE-2019-0154: It was discovered that the Intel i915 graphics chipsets could cause a system hang when userspace performed a read from GT memory mapped input output (MMIO) when the product is in certain low power states. A local attacker could use this to cause a denial of service. From upstream commits to linux-4.4.y:
|