msm: kgsl: release the wakelock when going to suspend

This change is needed only if slumber is disabled
CRs-Fixed: 355216
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
(cherry picked from commit 48e727689b8fabbb44f20e86f1ad6a04b8111e0a)

Change-Id: I5183e9e409f494757e44a919b87d3b078ac9ea7d
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: kgsl: disable early suspend and late resume for 2d cores.

The powerrail off during slumber is causing a GPU hang

CRs-Fixed: 355216
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
(cherry picked from commit 2bd5c33b0c7a47fffc089ced6d14efc0369a5bdc)

Change-Id: I6a1d933abaca690124170dbda2a3ccc0cb1879b3
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: kgsl: fix cleanup code in kgsl_ioctl_map_user_mem()

ion handles need to be handled differently than pmem or
ashmem handles.

CRs-Fixed: 359268
Change-Id: I20637644f247859245fbba80e5bc6b50fd896403
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: kgsl: convert timestamp_cmp logic to use unsigned logic

The meaning of timestamps becomes difficult to understand when
converting between unsigned and signed values. Values that
were seperated by 0x80000000 also returned inconsistent
results.

CRs-Fixed: 355752

Conflicts:

	drivers/gpu/msm/kgsl.h

Change-Id: I5d5d1ad64ef120da8769d72ac69dde37f8f5c6ae
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
base: genlock: remove BIT macro usage

The BIT macro is not defined for !_KERNEL_ resulting in compile errors.

CRs-fixed: 356263
Change-Id: Ib2acd913033fccca63716d6585a51707c72debf0
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm_fb: HDMI: Do not add HDCP reauth timer during probe

Currently all HDMI/HDCP timers are initialized in the driver's
probe function with a maximum possible expiration value. However,
the 32-bit jiffies value is initialized in the kernel so as to
wrap 5 minutes after boot. This results in the HDCP timer being
fired 5 minutes after boot even though reauthentication is not
necessary. This change fixes this issue by not starting the HDCP
reauth timer during probe. The timer is only started when an
authentication failure is detected from an existing valid HDCP
session.

CRs-Fixed: 352080
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
(cherry picked from commit ca15287e50fe00dd6526fdc166cb526298099fb2)

Change-Id: Ia3e240c3c0c32b6ef9fa2c58e48a5cadb64791b8
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
(cherry picked from commit b44b96003a28d22433731b7d53db57cc5641a052)
vidc: Add extra cases for error handling in vidc init

Currently error conditions are not handled properly
if failures occur during irq request or while creating
work queue. With this commit these error conditions
are properly handled.

Change-Id: I618ca5c2a4f6bd09a3edd164a7867a90a9ed9f9a
CRs-Fixed: 355753
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
(cherry picked from commit c9a9332a743459e44744e630f3e734e7788c477d)
(cherry picked from commit efb9b72a643d6e499e5e5b94c5cc1fe32b652851)

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
video: msm: wfd: Don't signal HDMIDaemon to mirror on FB1

Remove obsolete code that signalled HDMIDaemon to mirror the
display on FB1.

Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
CRs-Fixed: 352830
(cherry picked from commit 4102d704243cf0ff297cdbe8d5b731da4c0bb9d5)

Change-Id: I07fabb754a49fe398813e864067f96c66a47f489
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: vidc: Metadata memory release issue.

Metadata memory is not freed when there is
memory allocation failure in ddl open. Fixed
this issue by freeing the metadata memory.

CRs-Fixed: 353109
Change-Id: I3f6fd93498aea0ce78092bd3a28cf08625b0ca77
Signed-off-by: Anil Gahlot <anilg@codeaurora.org>
Signed-off-by: Mohan Kumar Gubbihalli Lachma Naik <mgubbi@codeaurora.org>
(cherry picked from commit af296715bd5db6c38997d1171d079331c8650287)
(cherry picked from commit 572e147402717bb0c77ecc807659d05a617e370f)
msm: video: wfd: Fix array out of bounds and stale pointer issue

The following change fixes two issues.  The first being a stale pointer
in which the driver accesses memory that has already been freed.  The
second is an array out of bounds bug, where the venc-subdev iterates
VIDC_MAX_NUM_CLIENTS-times over an array whose size is only
VID_ENC_MAX_ENCODER_CLIENTS.

Change-Id: I35de18fd042181d9358f534908bb785dea630294
CRs-Fixed: 350398
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
(cherry picked from commit a6bde8d3a940446a3dae1124ab60c616938b9c52)

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>

Conflicts:

	drivers/media/video/msm/wfd/wfd-ioctl.c

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: video: wfd: Disable multiple clients for wfd capture device

Explicitly check to see if the device is in use before allowing client
to open either of the wfd capture devices.

Change-Id: I70bd275c5e0f058b7905abe7b7639342d07fe0e2
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
CRs-Fixed: 350398
(cherry picked from commit d22c43a3a2b0448e5cba25950ece2ad3e90e9ec8)

Conflicts:

	drivers/media/video/msm/wfd/wfd-ioctl.c

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>

Conflicts:

	drivers/media/video/msm/wfd/wfd-ioctl.c

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
vidc: Check for proper buffer handle before free.

Check for proper buffer handle and client handle
before unmapping and freeing the buffer.

CRs-Fixed: 351100
Change-Id: I88f5e142839f12cc19360dbe26a8d4e6a7ec99de
Signed-off-by: Deepak Kotur <dkotur@codeaurora.org>
(cherry picked from commit 974a96c1634659213f7d226fa5092398ddd46398)
(cherry picked from commit 222e467f121840d69ff2701682bc7ece7420a502)

Conflicts:

	drivers/video/msm/vidc/common/dec/vdec.c
	drivers/video/msm/vidc/common/init/vidc_init.c

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
(cherry picked from commit a46d7d966ce99a55a5806f48de50d407c1dbb77a)
msm_fb: display: disable pan display and memory access to fb1 and fb2

The native fb1 and fb2 framebuffer memory is not used and not
allocated on the board file. So on the driver side, pan display ioctl
or other operations on fb1 or fb2 framebuffer memory is checked and
invalidated.

(cherry picked from commit ca61dbb1d9f0d8fe2c4d5871d9934379708c1091)

Change-Id: Ie3e85e20f5675f9cfe02c4587f0fe119e8d57e76
CRs-fixed: 357242
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
(cherry picked from commit 722c3f5d85f95a5f6bf6b94dfb39cc8813ceb572)

Conflicts:

	drivers/video/msm/msm_fb.c

Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
(cherry picked from commit c5bbffec2019ad4f4f574f0719a1a98d4c7fa5f7)