History log of /src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c |
Revision | | Date | Author | Comments |
1.48 |
| 22-Sep-2022 |
riastradh | i915: Make sure to call i915_drm_prepare too on suspend.
|
1.47 |
| 21-Dec-2021 |
tnn | i915_drm_resume_early: initialize ret
clang -Wsometimes-uninitialized says uninitialized use on line 2043 when if statement on line 2037 is false
|
1.46 |
| 19-Dec-2021 |
riastradh | drm: Switch sense of #if __linux__ conditionals to use __NetBSD__.
Keep it consistent with the rest of drm.
|
1.45 |
| 19-Dec-2021 |
riastradh | i915: mutex_init/destroy and spin_lock_init/destroy audit
|
1.44 |
| 19-Dec-2021 |
riastradh | i915: Omit needless ifdef and do call intel_bios_init.
|
1.43 |
| 19-Dec-2021 |
riastradh | i915: Define i915_gem_uvm_ops.
|
1.42 |
| 19-Dec-2021 |
riastradh | i915: Omit needless reachover of i915_drm_driver.
|
1.41 |
| 19-Dec-2021 |
riastradh | i915: Nix drm_dev_alloc, and do drm_pci_attach in i915_driver_probe.
i915 uses a struct drm_device embedded in struct drm_i915_private now, so we can't allocate it separately.
|
1.40 |
| 19-Dec-2021 |
riastradh | i915: machete
|
1.39 |
| 19-Dec-2021 |
riastradh | i915: Fix drm_dev_init argument.
Confusingly the parameter is named `parent' but means the struct device that corresponds to the struct pci_dev. Use pci_dev_dev here since it works in both APIs.
|
1.38 |
| 19-Dec-2021 |
riastradh | pdev is ifdef'd out, so ifdef out the declaration too
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.37 |
| 19-Dec-2021 |
riastradh | Move local diff's location to above where it's used
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.36 |
| 19-Dec-2021 |
riastradh | Emulate pdev->dev for NetBSD.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.35 |
| 19-Dec-2021 |
riastradh | Exclude call to dma_set_max_seg_size
We probably don't need to replicate this.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.34 |
| 19-Dec-2021 |
riastradh | Provide declarations, we use these from different files.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.33 |
| 19-Dec-2021 |
riastradh | Shuffle ifdefs for build. Remove local diff that doesn't build.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.32 |
| 19-Dec-2021 |
riastradh | Remove local diff
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.31 |
| 19-Dec-2021 |
riastradh | restore lost ifdef of vga_switcheroo code
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.30 |
| 19-Dec-2021 |
riastradh | Remove duplicate declaration of i915_device_ids
The one that compiles is in i915_pci.c now. No `pciidlist` in this file!
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.29 |
| 19-Dec-2021 |
riastradh | nbsd-namespace.h for the right mutex_init
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.28 |
| 19-Dec-2021 |
riastradh | Remove local diff, side effect of backporting kabylake support.
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.27 |
| 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.26 |
| 19-Dec-2021 |
riastradh | Empty out drm_os_netbsd.h.
|
1.25 |
| 19-Dec-2021 |
riastradh | Distribute local changes from i915_dma.c
|
1.24 |
| 19-Dec-2021 |
riastradh | Restore local intel_acpi changes.
|
1.23 |
| 19-Dec-2021 |
riastradh | Restore #ifdef CONFIG_PNP tweak lost in merge.
|
1.22 |
| 19-Dec-2021 |
riastradh | Cleanup ifdef goo that got mangled.
Endifs without matching ifdefs and so on.
Author: Maya Rashish <maya@NetBSD.org>
|
1.21 |
| 19-Dec-2021 |
riastradh | First pass at i915, far from complete.
HEAVILY MODIFIED IN MERGE - maya
|
1.20 |
| 18-Dec-2021 |
riastradh | Merge linux-drm-v5-6-rc3
|
1.19 |
| 14-Feb-2020 |
maya | Reduce diffs by side-loading some header files like Linux.
From riastradh
|
1.18 |
| 14-Feb-2020 |
riastradh | Stub out console_lock/unlock and drm_fb_helper_set_suspend.
Reduce some more diffs.
|
1.17 |
| 05-Dec-2019 |
maya | branches: 1.17.2; 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.16 |
| 13-Sep-2018 |
mrg | branches: 1.16.4; 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.15 |
| 27-Aug-2018 |
riastradh | Draft support for drm prime.
|
1.14 |
| 27-Aug-2018 |
riastradh | Call i915_drm_suspend_late too.
|
1.13 |
| 27-Aug-2018 |
riastradh | Attempt to hook up i915 suspend/resume callbacks.
|
1.12 |
| 27-Aug-2018 |
riastradh | Disable legacy mmap in i915.
|
1.11 |
| 27-Aug-2018 |
riastradh | Tweak ifdefs in i915_drv.c.
|
1.10 |
| 27-Aug-2018 |
riastradh | Disable and enable some i915 pm code.
|
1.9 |
| 27-Aug-2018 |
riastradh | struct drm_bus abstraction is no more. Cope.
struct drm_driver now has the bus-specific intr establish routine (called request_irq/free_irq to match Linux's style).
|
1.8 |
| 27-Aug-2018 |
riastradh | don't provide dev_to_i915 and ifdef out all users (unused) provide nsecs_to_jiffies64, hopefully msec_to_jiffies * 10^6 provide BUILD_BUG as a no-op include linux/err.h instead of matching side-loading, too hard to figure out what gets it.
Author: coypu <coypu@sdf.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.7 |
| 27-Aug-2018 |
riastradh | merge linux-drm-v4-4-143
|
1.6 |
| 26-Jul-2014 |
riastradh | branches: 1.6.4; 1.6.28; 1.6.30; Let the drm driver decide what part of what object gets mmapped.
Pass the file around too so radeon/ttm can get at it to verify access.
Add drm_gem_or_legacy_mmap_object for drivers to choose the previous behaviour, like i915.
|
1.5 |
| 16-Jul-2014 |
riastradh | Get suspend/resume sorta working for i915drm.
|
1.4 |
| 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.3 |
| 16-Jul-2014 |
riastradh | fix merge conflicts
|
1.2 |
| 18-Mar-2014 |
riastradh | branches: 1.2.2; 1.2.4; 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 i915_drv.c was added on branch rmind-smpnet on 2013-08-28 23:59:33 +0000
|
1.1.1.1.2.14 |
| 08-Sep-2013 |
riastradh | Hook up the i915_gem uvm pager ops.
|
1.1.1.1.2.13 |
| 24-Jul-2013 |
riastradh | Stub out the content, not definition, of intel_console_resume.
|
1.1.1.1.2.12 |
| 24-Jul-2013 |
riastradh | Ifdef out drm prime stuff from i915_drv.c.
|
1.1.1.1.2.11 |
| 24-Jul-2013 |
riastradh | Expose the i915 struct drm_driver and PCI id list from i915_drv.c.
|
1.1.1.1.2.10 |
| 24-Jul-2013 |
riastradh | Ifdef out Linux-specific stuff in i915_drv.c.
PCI driver attachment goop, VM hooks, power management operations, file operations. We'll do this all in another file for NetBSD.
Ifdef out the now-unused i915_modeset parameter for now, too.
|
1.1.1.1.2.9 |
| 24-Jul-2013 |
riastradh | Omit more stuff that pmf does for us in i915_drv.c.
|
1.1.1.1.2.8 |
| 24-Jul-2013 |
riastradh | Omit Linux framebuffer stuff from i915_drv.c.
|
1.1.1.1.2.7 |
| 24-Jul-2013 |
riastradh | Use pci_dev_dev to get at a pci_dev's device_t in i915_drm_freeze.
|
1.1.1.1.2.6 |
| 24-Jul-2013 |
riastradh | Omit needless pci_save_state from i915_drm_freeze, courtesy pmf.
|
1.1.1.1.2.5 |
| 24-Jul-2013 |
riastradh | Need more zeros for struct pci_device_id initializer in i915_drv.c.
|
1.1.1.1.2.4 |
| 24-Jul-2013 |
riastradh | i915_drv.c needs <linux/moduleparam.h> and <linux/time.h>.
|
1.1.1.1.2.3 |
| 24-Jul-2013 |
riastradh | Replace i915 private regs from pci_ioremap to drm_ioremap.
Replace read/write{b,l,w} by DRM_READ/WRITE{8,16,32} in i915_drv.c.
|
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_drv.c was added on branch riastradh-drm2 on 2013-07-23 21:28:22 +0000
|
1.2.4.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.2.4.1 |
| 18-Mar-2014 |
yamt | file i915_drv.c was added on branch yamt-pagecache on 2014-05-22 11:40:53 +0000
|
1.2.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.6.30.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.6.30.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.6.28.2 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.6.28.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.6.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.6.4.1 |
| 26-Jul-2014 |
tls | file i915_drv.c was added on branch tls-maxphys on 2014-08-20 00:04:09 +0000
|
1.16.4.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:
|
1.17.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|