The NetBSD Project

CVS log for src/sys/external/bsd/drm2/dist/drm/i915/i915_active.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / drm2 / dist / drm / i915

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.14 / (download) - annotate - [select for diffs], Wed Mar 16 23:32:52 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.13: +8 -3 lines
Diff to previous 1.13 (colored) to selected 1.12 (colored)

i915: Avoid freeing anything under a spin lock.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Feb 27 14:18:42 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.12: +4 -3 lines
Diff to previous 1.12 (colored)

i915: Use new rb_move to relocate the active tree.

Revision 1.12 / (download) - annotate - [selected], Tue Feb 15 18:14:18 2022 UTC (2 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.11: +4 -5 lines
Diff to previous 1.11 (colored)

Revert "i915: Defer final wakeup on active until after retirement."

This reverts i915_active.c 1.11.  ref->retire might free the object,
so touching it is not allowed -- that would use-after-free.  Linux
uses the object only for its address with wake_up_var.

The reason I made this change was that I guessed i915_active_wait has
to wait until after ref->retire finishes -- after all, Linux seems to
defer the wakeup until then.  However, even the Linux code doesn't
guarantee this, because i915_active_wait could be called _during_
ref->retire, and would witness ref->count == 0, and would not wait
until it has completed in that case.  So maybe my guess was wrong,
and it is OK for i915_active_wait to return while ref->retire is
still in flight -- I don't see any logic that obviously requires it
to wait for ref->retire, in any case.

Or maybe something does rely on i915_active_wait to wait for
ref->retire to finish, in which case we need a different mechanism
for i915_active_release itself to wait until i915_active_retire has
woken up, without dereferencing ref since it might be dead after
ref->retire.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Feb 14 20:37:51 2022 UTC (2 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.10: +5 -4 lines
Diff to previous 1.10 (colored) to selected 1.12 (colored)

i915: Defer final wakeup on active until after retirement.

Not sure what I was thinking when I moved this earlier!

Revision 1.10 / (download) - annotate - [select for diffs], Fri Dec 24 00:14:03 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored) to selected 1.12 (colored)

i915: Fix memory leak in active node allocation under #ifdef NetBSD.

Potential fix for PR kern/56573.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 19 12:12:39 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.8: +6 -2 lines
Diff to previous 1.8 (colored) to selected 1.12 (colored)

i915: Allow duplicates in active tree, sorted by kva.

Upstream looks like it uses insertion order, but that's not really
convenient.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 19 12:11:14 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.7: +26 -17 lines
Diff to previous 1.7 (colored) to selected 1.12 (colored)

i915: Abuse abstractions gruesomely but with less lock screwitude.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Dec 19 11:59:04 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.6: +3 -4 lines
Diff to previous 1.6 (colored) to selected 1.12 (colored)

i915: Destroy locks in i915_active objects on free.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Dec 19 11:58:25 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored) to selected 1.12 (colored)

i915: Missed a spot in flailing the bad thing going wrong.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Dec 19 11:57:54 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.4: +14 -8 lines
Diff to previous 1.4 (colored) to selected 1.12 (colored)

i915: Flail harder to work around the bad thing that went wrong.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 19 11:52:07 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.3: +110 -49 lines
Diff to previous 1.3 (colored) to selected 1.12 (colored)

i915: intel_engine_pm.c and i915_active.c

...with a little less heinous abuse of C, and an attempt to
disentangle the tentacular abstraction violations rampant in these
components

Revision 1.3 / (download) - annotate - [select for diffs], Sun Dec 19 01:44:57 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.2: +56 -2 lines
Diff to previous 1.2 (colored) to selected 1.12 (colored)

Hack i915_vma.c: rbtree, unmap by pa rather than vm object, PRIx64.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Dec 18 23:45:28 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.12 (colored)

Merge linux-drm-v5-6-rc3

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sat Dec 18 20:15:24 2021 UTC (2 years, 4 months ago) by riastradh
Branch: LINUX
CVS Tags: linux-drm-v5-6-rc3
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.12 (colored)

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

Revision 1.1 / (download) - annotate - [select for diffs], Sat Dec 18 20:15:24 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Diff to selected 1.12 (colored)

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>