msm: display: Attach MDP IOMMU during first update after boot

For continuous splash support to work properly, attach the MDP IOMMU
device at a later point during boot to allow display use the
splash image from bootloader

Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Change-Id: Ife9a2afae1e9b9140ee74af0cc7dcf7ad945d4de

Conflicts:
	drivers/video/msm/mdp4_overlay_dsi_video.c
	drivers/video/msm/mdp4_overlay_dtv.c
	drivers/video/msm/mdp4_overlay_lcdc.c
msm_fb: Correct mdp_iommu array size to avoid scribbling

The mdp_iommu array was undersized. This resulted in scribbling of
nearby data structures which, through a long series of events,
lead to invalid pointer dereferences in the workqueue framework's
process_one_work() function on (at least) the 8930 SoC.

CRs-Fixed: 357011
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Change-Id: Idb360e687c4cf050b6e73e575a13eba4b9d3c150
msm: vidc: Downloads firmware using pil_get.

Downloads video codec firmware using pil_get
for secure sessions only. Firmware is not
downloaded using pil_get for non-secure
sessions.

Conflicts:

	drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker.c

Change-Id: I84b7a1d70ed1f505838930a192e5d1afdbfc54c1
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/board-8960.c
	arch/arm/mach-msm/devices-msm8x60.c
	drivers/video/msm/vidc/1080p/ddl/vcd_ddl.h
	drivers/video/msm/vidc/1080p/ddl/vcd_ddl_utils.c
	drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker.c
	drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker_api.h
	drivers/video/msm/vidc/720p/resource_tracker/vcd_res_tracker.c
	drivers/video/msm/vidc/720p/resource_tracker/vcd_res_tracker_api.h
msm: Enable all IOMMU's

Enable video, camera, display, and rotator IOMMU's so
that virtual contigious memory can be used by these
devices. Physical contigious carveout regions can
be reduced so that more memory is available to the
rest of the system when not in use by multimedia.

Change-Id: Ibfad7d6a55e04490be9e39a5539780657f6727e0
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/iommu_domains.c
vidc: Adjust core timeout based on current core frequency.

Core timeout value is calculated based on the current core
clock rate during video play back.

Change-Id: I52f38560eda71dd0eaf208da68b4c3f74955661b
CRs-fixed: 354069
Signed-off-by: Mohan Kumar Gubbihalli Lachma Naik <mgubbi@codeaurora.org>

Conflicts:

	drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker_api.h

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

Conflicts:
	drivers/video/msm/vidc/1080p/ddl/vcd_ddl_helper.c
	drivers/video/msm/vidc/1080p/ddl/vcd_ddl_shared_mem.h
	drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker_api.h
vidc:1080p: Set video core timeout value for Thumbnail mode

Video core timeout value is set only for thumbnail mode.
For normal playback senario default value is set.

CRs-fixed: 367222
Signed-off-by: Mohan Kumar Gubbihalli Lachma Naik <mgubbi@codeaurora.org>
(cherry picked from commit 740d5ad28484b42ae675721a66a1bd93081712c8)
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>

Change-Id: I32ee573b21fd79d44d578a773294ba9973f1c00d
Signed-off-by: Zhoulu Luo <zluo@codeaurora.org>
msm: vidc: Fixes bug in handling duplicate frames.

Fixes bug while closing encoder which supports
duplicate input frames. This fix decrements
the reference count of original frames
appropriately.

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

Change-Id: Icf36d82e78588bf4b5becf480bdccd4c7cda94a5
Signed-off-by: Ram Kumar Chakravarthy Chebathini <rcheba@codeaurora.org>
(cherry picked from commit c4cee17571e07afd6c0fe0c50c8934ccfef50ae2)

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
msm: vidc: Perform cache flush only for non-secured
mode.

The cache flush for secure mode is not needed as
no memset is performed. Pass the correct parameter to
cache flush to avoid kernel panic.

CRs-Fixed: 374719
Change-Id: If9bfe1025b15b24e17ec49590c21a59d77f9414c
Signed-off-by: Arun Menon <menon@codeaurora.org>

Conflicts:
	drivers/video/msm/vidc/1080p/ddl/vcd_ddl_helper.c
msm_fb: display: prefill two writeback frames for lcdc.

Pre-fill two writeback frames before enable writeback mode
to avoid flickering for lcdc.

CRs-fixed: 325327
Change-Id: I2ae6edea4578441f2027cc7657c851cf9646a28c
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Featurize pm operations for external display

Featurize suspend/resume operation of the external display
to resolve compilation error in cases where external display
features are not defined.

