History log of /src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c |
Revision | | Date | Author | Comments |
1.25 |
| 19-Dec-2021 |
riastradh | i915: more work
|
1.24 |
| 19-Dec-2021 |
riastradh | drm: Another pass over i915. Most of i915 gem builds now.
|
1.23 |
| 19-Dec-2021 |
riastradh | Undo harmful local diffs
Author: Maya Rashish <maya@NetBSD.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.22 |
| 19-Dec-2021 |
riastradh | More crap to make this thing get closer to building.
|
1.21 |
| 19-Dec-2021 |
riastradh | bus-spaceify raw_reg_read/write.
XXX heavily modified - 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 | Undo the `enum pipe' -> `enum i915_pipe' rename.
|
1.17 |
| 13-Sep-2018 |
mrg | branches: 1.17.6; 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.16 |
| 27-Aug-2018 |
riastradh | Advance by 4-byte quantities, not by 1-byte quantities.
|
1.15 |
| 27-Aug-2018 |
riastradh | Narrow scope of locks in i915 error checks to reduce deadlocks.
Not really sure why I had put some of these locks here...
|
1.14 |
| 27-Aug-2018 |
riastradh | Fix up i915_irq.c.
- <linux/hardirq.h> for synchronize_irq - DRM_IRQ_ARGS - PRIx64, not %llx, for 64-bit printf
|
1.13 |
| 27-Aug-2018 |
riastradh | enum pipe -> enum i915_pipe (why did we inflict this on ourselves, again?)
|
1.12 |
| 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.11 |
| 27-Aug-2018 |
riastradh | merge linux-drm-v4-4-143
|
1.10 |
| 07-Sep-2014 |
matt | branches: 1.10.18; 1.10.20; Change enum pipe to enum i915_pipe (enum pipe uses too global of a tag and conflicts with struct pipe).
|
1.9 |
| 27-Aug-2014 |
riastradh | Lock irq_lock around i915_error_wake_up in i915_error_work_func.
|
1.8 |
| 27-Aug-2014 |
riastradh | Fix two mistakes in previous.
- i915_error_wake_up is given irq_lock, so it need not take that. - Unlock irq_lock on exit from i915_hangcheck_elapsed if ring_hung.
XXX This introduces the lock order irq_lock -> pending_flip_lock. How about just using irq_lock for pending flips?
|
1.7 |
| 27-Aug-2014 |
riastradh | Fix i915 locking around error handling.
|
1.6 |
| 16-Jul-2014 |
riastradh | branches: 1.6.2; 1.6.4; 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 |
| 27-Jun-2014 |
riastradh | Work around bug on one-pipe 845 devices until we update drm again.
|
1.3 |
| 18-Mar-2014 |
riastradh | branches: 1.3.2; 1.3.4; 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 i915_irq.c was added on branch rmind-smpnet on 2013-08-28 23:59:33 +0000
|
1.1.1.1.2.9 |
| 22-Jan-2014 |
riastradh | Take irq_lock before waking up irq_queue in i915_handle_error.
|
1.1.1.1.2.8 |
| 15-Jan-2014 |
riastradh | Use dev_priv->irq_lock for ring->irq_queue, not dev->struct_mutex.
We need to use a spin lock here, because we need to exclude interrupt handlers.
|
1.1.1.1.2.7 |
| 08-Sep-2013 |
riastradh | Use dev->struct_mutex, not drm_global_mutex, for ring->irq_queue.
|
1.1.1.1.2.6 |
| 24-Jul-2013 |
riastradh | Convert i915_irq.c to use DRM_IRQ_ARGS in irq handlers.
|
1.1.1.1.2.5 |
| 24-Jul-2013 |
riastradh | Provisionally ifdef out some kobject_uevent stuff in i915_irq.c.
|
1.1.1.1.2.4 |
| 24-Jul-2013 |
riastradh | i915_irq.c needs <linux/printk.h.
|
1.1.1.1.2.3 |
| 24-Jul-2013 |
riastradh | Convert struct intel_ringbuffer::irq_queue to drm waitqueues.
|
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_irq.c was added on branch riastradh-drm2 on 2013-07-23 21:28:22 +0000
|
1.3.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.3.4.1 |
| 18-Mar-2014 |
yamt | file i915_irq.c was added on branch yamt-pagecache on 2014-05-22 11:40:53 +0000
|
1.3.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.6.4.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.6.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.6.4.1 |
| 16-Jul-2014 |
tls | file i915_irq.c was added on branch tls-maxphys on 2014-08-20 00:04:09 +0000
|
1.6.2.4 |
| 10-Nov-2014 |
martin | Pull up following revision(s) (requested by snj in ticket #191): sys/external/bsd/drm2/include/linux/io-mapping.h: revision 1.4 sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/intel_panel.c: revision 1.5 sys/external/bsd/drm2/dist/uapi/drm/drm.h: revision 1.6 sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: revision 1.7 sys/external/bsd/drm2/include/linux/ww_mutex.h: revision 1.7 sys/external/bsd/drm2/dist/drm/i915/intel_dp.c: revision 1.8 sys/external/bsd/drm2/dist/drm/i915/i915_ums.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/i915_debugfs.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.4 sys/external/bsd/drm2/dist/drm/i915/intel_dsi.c: revision 1.3 sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/intel_hdmi.c: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.12 sys/external/bsd/drm2/include/asm/processor.h: revision 1.3 sys/external/bsd/drm2/dist/drm/i915/intel_crt.c: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/intel_sideband.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/intel_ddi.c: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/intel_tv.c: revision 1.5 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.10 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.16 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.17 sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.6 sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.7 sys/external/bsd/drm2/drm/drm_module.c: revision 1.8 sys/external/bsd/drm2/dist/drm/i915/intel_sprite.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/intel_dsi_cmd.c: revision 1.2 sys/external/bsd/drm2/i915drm/intelfb.c: revision 1.10 sys/external/bsd/drm2/dist/drm/i915/intel_dvo.c: revision 1.2 sys/external/bsd/drm2/dist/drm/i915/intel_sdvo.c: revision 1.6 sys/external/bsd/drm2/dist/drm/i915/intel_lvds.c: revision 1.6 Code cleanup and minor bugfixes for drm2.
|
1.6.2.3 |
| 21-Sep-2014 |
snj | Pull up following revision(s) (requested by riastradh in ticket #99): sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.8 Fix two mistakes in previous. - i915_error_wake_up is given irq_lock, so it need not take that. - Unlock irq_lock on exit from i915_hangcheck_elapsed if ring_hung. XXX This introduces the lock order irq_lock -> pending_flip_lock. How about just using irq_lock for pending flips?
|
1.6.2.2 |
| 21-Sep-2014 |
snj | Pull up following revision(s) (requested by riastradh in ticket #99): sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.9 Lock irq_lock around i915_error_wake_up in i915_error_work_func.
|
1.6.2.1 |
| 21-Sep-2014 |
snj | Pull up following revision(s) (requested by riastradh in ticket #99): sys/external/bsd/drm2/dist/drm/i915/i915_irq.c: revision 1.7 Fix i915 locking around error handling.
|
1.10.20.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.10.20.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.10.18.2 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.10.18.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.17.6.1 |
| 29-Feb-2020 |
ad | Sync with head.
|