From a6c4eb4c14667a4f191d95ac8819015d7273748c Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Wed, 20 Nov 2019 14:27:50 -0500 Subject: [PATCH] gpu: nvgpu: update test_gk20a_runlist_wait_pending spec Update description for test_gk20a_runlist_wait_pending. Test is now using register IO callbacks instead of a thread to clear fifo_eng_runlist_r pending bit. Jira NVGPU-3793 Change-Id: I7ddae3f4574705eb57bd432693da91480c7f09dd Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/2243621 Reviewed-by: Alex Waterman Reviewed-by: Debarshi Dutta GVS: Gerrit_Virtual_Submit Reviewed-by: Deepak Nibade Reviewed-by: mobile promotions Tested-by: mobile promotions --- .../units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h b/userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h index 3f7a04e60..a90514e26 100644 --- a/userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h +++ b/userspace/units/fifo/runlist/gk20a/nvgpu-runlist-gk20a.h @@ -81,15 +81,17 @@ int test_gk20a_runlist_hw_submit(struct unit_module *m, * Steps: * - Check case where runlist is not pending (not wait). * - Set register to indicate that runlist is NOT pending. - * - call gk20a_runlist_wait_pending. + * - Call gk20a_runlist_wait_pending. * - Check case where some polling is needed until runlist is not pending: - * - Set register to indicate that runlist is pending. - * - Start a thread to clear this bit after some time. - * Time is chosed so that one ore more loops are required. - * - call gk20a_runlist_wait_pending. + * - Install register IO callbacks in order to control + * value read from fifo_eng_runlist_r register. + * - Configure callback to clear pending bit after one nvgpu_readl. + * - Call gk20a_runlist_wait_pending. + * - Configure callback to clear pending bit after two nvgpu_readl. + * - Call gk20a_runlist_wait_pending. * - Check case where polling times out: * - Set register to indicate that runlist is pending. - * - call gk20a_runlist_wait_pending. + * - Call gk20a_runlist_wait_pending. * * Output: Returns PASS if all branches gave expected results. FAIL otherwise. */