Change-Id: Ifae276f514b67314a22e50fd80237e2168482d3f
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Initialize work queue for MIPI command mode panels

Initialize workqueue for MIPI command mode panels for s/w refresher
mechanism to work in x-window type architectures.

Change-Id: Id67c54452aa0b02a39f480709fc4bcd6c7bde2eb
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: remove #if 0

Cleanup all #if 0s in display driver.

Change-Id: I32473b33ad4dff3e5d3d91aae42d70955836cd52
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	drivers/video/msm/mddihosti.c
	drivers/video/msm/mdp_ppp_v20.c
msm_fb: display: MSM V4l2 video overlay driver

Provides a V4L2 device that uses the MDP overlay pipes (on MDP4),
or the PPP interface (MDP3) to overlay frames on top of display
framebuffer.

Signed-off-by: Alhad Purnapatre <alhadp@codeaurora.org>
Change-Id: Iab69d0a5acfe993d13cb7a585e292b9a87eb90ee
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/board-msm7x27a.c
	arch/arm/mach-msm/board-msm7x30.c
	drivers/media/video/msm/Kconfig
	drivers/video/msm/mdp.h
	drivers/video/msm/mdp_ppp.c
	include/media/Kbuild
msm: display: Add device pointer with clk_get for retrieving clocks

clk_get requires device pointer to return appropriate clocks
for display subsystem. Rename the names of display related clocks
in the lookup table based on functionality.

CRs-Fixed: 336925
Change-Id: I784bc4e650d779d1422a9ff1b9a75e36d669e551
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/clock-7x30.c
	arch/arm/mach-msm/clock-8x60.c
	arch/arm/mach-msm/clock-pcom-lookup.c
	drivers/video/msm/lcdc.c
	drivers/video/msm/mddi.c
	drivers/video/msm/mddi_ext.c
	drivers/video/msm/mdp.c
	drivers/video/msm/mipi_dsi.c
	drivers/video/msm/mipi_dsi.h
	drivers/video/msm/msm_dss_io_7x27a.c
	drivers/video/msm/msm_dss_io_8960.c
	drivers/video/msm/msm_dss_io_8x60.c
	drivers/video/msm/tvenc.c
msm_fb: display: Allocate writeback buffers of panel resolution sizes

Allocate MDP writeback buffers based on panel resolution size
dynamically

Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Change-Id: I4a456199a05850f35c204edfa7ae3679036138a9
msm_fb: display: add mixer1 writeback buf init call

mdp4_init_writeback_buf call is missing for mixer1 interface. And
blt_addr should be nulled when dtv interface is initialized,
otherwise, mixer1 writeback mode may be false enabled which causes
system crashes or garbage display on TV.

Change-Id: Idbf5fe90eb50f0a68b434f2c76012c64a38553a4
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Add clk prepare changes to MDP and rotator

Use clk_prepare_enable and clk_disable_unprepare instead of
clk_enable and clk_disable respectively.

CRs-Fixed: 351340
Change-Id: Ifb2a9405b8f445a90277d2fade9ab33f5becbd6e
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	drivers/video/msm/adv7520.c
	drivers/video/msm/hdmi_msm.c
	drivers/video/msm/lcdc.c
	drivers/video/msm/mddi.c
	drivers/video/msm/mddi_ext.c
	drivers/video/msm/mdp.c
	drivers/video/msm/mdp_lcdc.c
	drivers/video/msm/mipi_dsi.c
	drivers/video/msm/msm_dss_io_7x27a.c
	drivers/video/msm/msm_dss_io_8960.c
	drivers/video/msm/msm_dss_io_8x60.c
	drivers/video/msm/tvenc.c
msm: display: Clean DSI state on continuous splash disabled cases

Reset the DSI clock control, disable controller and PLL
to resolve boot issues for DSI command mode for continuous
splash feature disabled/unspported cases

Change-Id: I1e5e9a9d2d548c518d2620bf6d9e125d5efc8fd4
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/board-8960-display.c
msm_fb: display: add YUV444 interleave format support to mdp

Add support for H1V1 interleave (YUV444) to mdp

Change-Id: I86b76831ad87dede90ddd8d8f5ae64e51fa28c27
Signed-off-by: Kyong Hwa Bae <kbae@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: increase mdp upscaling range

The old range is x8. Acturally mdp rgb or vg pipes can scale up more
than that. The max up to x20 is verified.

CRs-fixed: 340747
Change-Id: Ief7ee936e39de2ada87d47b14872bca0c3cf36a7
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:
	drivers/video/msm/mdp4_overlay.c