msm: vidc: Add a control to disable the bit stream restrict flag

HFI_PROPERTY_PARAM_VENC_H264_VUI_BITSTREAM_RESTRC is set to true by
default in firmware, generating VUI which some decoders don't support.
This change provides an option to turn off the bitstream restrict
flag which, when used in conjunction with other VUI-related controls
being disabled, will prevent the encoder from generating VUI entirely.

Change-Id: Idb00d942bdd82b80001f9fda47a84aee231e4bdd
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

Conflicts:
	drivers/media/platform/msm/vidc/vidc_hfi_api.h

Conflicts:
	drivers/media/platform/msm/vidc/msm_venc.c
	include/linux/videodev2.h
msm: vidc: Add control to preserve text quality

V4L2_CID_MPEG_VIDC_VIDEO_PRESERVE_TEXT_QUALITY allows the client to
tell the encoder to preserve the text quality whenever a given frame
contains text elements.  This reduces the amount of artifacts around the
text in the encoded frame.

Change-Id: If75ea580adaedc896d8a31410a194076f38b5179
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
msm: vidc: set ctrl to request sequence header for encoder

The encoder depended on a debug variable i.e. ftb_count, to
request firmware to send sequence header. Remove this
dependency and make the request only when the encoder
client requests using the provided set ctrl.

b/11051201

Change-Id: Iac4104c33eef62da553066c736b7adc87834d2ac
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
msm: mdp: Add retire fence

Generate the retire fence with a +1 offset from the current
release timeline. This would mean that the retire fence of the
last frame is signaled when the current frame has transferred.

Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>

Conflicts:
	drivers/video/msm/mdss/mdss_fb.c
	include/linux/msm_mdp.h

Change-Id: I545d5d9defe300a90c7bf7b87d9e38f3ae680aba
Export audio_effects.h header

Change-Id: Ib4b040a87bcf89542d8c9dfb363fcd5f9a1bfc76
mdss: Fix writeback

Fix retire fence threshold for writeback.
Notify when writeback buf is not available.

Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
mdss: Validate sync timeline object before inc

An earlier commit - 4b7db574f061e13857e3780ceddd24ab0681628b
removed this by mistake. Restore this check.

Bug: 10953656
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
msm: mdss: create new vsync timeline for retire fences

Retire fence timeline should follow the actual panel vsync more closely.
In case of command mode the panel vsync can be different from buffer
release timeline. To handle the panel vsyncs better, create a new
timeline for the retire fence signaling.

Change-Id: If8a1eb717d733ca215275a8be4f0054091dbc147
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>

Conflicts:
	drivers/video/msm/mdss/mdss_mdp.h
	drivers/video/msm/mdss/mdss_mdp_overlay.c
msm: mdss: split sync fence and display thread commit count

Sync fences should maintain a separate commit count from display thread.
Sync fences need the commit count in order to maintain proper timeline
and ensure the fences are created against right timeline. The display
thread on the other hand maintains number of commits that it should
handle. If we want to separate sync fences from display thread logic so
that sync fences can be released after asynchronously from display
thread then these need to be in separate variables.

Change-Id: I1303c49f2c56eb5b9a34c162a1896670d307a674
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>

Conflicts:
	drivers/video/msm/mdss/mdss_fb.c
	drivers/video/msm/mdss/mdss_fb.h