summaryrefslogtreecommitdiff
path: root/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c
AgeCommit message (Collapse)Author
2015-01-14gpu: nvgpu: Allow suppressing WFI on submitTerje Bergstrom
Allow suppressing WFI when submitting work and requesting a fence back. Bug 1491545 Change-Id: Ic3d061bb4f116cf7ea68dbd6a1b2ace9f11d0ab5 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/390457 Reviewed-on: http://git-master/r/671029 GVS: Gerrit_Virtual_Submit Reviewed-by: Sibashis Mohapatra <sibashism@nvidia.com> Tested-by: Sibashis Mohapatra <sibashism@nvidia.com> Reviewed-by: Yogesh Kini <ykini@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2014-08-21gpu: nvgpu: Never use KEPLER_C sync point incrementTerje Bergstrom
Bug 1497928 Change-Id: Ic3a2923ae73792e87145b6211e45e5ace3651ddc Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/482492 GVS: Gerrit_Virtual_Submit Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Tested-by: Prabhu Kuttiyam <pkuttiyam@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-07-07gpu: nvgpu: remove redundant busy()/idle() callsDeepak Nibade
gk20a_busy() call in channel_syncpt_incr() and corresponding gk20a_idle() call in channel_update() are redundant since they are already encapsulated inside another pair of busy/idle calls This busy/idle pair will be called only from submit_gpfifo() and submit_gpfifo() already has its own busy/idle which it preserves for whole path and hence this redundant pair can be removed Also, this prevents a dead lock scenario while do_idle() is in progress as follows : - in submit_gpfifo() we call first gk20a_busy() which acquires busy read semaphore - in do_idle() we acquire busy write semaphore and wait for current jobs to finish - now submit_gpfifo() encounters second gk20a_busy() and requests busy read semaphore again - this results in dead lock where do_idle() is waiting for submit_gpfifo() to complete and submit_gpfifo() is waiting for busy lock held by do_idle() and hence it cannot complete bug 1529160 Change-Id: I96e4368352f693e93524f0f61689b4447e5331ea Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/434191 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
2014-05-12gpu: nvgpu: Register as subdomain of host1xTerje Bergstrom
Add gk20a as a sub power domain of host1x. This enforces keeping host1x on when using gk20a. Bug 200003112 Change-Id: I08db595bc7b819d86d33fb98af0d8fb4de369463 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/407543 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2014-04-23gpu: nvgpu: disable aggresive syncpoint destroyShridhar Rasal
Bug 1503225 Change-Id: I52fd660de9bd251ceb936ad4edc34359753a0074 Signed-off-by: Shridhar Rasal <srasal@nvidia.com> Reviewed-on: http://git-master/r/399460 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-23gpu: nvgpu: gk20a: enable syncpt free at channel_unbind()Deepak Nibade
Set syncpt_aggressive_destroy = true and enable gpu channels' syncpt free at channel_unbind() time. This is more agrressive level to free a syncpt. Bug 1305024 Change-Id: I20296590454fcbf6556c5bd08b7e47156f7a1e65 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/395154 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-09gpu: nvgpu: Don't request host1x irq on channel wfiLauri Peltonen
Fix regression caused by commit 67fa249b419d32bfd0873fe5d924f4f01d9048de "video: tegra: host: Abstract gk20a channel synchronization". The above change unintentionally modified the channel synchronization logic so that an nvhost interrupt handler was scheduled also when idling the channel in gk20a_channel_submit_wfi. That appears to cause intermittent hangs when running CUDA tests. Bug 1484824 Change-Id: I4a1f85dd9e6215350f93710a2be9b0bbaef24b8f Signed-off-by: Lauri Peltonen <lpeltonen@nvidia.com> Reviewed-on: http://git-master/r/394127 Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-07gpu: nvgpu: gk20a: add syncpt id checksDeepak Nibade
add valid syncpt id checks when syncpt id is extracted from fence fd Bug 1448825 Change-Id: I0f1722aad60e7644b8f490f24cf18a3b80f8583c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/390572 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-04-01gpu: nvgpu: gk20a: fix syncpt names for gk20aDeepak Nibade
nvhost_get_syncpt_host_managed() creates syncpt name based on platform_device pointer passed to it Passing host1x's pointer to this API results in setting gk20a syncpt names as "host1x_0" which is conflicting Hence to restore this pass gk20a's device pointer which gives syncpt names as "gk20a.0_0" Bug 1305024 Change-Id: I40325f2e4e2d9ea8de1d44e136edcb48a431e45c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/389671 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
2014-03-28gpu: nvgpu: Add NVIDIA GPU DriverArto Merilainen
This patch moves the NVIDIA GPU driver to a new location. Bug 1482562 Change-Id: I24293810b9d0f1504fd9be00135e21dad656ccb6 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/383722 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>