msm: kgsl: Reset VSC control registers

Configure the A2xx VSC register in context switch,
which helps GPU to recover from the bad state.

CRs-Fixed: 637288
Change-Id: I2000a579614c491a015c618a52808500541329c5
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Fix GPU hang recovery logic

During new commands submission, if the write pointer
is ahead of read pointer fill ringbuffer data with
KGSL_NOP_DATA_FILLER after NOP command. This will
avoids getting incorrect context ID from the ringbuffer
extraction logic during GPU recovery.

CRs-Fixed: 620533
Change-Id: If4d25770b7288bc6fb618611c150e3876cc87c6f
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Remove sscanf() from kgsl_pwrctrl.c

Replace sscanf() in kgsl_pwrctrl.c with a generic function to safely
convert 32 bit unsigned ints.

CRs-fixed: 563585
Change-Id: Ic0dedbad10e2264ec8fccab622d094d123b49b77
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: fix a race condition when calling kref_put

Fix a race condition which can occur if a thread tries to acquire
a reference to a mem_entry or context while another thread has
already decremented the refcount to 0 and is in the process of
destroying said mem_entry or context.

CRs-Fixed: 635747
Change-Id: I6be64ca75f9cb12b03e870b9ca83588197c64e5e
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: don't use sscanf()

Friends do not let friends use sscanf().

CRs-Fixed: 563605
Change-Id: Ic0dedbad56af5bbee4fc833701d8bc93b118efa9
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Ananta Kishore K <akollipa@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Increase IDLE_TIMEOUT for 2D core to 20secs

Increasing the hang detection time for 2D core from
10 secs to 20 secs to avoid False GPU Hangs.
Some c2d test cases are taking more than 10 secs
to process which results in a False GPU Hang.

CRs-Fixed: 454439, 644283
Change-Id: Ice5e4b719adb44cd13fb8164bafedce1049416f7
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Fix for panic in z180 postmortem dumps

We were accessing z180 registers without holding
device mutex. This change ensures that we hold the
mutex before accessing z180's registers

CRs-Fixed: 644283
Change-Id: Ib6496c427fc6c9a3f97a6720adb80a390fe21b0d
Signed-off-by: Gaurav Gagrani <ggagrani@codeaurora.org>
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Fix Z180 memory leak

Decerement entry refcount, which incremented
in kgsl_sharedmem_find_region.

CRs-Fixed: 635747
Change-Id: I621ba8f8e119a9ab8ba5455b28a565e3cae2f7cd
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: kgsl: Release process mutex appropriately to avoid deadlock

There is a deadlock situation between
msm_iommu_lock mutex and process_mutex.

In irq context iommu_fault_handler get into
a deadlock by aquiring msm_iommu_lock and waiting
for process mutex. The other thread in
destroy_process_private is waiting for
msm_iommu_lock while holding process mutex leading
to a deadlock. With this change we release the
process mutex well before we call the function
in which msm_iommu_lock is taken.

Change-Id: I674a7512dcd3e7fe202e39b57539cb6c1e29ae0e
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
kgsl: remove faulted

This code is not required. It was part of Sony source drop
It was not found in newer version of codeaurora code
not sure where this comes from. Could not find history reference
in CAF code. Removed
Fix Merge heading. Oops...
msm-camera: Fix to prevent kernel heap buffer overflow in actuator

Fix to prevent kernel heap buffer overflow allows user
controlled data to be written to the heap via the
msm_camera actuator IOCTLs

Change-Id: I5d511e8c1aa2f76f4209a6712a58d8757bc53367
CRs-Fixed: 545979
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm-camera: fix to prevent untrusted pointer to lead DoS in Actuator

fix to prevent untrusted userspace pointer in actuator kernel
driver to lead DoS in actuator driver

Change-Id: If9dcba3d4871ca98f78542f8bfb1623a02032f0d
CRs-Fixed: 547231
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm-camera: Assign NULL after freeing memory

In msm_actuator we need to assign memory
pointer to  NULL after freeing that memory
using kfree.

CRs-Fixed: 621818
Change-Id: Id6bc85a74c94556b53f4a868a168637e0733bde4
Signed-off-by: Raghu DP <dp.raghu@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm:camera: Initialize a structure before usage

Initialize a structure using memset such that it is
populated properly before returning to userspace.

CRs-fixed: 550567
Change-Id: I2b3c78cd2b309de13acf2811fcc16b8bc04fa052
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm-camera: Validate VFE command id

Validating VFE command id to avoid memory related corruptions.

Change-Id: I35ce2ed8514e0112b996ce05be6e6f505cdb6e60
CRs-Fixed: 563542
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
kernel:Dont set stop_issued flag in stop recording

stop_issued flag should not be set
to TRUE during stop recording and liveshot.

CRs-Fixed: 629368

Change-Id: Ibf57a4e72e48ad1ce9821415ebf6de01fd881e64
Signed-off-by: Raghu DP <dp.raghu@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
Revert "msm:camera: Disable/enable VFE write masters properly during overflow"

This reverts commit 8579e70bfb06885c1530e7e0c6b0410050e8cba8.

Change-Id: I8152f6d3be841b296c300e3513eb013ee7fe31fb
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm-camera : Fix for Unbounded copy in msm_camera_v4l2_private_control

Fix for the Unbounded copy in msm_camera_v4l2_private_control function

CRs-Fixed: 545962

Change-Id: I36b3cb3193610a090f3fc87273bc71317e7029bd
Signed-off-by: Katta Santhisindhu <kattas@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>
msm: camera: Clear frame stucture before use

Clear frame structure before use and avoid unnecessary side
effects

CRs-Fixed: 563447

Change-Id: I9acd436f30c65c01fa366328f7227a2045f42657
Signed-off-by: Ashok Raj Deenadayalan <adeena@codeaurora.org>
Signed-off-by: isimobile <isi.mobi@gmail.com>