{"push_id":694799775,"size":10,"distinct_size":10,"ref":"refs/heads/cm-12.1_cpu","head":"ee3c8077b9661c8b3a1698cff8fd9f07ef455e4f","before":"6fd2fd28953193f1a0601efbae2b5a27bb6d9f4c","commits":[{"sha":"7c407a114d670392d47a13f38f904992799fb908","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Allow sync points to be created on the submitter's context\n\nThere are situations where a submitting thread may wish to create a\nsyncpoint on an already issued timestamp to pause a context until a\nprevious command has been retired.  Relax the restriction against\nsubmitting a sync point against one's own context and only check to\nmake sure the user isn't submitting a syncpoint against a future\ntimestamp (which would be an certain deadlock).\n\nChange-Id: Ic0dedbad883fc228da0d94c8416a88504f5d1377\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/kgsl.c","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/7c407a114d670392d47a13f38f904992799fb908"},{"sha":"34d1369360960d754063bbad5d45d1df8efd907b","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: fix a race condition when calling kref_put\n\nFix a race condition which can occur if a thread tries to acquire\na reference to a mem_entry or context while another thread has\nalready decremented the refcount to 0 and is in the process of\ndestroying said mem_entry or context.\n\nChange-Id: I6be64ca75f9cb12b03e870b9ca83588197c64e5e\nSigned-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/kgsl.c\n\tdrivers/gpu/msm/kgsl_device.h","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/34d1369360960d754063bbad5d45d1df8efd907b"},{"sha":"340f8f99682a63180a51e3240fd3134d25c00dc2","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Check the return value of _kgsl_context_get()\n\nCheck the value returned by _kgsl_context_get() and fail if\nappropriate.  This prevents us from accidently increasing the\nref count on a destroyed context.\n\nChange-Id: Ic0dedbad891842a73b1b87eb6671f9a39a275dd4\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/adreno_drawctxt.c\n\tdrivers/gpu/msm/kgsl.c","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/340f8f99682a63180a51e3240fd3134d25c00dc2"},{"sha":"f6b565f2ae0848ad82c98c552c50497da5408c3d","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Implement KGSL fault tolerance policy in the dispatcher\n\nImplement the KGSL fault tolerance policy for faults in the dispatcher.\nReplay (or skip) the inflight command batches as dictated by the policy,\niterating progressively through the various behaviors.\n\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/adreno.c\n\tdrivers/gpu/msm/adreno.h\n\tdrivers/gpu/msm/adreno_a3xx.c\n\tdrivers/gpu/msm/adreno_postmortem.c\n\tdrivers/gpu/msm/adreno_ringbuffer.c\n\tdrivers/gpu/msm/adreno_trace.h","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/f6b565f2ae0848ad82c98c552c50497da5408c3d"},{"sha":"7fce90cee778aaf4a0f96c95a0e1b79d325d4e38","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Improve the dispatcher issuecmds loop\n\nInstead of playing silly tricks to try to avoid going into an\ninfinite loop while processing pending contexts do the smart\nthing and copy off the entire pending queue into a temporary\nlist.  That leaves the master list free to accept new and\nrequeued contexts and we can do evil things to our temporary\nlist.\n\nChange-Id: Ic0dedbad365206031854fc95b5353184cabd40a1\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/7fce90cee778aaf4a0f96c95a0e1b79d325d4e38"},{"sha":"9a3c64dae618e5c9f58a069ea239e74f633d2253","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Hold the plist spinlock to protect nodes\n\nEven though we copy the plist to process the pending contexts the\nindividual nodes might need to be spinlock protected against\noutsiders.\n\nChange-Id: Ic0dedbad509e9b37b5bee4b4828561950ad2f73e\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/9a3c64dae618e5c9f58a069ea239e74f633d2253"},{"sha":"9a42c195357bab3ef187eeee3dca47927142010b","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Hold a reference to process private when creating context\n\nWhen a context is created hold a reference to the process private\nstructure which is referenced from within the context. The process\nprivate structure can be destroyed while some threads still have\na reference to the context, this can lead to a situation where the\nprocess private pointer inside the context pointer becomes invalid.\nAvoid this by holding a reference to the process private structure\nas long as the context is around.\n\nChange-Id: Ia35629e5d027a383ed4c1378316633b4923372f7\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/kgsl.c","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/9a42c195357bab3ef187eeee3dca47927142010b"},{"sha":"987234faeb10ef49544572d59ee699e1bc00c4b1","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Store process private pointer in context\n\nStore the process private pointer in context. Earlier the process\nprivate pointer was referenced through the dev_priv pointer in the\ncontext, but the dev_priv pointer can be destroyed before the context\nprocess private so store this pointer locally.\n\nChange-Id: Ic07680b79db55d6306306bd61bda5a1288813914\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/adreno.c\n\tdrivers/gpu/msm/adreno_a2xx.c\n\tdrivers/gpu/msm/adreno_a3xx.c\n\tdrivers/gpu/msm/kgsl_device.h","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/987234faeb10ef49544572d59ee699e1bc00c4b1"},{"sha":"af8c3904eab3f774bcf2739ac81d920ade8209d4","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Do not delete command batch unless it's retired\n\nDo not remove command batch from the dispatcher list if it's timestamp\nhas not retired. Even if the context to which the command belongs\nhas been detached. If the command is in the dispatcher queue it means\nit's in the ringbuffer and we should wait for it to complete the normal\nway. Also make sure that we use the correct retired timestamp even if\nthe context was detached because of a userpace context destroy call.\n\nChange-Id: If3a9a562180b924492ed95f208b5e3d469abdfba\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/adreno.c","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/af8c3904eab3f774bcf2739ac81d920ade8209d4"},{"sha":"ee3c8077b9661c8b3a1698cff8fd9f07ef455e4f","author":{"email":"ff1e5ded47dd5c88716d0ac2f671fd3e0c0ebc6d@codeaurora.org","name":"Carter Cooper"},"message":"msm: kgsl: Check whether context is detached before updating timestamp\n\nWhen context is detached there is a wait for the last timestamp\nused by the context. This is done under the assumption that after\nthis timestamp there will be no commands in the pipeline that are\nsubmitted on behalf of this context. However, the dispatcher can\nstill dispatch commands from the detached context because there\nis a time gap between the context being detached and the dispatcher\nchecking whether the context is detached. Hence, guard the last\ntimestamp by holding the context mutex and checking if the context is\ndetached or not before updating it.\n\nTrying to guard internal_timestamp with drawctxt->mutex could lead\nto a locking order inversion and possibly deadlock. This variable\nis set in adreno_ringbuffer_addcmds(), and used in kgsl_context_detach().\nBoth of these calls hold device->mutex, so it is safe to access\nthis variable without an additional mutex.\n\nChange-Id: Idc1a867de94e071a3128a164724d26dd9cb29a0a\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Jeremy Gebben <jgebben@codeaurora.org>\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\n\nConflicts:\n\tdrivers/gpu/msm/adreno_drawctxt.c\n\tdrivers/gpu/msm/adreno_drawctxt.h\n\tdrivers/gpu/msm/adreno_ringbuffer.c","distinct":true,"url":"https://api.github.com/repos/Mrcl1450/android_kernel_sony_msm8x60/commits/ee3c8077b9661c8b3a1698cff8fd9f07ef455e4f"}]}