Home | History | Annotate | Download | only in linux
History log of /src/sys/external/bsd/drm2/linux/linux_dma_resv.c
RevisionDateAuthorComments
 1.22  15-Feb-2022  riastradh 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.
 1.21  19-Dec-2021  riastradh drm: Fix comment about dma_resv_lock_* return values.
 1.20  19-Dec-2021  riastradh 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.
 1.19  19-Dec-2021  riastradh drm: Fix missing restart on race in dma_resv_get_fences_rcu.
 1.18  19-Dec-2021  riastradh drm: Support dma_resv_reserve_shared(..., num_fences>1).
 1.17  19-Dec-2021  riastradh drm: Implement drm_resv_get_fences_rcu with null fencep.
 1.16  19-Dec-2021  riastradh drm: Factor dma_fence_put out of multiple dma_resv_do_poll branches.
 1.15  19-Dec-2021  riastradh 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.
 1.14  19-Dec-2021  riastradh 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.
 1.13  19-Dec-2021  riastradh drm: Write comment for dma_resv_get_fences_rcu semantics.
 1.12  19-Dec-2021  riastradh drm: Factor out logic to read snapshot of fences in dma_resv.

Should make auditing a little easier.
 1.11  19-Dec-2021  riastradh 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
 1.10  19-Dec-2021  riastradh 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.
 1.9  19-Dec-2021  riastradh drm: Fix sense of conditional to avoid null pointer dereference.
 1.8  19-Dec-2021  riastradh drm: Paranoia: null out fence if unreferenceable.
 1.7  19-Dec-2021  riastradh drm: Membar audit for dma_resv.

Try to pacify kcsan (untested) and make it clearer what ordering
matters.
 1.6  19-Dec-2021  riastradh 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.
 1.5  19-Dec-2021  riastradh drm: Plug fence leak
 1.4  19-Dec-2021  riastradh Implement dma_resv_locking_ctx more carefully.
 1.3  19-Dec-2021  riastradh 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>
 1.2  19-Dec-2021  riastradh Add slow path versions of to drm_resv_lock.
 1.1  19-Dec-2021  riastradh Rename reservation_object -> dma_resv.

RSS XML Feed