The NetBSD Project

CVS log for src/sys/external/bsd/drm2/linux/linux_dma_resv.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / drm2 / linux

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.22 / (download) - annotate - [select for diffs], Tue Feb 15 22:51:03 2022 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.21: +33 -15 lines
Diff to previous 1.21 (colored)

drm: Use KM_SLEEP to allocate reservation fence arrays.

Except as a fast path in an RCU reader.

The array sizes appear to be reasonably small and not trivially
controlled by userland, from what I can tell, so if my impression is
accurate, it is reasonable to sleep for allocation here.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Dec 19 12:36:02 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored)

drm: Fix comment about dma_resv_lock_* return values.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Dec 19 12:33:42 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.19: +13 -5 lines
Diff to previous 1.19 (colored)

drm: Paranoia: handle fencep=null, fence!=null, and 0 shared.

Not sure this is possible but I don't know the API well enough to
prove it can't happen.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Dec 19 12:33:34 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

drm: Fix missing restart on race in dma_resv_get_fences_rcu.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Dec 19 12:32:53 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.17: +10 -11 lines
Diff to previous 1.17 (colored)

drm: Support dma_resv_reserve_shared(..., num_fences>1).

Revision 1.17 / (download) - annotate - [select for diffs], Sun Dec 19 12:31:34 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.16: +24 -6 lines
Diff to previous 1.16 (colored)

drm: Implement drm_resv_get_fences_rcu with null fencep.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Dec 19 12:26:39 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.15: +6 -12 lines
Diff to previous 1.15 (colored)

drm: Factor dma_fence_put out of multiple dma_resv_do_poll branches.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Dec 19 12:26:30 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.14: +7 -3 lines
Diff to previous 1.14 (colored)

drm: Fix dma_resv_test_signaled_rcu and dma_resv_wait_timeout_rcu.

Make them implemented the semantics as documented like Linux does:
only test the exclusive fence if there's no shared fences.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Dec 19 12:26:22 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.13: +19 -3 lines
Diff to previous 1.13 (colored)

drm: Make sure to check read ticket after reading shared fences.

Not entirely sure it was a bug not to do that, but let's make it easy
to prove that we got a consistent snapshot of the whole picture.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Dec 19 12:26:13 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.12: +10 -2 lines
Diff to previous 1.12 (colored)

drm: Write comment for dma_resv_get_fences_rcu semantics.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Dec 19 12:26:04 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.11: +152 -160 lines
Diff to previous 1.11 (colored)

drm: Factor out logic to read snapshot of fences in dma_resv.

Should make auditing a little easier.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Dec 19 12:21:30 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.10: +14 -2 lines
Diff to previous 1.10 (colored)

amdgpu: Another pass through.

amdgpu_object.c
amdgpu_pci.c
amdgpu_pm.c
amdgpu_polaris10_smumgr.c
amdgpu_pp_psm.c
amdgpu_ppatomctrl.c
amdgpu_ppatomfwctrl.c
amdgpu_process_pptables_v1_0.o
amdgpu_psp.o
amdgpu_psp_v10_0.c
amdgpu_psp_v11_0.c
amdgpu_psp_v12_0.c
amdgpu_psp_v3_1.c
amdgpu_ras.c
amdgpu_ras_eeprom.c
amdgpu_rc_calc.c
amdgpu_rc_calc_dpi.c
amdgpu_ring.c
amdgpu_rlc.c
amdgpu_rn_clk_mgr.c
amdgpu_sdma_v3_0.c
amdgpu_sdma_v4_0.c
amdgpu_sdma_v5_0.c
amdgpu_si.c
amdgpu_si_dma.c
amdgpu_si_dpm.c
amdgpu_smu.c
amdgpu_smu10_hwmgr.c
amdgpu_smu7_hwmgr.c
amdgpu_smu8_hwmgr.c
amdgpu_smu8_smumgr.c
amdgpu_smu_v11_0.c (and a sprinkling of consts)
amdgpu_smu_v11_0_i2c.c
amdgpu_soc15.c
amdgpu_tonga_smumgr.c
amdgpu_ttm.c
amdgpu_ucode.c
amdgpu_uvd.c
amdgpu_uvd_v5_0.c
amdgpu_uvd_v6_0.c
amdgpu_uvd_v7_0.c
amdgpu_vce.c
amdgpu_vce_v2_0.c
amdgpu_vce_v4_0.c
amdgpu_vcn_v1_0.c
amdgpu_vcn_v2_0.c
amdgpu_vcn_v2_5.c
amdgpu_vega10_hwmgr.c
amdgpu_vega10_powertune.c
amdgpu_vega10_processpptables.c
amdgpu_vega10_reg_init.c
amdgpu_vega12_hwmgr.c
amdgpu_vega20_hwmgr.c
amdgpu_vega20_ppt.c
amdgpu_vega20_reg_init.c
amdgpu_vi.c
amdgpu_virt.c
amdgpu_vram_mgr.c
amdgpu_xgmi.c -- disable (for now?)
amdgpufb.c

Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 19 12:14:02 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.9: +101 -51 lines
Diff to previous 1.9 (colored)

drm: Fence leak audit.  No functional change intended.

Sprinkle nulling out variables, add kasserts to reflect them, and
propagate their consequences to eliminate dead code.  Should make it
easier to detect similar leak bugs.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 19 12:13:53 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

drm: Fix sense of conditional to avoid null pointer dereference.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 19 12:09:35 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

drm: Paranoia: null out fence if unreferenceable.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Dec 19 11:54:39 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.6: +43 -24 lines
Diff to previous 1.6 (colored)

drm: Membar audit for dma_resv.

Try to pacify kcsan (untested) and make it clearer what ordering
matters.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Dec 19 11:53:33 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.5: +17 -59 lines
Diff to previous 1.5 (colored)

drm: Use atomic_store_release/load_consume in linux_dma_resv.c.

At least, for robj->fence and robj->fence_excl.  Need to review
list->shared_count and list->shared[i] too.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Dec 19 11:52:55 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.4: +5 -4 lines
Diff to previous 1.4 (colored)

drm: Plug fence leak

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 19 10:38:14 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.3: +16 -2 lines
Diff to previous 1.3 (colored)

Implement dma_resv_locking_ctx more carefully.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Dec 19 10:37:47 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.2: +4 -3 lines
Diff to previous 1.2 (colored)

dma_resv_reserve_shared takes one more argument, num_fences

Fortunately it's ~always 1, and (XXX) I assume our implementation
assumes this, too. But assert it.


Author: Maya Rashish <maya@NetBSD.org>

Revision 1.2 / (download) - annotate - [select for diffs], Sun Dec 19 10:36:55 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.1: +35 -2 lines
Diff to previous 1.1 (colored)

Add slow path versions of to drm_resv_lock.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Dec 19 10:19:53 2021 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN

Rename reservation_object -> dma_resv.

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>