Commit graph

70 commits

Author SHA1 Message Date
Narender Ankam
526404d09d msm: mdss: assign block_id for INTF_3
As part of destination scalar on HDMI, INTF3 will be
configured as dual LM single display for higher video
timings. Assign block_id for HDMI INTF.

Change-Id: I09f5eb4136c4a8248f3dc9a36e2d94110419112d
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2019-05-24 00:41:02 -07:00
Amine Najahi
28dfcdc51a fbdev/msm: sanitize debugfs inputs when reading mdp memory
Sanitize debugfs inputs to only allow access to mdp memory block
specified in dtsi file. This change will allow only one single block
to be read at the time and will avoid accessing memory outside of valid
decode space which can trigger AHB error bus response.

Change-Id: Icede9a8939a66faa59d674c18183fb0ebcf67908
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2018-10-10 03:07:44 -07:00
Krishna Manikandan
7eaa60b8e5 fbdev: msm: fix unaligned access problem
debug offset comes from the user and can hold any value which can
cause unaligned access. This change fixes the unaligned access
problem on debug offset by properly aligning it.

Change-Id: Ic61c2651986ea6c98cc7d58e27af3e5fe6e42a88
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-06-08 10:43:47 +05:30
Jayant Shekhar
8a8d068044 msm: mdss: Initialize buf array elements
In bandwidth limit read function, 'buf' array
elements might be used uninitialized. Ensure
the array elements are initialized.

Change-Id: I210c73b14327436296a844fc5ebd47ccc02bf5fb
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-05-03 12:39:26 +05:30
Linux Build Service Account
35cc04df55 Merge "msm: mdss: add debug bus support for dsi block" 2017-04-21 17:57:37 -07:00
Sandeep Panda
92e847bb7e msm: mdss: add debug bus support for dsi block
Add support to dump dsi debug bus registers to memory
or print in xlog. This will be helpful in analyzing HW
behavior more precisely while debugging DSI stability
issues.

Change-Id: I7735897d9f24ca06e15015cf0d277bfe800b35bf
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2017-04-18 23:56:35 -07:00
Harsh Sahu
64e4e29356 msm: mdss: fix race condition during mdp debugfs release
Fix race condition in the release of the mdp debugfs functions
panel_debug_base_release and mdss_debug_base_release by adding
the lock for unpreempted freeing of the buffer so that multiple
concurrent processes cannot affect the release which can possibly
lead to use-after-free operation on the buffer.

Change-Id: I9586081b65ae2eb0e7f6e30c606ee748ae9ef7e8
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2017-04-14 11:28:14 -07:00
Ingrid Gallardo
0095fe909e msm: mdss: fix race condition in mdp debugfs
Fix race condition in mdp debugfs properties
during the read and write of the panel and
mdp registers. This race condition can cause
accessing memory out bounderies.

Change-Id: I97a90a154237343d4aaf237c11f525bcc2c3a8e3
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2017-03-13 19:38:05 -07:00
Jayant Shekhar
330ccf18bf msm: mdss: Add mdss capabilities for sdm630
Add MDSS version info along with other capabilities
for sdm630.

Change-Id: Ia34831b56c1ca32d17b56e6030c847b629a13a0b
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-02-10 03:12:08 -08:00
Krishna Manikandan
efd66e0283 msm: mdss: Fix potential NULL pointer dereferences
Fixing potential NULL pointer dereferences in MDSS driver.

Change-Id: Ibaa6b8adec966737b41c36f530ae88a968d5d5ed
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:27:05 +05:30
Raviteja Tamatam
4c2873aec7 msm: mdss: Add mdss capabilities for msmfalcon
Add MDSS version info along with other capabilities
for msmfalcon.

Change-Id: Ide652165711eec23644d36837f3847d896293709
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2016-12-21 03:51:43 -08:00
Patrick Auchter
66221ce8c2 msm: mdss: fix possible overflow errors in panel_debug_base_reg_read
The panel_reg_buf is a dynamically allocated buffer of size reg_buf_len
so checking sizeof(panel_reg_buf) is incorrect.  Using scnprintf will
ensure that len is at most reg_buf_len - 1 after all the prints.  This
allows sanity checks to be removed which were incorrectly skipping
clock disable, resulting in an extra clock reference count.

Change-Id: Ic3bb685c7b83eefef7bc207ad93d6a2a9e36fd33
Signed-off-by: Patrick Auchter <auchter@motorola.com>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
(cherry picked from commit 89bede0751357bc24701b8ebfe326d3e6bb46683)
2016-11-11 12:18:37 -08:00
Krishna Srinivas
1577550d24 msm: mdss: Fix memleak in panel_debug_reg_write
Free panel buffer or register buffer if either
allocation fails.

Change-Id: I600c646a0c23b654392d8e00a829bfd88b71c38c
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2016-10-21 18:51:38 -07:00
Krishna Srinivas
ab04957588 msm: mdss: Check for buffer boundary condition in panel_debug_reg_write
- Before reading from new offset in a buffer, check for out
of bounds condition.
- Avoid using '%n' specifier.
- Use kstrtouint() instead of single variable sscanf
as per coding guidelines.

Change-Id: I10ea6f2b22d554d02f302f5700f6674d08e4777d
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2016-10-21 18:51:26 -07:00
Shalini Krishnamoorthi
b11c90dac5 msm: mdss: Correct the format specifiers in sscanf function
In many parts of the code the sscanf function was getting
an unsigned integer with a wrong format specifier. Changed
the format specifiers appropriately. Single variable sscanf
are replaced by kstrtouint at reported places.

CRs-Fixed: 1024872
Change-Id: I03ce718b0456d437d31d701586965d0aa7443b51
Signed-off-by: Shalini Krishnamoorthi <shakri@codeaurora.org>
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2016-10-21 18:51:00 -07:00
Linux Build Service Account
02592fae06 Merge "msm: mdss: hide kernel addresses from unprevileged users" 2016-08-26 22:22:19 -07:00
Linux Build Service Account
1c3f3dcc8a Merge "msm: mdss: Correct command mode MISR CRC reg offset and blockid" 2016-08-26 14:48:38 -07:00
Benjamin Chan
abad0fdbe2 msm: mdss: Correct command mode MISR CRC reg offset and blockid
msmcobalt has a different command mode MISR CRC register offset. Correct
the offset for the MISR control and signature registers, and correct the
block_id by lookup the INTF number from CTL.

CRs-Fixed: 1049910
Change-Id: If4fb44d217ed84067a0732334523ddb1e435e4e7
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2016-08-22 18:48:41 -04:00
Abhijit Kulkarni
668252dbae msm: mdss: hide kernel addresses from unprevileged users
for printing kernel pointers which should be hidden from unprivileged
users, use %pK which evaluates whether kptr_restrict is set.

CRs-Fixed: 987021
Change-Id: Ie49eee9478f4657cfb2a994ba60da1ec4c356339
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2016-08-15 11:51:47 -07:00
Krishna Chaitanya Devarakonda
cbd677d1ae msm: mdss: Fix potential NULL pointer dereferences
Fixing potential NULL pointer dereferences in MDSS driver.

Change-Id: Idbb3b2524b3c2165e9922d934047b7ba46141a6c
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
2016-08-03 23:02:01 +05:30
Veera Sundaram Sankaran
2870836ed8 msm: mdss: fix possible out-of-bounds and overflow issue in mdp debugfs
There are few cases where the count argument passed by the user
space is not validated, which can potentially lead to out of bounds
or overflow issues. In some cases, kernel might copy more data than
what is requested. Add necessary checks to avoid such cases.

Change-Id: Ifa42fbd475665a0ca581c907ce5432584ea0e7ed
[veeras@codeaurora.org: Resolve conflicts in mdss_debug.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-05-25 14:22:26 -07:00
Ping Li
59775321c6 msm: mdss: Correct block id check for mdss_mdp_misr_table
DISPLAY_MISR_LCDC block doesn't have corresponding mdss_mdp_misr_table,
this change corrects the block id check for mdss_mdp_misr_table.

CRs-Fixed: 1001224
Change-Id: I74b03c31542d4b239eb2ffdc4dc6345dff5eab86
Signed-off-by: Ping Li <pingli@codeaurora.org>
2016-05-11 17:43:50 -07:00
Dhaval Patel
fdef8552e6 msm: mdss: register smmu context fault handler
Smmu context fault handler provides the fault iova
information but does not provide any information about
xin client. This patch registers the context fault
handler in MDSS software to get the vmid/xin client
information. It also dumps the registers for source
associated with respective vmid client

Change-Id: I2a833a4b5e81e36f4d7af23a3968c9755424b7a7
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-04-28 16:40:45 -07:00
Adrian Salido-Moreno
be23185307 Merge branch 'mdss-final-replay' into msm-4.4
This merge brings all display changes from msm-3.18 kernel

* (58 commits)
  msm: mdss: add support for additional DMA pipes
  msm: mdss: refactor device tree pipe parsing logic
  msm: mdss: refactor mixer configuration code
  msm: mdss: add support for secure display on msm8953.
  msm: mdss: disable ECG feature on 28nm PHY platform
  msm: mdss: send DSI command using TPG when in secure session
  msm: mdss: Update histogram and PA LUT in mdss V3
  msm: mdss: validate layer count before copying userdata
  msm: mdss: Fix potential NULL pointer dereferences
  Revert "msm: mdss: Remove redundant handoff pending check"
  msm: mdss: hdmi: Do not treat intermediate ddc error as failure
  msm: mdss: revisit igc pipe enumeration logic
  msm: mdss: Add PA support for mdss V3
  msm: mdss: Add support for mdss v3 ops
  msm: mdss: Update the postprocessing ops using mdss revision
  msm: mdss: update the caching payload based on mdss version
  msm: clk: hdmi: add support for atomic update
  msm: sde: Add v4l2 rotator driver to enable multi-context usecase
  msm: mdss: refactor pipe type checks
  msm: mdss: add proper layer zorder validation
  msm: mdss: stub bus scaling functions if driver is disabled
  msm: mdss: avoid failure if primary panel pref is not enabled
  msm: adv7533: add support for clients to read audio block
  msm: mdss: add lineptr interrupt support for command mode panels
  msm: mdss: update rotator frame rate in the pipe configuration
  mdss: msm: Avoid excessive failure logs in igc config
  msm: mdss: delay dma commands for split-dsi cmd mode panels
  msm: mdss: enable GDSC before enabling clocks in MDP3 probe
  mdss: dsi: turn off phy power supply during static screen
  mdss: dsi: read dsi and phy revision during dsi ctrl probe
  msm: mdss: Fix memory leak in MDP3 driver
  msm: mdss: delay overlay start until first update for external
  msm: mdss: free splash memory for MSM8909w after splash done
  msm: mdss: hdmi: separate audio from transmitter core
  msm: mdss: disable dsi burst mode when idle is enabled
  msm: mdss: remove invalid csc initialization during hw init
  msm: mdss: dsi: increase dsi error count only for valid errors
  msm: mdss: remove HIST LUT programming in mdss_hw_init
  msm: mdss: dsi: ignore error interrupt when mask not set
  msm: mdss: add support to configure bus scale vectors from dt
  msm: mdss: unstage the pipe if there is z_order mismatch
  msm: mdss: squash MDP3 driver changes and SMMU change
  msm: mdss: Read the bridge chip name and instance id from DTSI
  msm: mdss: Enable continuous splash on bridge chip
  msm: mdss: Fix multiple bridge chip usecase
  msm: mdss: Enable export of mdss interrupt to external driver
  msm: mdss: rotator: turn off rotator clock in wq release
  msm: mdss: fix ulps during suspend feature logic
  clk: msm: mdss: program correct divider for PLL configuration
  msm: mdss: fix DSI PHY timing configuration logic
  msm: mdss: hdmi: add support for hdmi simulation
  msm: mdss: handle race condition in pingpong done counter
  clk: qcom: mdss: calculate pixel clock for HDMI during handoff
  msm: mdss: ensure proper dynamic refresh programming for dual DSI
  msm: mdss: Add fps flag and update blit request version
  msm: mdss: initialize fb split values during fb probe
  mdss: mdp: fix rotator compat layer copy
  msm: mdss: handle DSI ctrl/PHY regulator control properly

CRs-Fixed: 1000197
Change-Id: I521519c8abe8eed6924e2fbe3e1a026126582b77
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
2016-04-12 15:49:34 -07:00
Ingrid Gallardo
5d939cb0f1 msm: mdss: add sysfs to generate the misr crc during interrupts
This change add a sysfs node to enable the misr crc generation
in batch mode. Once this is enabled, driver will collect the
crc numbers during each of the interfaces interrupt,
vsync interrupt for video mode panels and ping pong done
for cmd mode panels.

To enable/disable the crc generation, respectively:
echo 1 > /sys/class/graphics/fb0/msm_misr_en
echo 0 > /sys/class/graphics/fb0/msm_misr_en
To collect the last crc generated:
cat /sys/class/graphics/fb0/msm_misr_en
To enable the ftrace to collect the crc for all frames:
echo 1 > <debugfs>/tracing/events/mdss/mdp_misr_crc/enable

CRs-Fixed: 964076
Change-Id: I47fb47b772aef097bc9af3b58a6c79565bcdc872
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-25 16:02:25 -07:00
Ingrid Gallardo
0bcdf73733 msm: mdss: fix misr offsets for 8996 cmd mode
Set the correct offsets of the MISR for command mode
interfaces in 8996.

CRs-Fixed: 964076
Change-Id: I90c7fa1ff144ae547cc0537421211a73051f1036
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-25 16:02:25 -07:00
Jayant Shekhar
1b10409872 msm: mdss: Fix potential NULL pointer dereference in misr set
If control setup is not done and if userspace calls misr set
via metadata ioctl, then there can be a potential NULL pointer
deference as mixer might be NULL. Add a check to validate if
mixer is not NULL.

Change-Id: I92f5778788cfcce6fa01a038b4321222a8804f28
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 21:13:16 -07:00
Yang Xu
e56fc3b5b0 msm: mdss: Add debugfs support for panel command data type
Register debugfs node to read from and write to the panel command
data type. The default data type is DCS_LONG_WRITE 0x39.

Give following command in adb shell to read panel register:
	cat /sys/kernel/debug/mdp/panel_cmd_data_type
To write panel command data type:
	echo "command_data_type" >
		/sys/kernel/debug/mdp/panel_cmd_data_type

Change-Id: I6dbe5bccb3142e93400825eddf7f05180acfc710
Signed-off-by: Yang Xu <yangxu@codeaurora.org>
2016-03-23 20:47:33 -07:00
Yang Xu
35a90bda10 msm: mdss: Refine panel register reading function
Allocate buffer for panel register results, which is
to support any length of register reading request.

Change-Id: I67905b3771ecfe5d56fe29928b2953b8435f1d71
Signed-off-by: Yang Xu <yangxu@codeaurora.org>
2016-03-23 20:47:13 -07:00
Ingrid Gallardo
a09a990f18 msm: mdss: fix crash when read perf mode debugfs
Fix crash when read the perf_mode debugfs property
that was accessing memory beyond the size of the
array.

Change-Id: I82c6aaf263ea9f688856eade009008c10ec65e36
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:46:58 -07:00
Anusha Koduru
76625c4b05 mdss: mdp: modify MISR offset for 8952
Additional offset is needed for MISR CTRL and SIGNATURE
registers on 8952. Add the required offset of 0x10.
Also add logic to select appropriate registers for video
and command mode.

Change-Id: I148200bdac98dfb446d7958ab700ed221e3d48d0
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:46:53 -07:00
Ingrid Gallardo
ecdf76d648 msm: mdss: debug: fix xlog crash during dump
Fix to initialize the nodes added by the panel
data dump to the xlog linked list.
This resolves a crash when runtime dumping
the registers through xlog with the dump
debugfs node:
echo 1 > /d/mdp/xlog/dump

Change-Id: I2a7222bd10e5d5a53b20472fbfbc3db818897515
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:46:03 -07:00
Ujwal Patel
50fff2d6ff msm: mdss: debug: fix typo in error checking
Fix a typo in error checking while creating bordercolor debugfs
directory.

Change-Id: I7477f41bdf31dfbd4f9763c3612ccc3f61c5657c
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:44:26 -07:00
Gopikrishnaiah Anandan
75086d13ab mdss: mdp: ad calc worker cleanup
Assertive display block can be configured in auto trigger mode,
which removes the requirement of issuing a start calculation
command. Change updates the ad calc worker to remove the kick off
of AD for each vsync and auto trigger mode is made the default mode.

Change-Id: Ie898a595cc9d3c8e521fffc8b3cde240dcbdce0e
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2016-03-23 20:44:24 -07:00
Ingrid Gallardo
96007ec277 msm: mdss: add support to switchable qos during vblank
Starting with 8996 chipset, qos settings can be adjusted
to be different during vblank. This change adds support
for this feature.

Change-Id: Ifa25dd799a55396224f49c49a29fcc8f5a245bd0
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:43:43 -07:00
Ujwal Patel
a88c5d35b9 msm: mdss: add support to change border color through debugfs
During blending operation, bottom color is known as border color and it
is same size as mixer dimensions. Default color is black but it can be
configured to different color. This is very useful for debugging purpose.
Add support to program border-color through debugfs as per following
guidelines.

echo code > <debugfs>/mdp/bordercolor/colorN
where
    code: 12bit color value in decimal
    colorN: color0, color1, color2

Change-Id: Ia3e8791713f5aa309a95c867445995ced028dd8d
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:43:08 -07:00
Ujwal Patel
3889592e19 msm: mdss: replace mdss_fudge_factor with mult_factor
Currently there are two different data structure representing
multiplication factors. Replace internal one, mdss_fudge_factor, and
with the one shared with user-space, mult_factor.

Change-Id: I9e0dcc092b4f9033cbfcd7e185e642c922e29a27
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
2016-03-23 20:42:52 -07:00
Jayant Shekhar
2018df5c2e msm: mdss: Add debugfs support to change MDP max bandwidth
Based on various use-cases such as camera and flip, MDP bandwidth
limit can be changed. For debug purpose add support to change
these paramaters via debugfs. First parameter takes mode and
second paramter takes bandwidth limit for that particular mode.

E.g. echo 2 1700000 > <debugfs>/mdp/perf/threshold_bw_limit

Change-Id: I98456f4f00223136628b2d2300b5785af386b134
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2016-03-23 20:42:01 -07:00
Dhaval Patel
257d9c9e85 msm: mdss: remove extra print for function name
Remove extra print for function name in debug module.

Change-Id: Ic7327bcedb2254b2bc4b7655138289a19605f935
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:40:27 -07:00
Ray Zhang
7e0c6813e2 msm: mdss: add debugfs support for LCM debug
Register debugfs nodes to read from and write to the LCM registers.
Give following command in adb shell to read panel register:
	echo address feedback_count > /d/mdp/panel_off
	cat /d/mdp/panel_reg
To write panel register:
	echo address value > /d/mdp/panel_reg

Change-Id: I9ef9fb57dc1b7dea42c7e701c60018f7946ee75b
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2016-03-23 20:39:13 -07:00
Ingrid Gallardo
76dae5e544 msm: mdss: debugfs: xlog: add support to dump registers by ranges
Current xlog dumps the entire registers ranges
mapped in memory. This entire range can be
reduced to only the meaningful offsets to help in
debugging and avoid overflows in the debug buffers.
This change adds support to only dump the registers
ranges specified.

Change-Id: Iecf7f5eaa909b0365ea599ae094c7f184c0ae8b8
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
(cherry picked from commit 899cf5dbc528b13bd488038215356c5bea5b591c)
[veeras@codeaurora.org: Resolve merge conflict in mdss_dsi.c]
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2016-03-23 20:38:50 -07:00
Huaibin Yang
ebba7cddde msm: mdss: debugfs: xlog: move reg dump function to xlog
reg dump func is specifically used by xlog, so it should be static in
xlog file.

Change-Id: I14570e174b215d7ea5f77f0b333f65956b549222
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:49 -07:00
Huaibin Yang
26a8df47f4 msm: mdss: debugfs: xlog: dump mdp registers to RAM
Currently xlog provides the capability of dumping mdp registers to
kernel log. This patch adds the option of dumping mdp regs to ram as
well.

echo 0x0 > <debugfs>/mdp/xlog/reg_dump -> disable mdp reg dump
echo 0x1 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to log
echo 0x2 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to ram
echo 0x3 > <debugfs>/mdp/xlog/reg_dump -> enable mdp reg dump to both

Change-Id: I767bbd956ac3b1c9e76800bd9d563fc80bd337db
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
2016-03-23 20:38:41 -07:00
Ingrid Gallardo
d7e19e0da2 msm: mdss: add support to configure per pipe panic luts
Starting in MDPv1.7, configuration of the panic signal
is per pipe. This needs some specific luts to be
programmed on each pipe. Adding support to configure
these luts, which are enabled and tuned through
device tree.

Change-Id: I8af08e8458f8136e9767ccfea27489ce2976a437
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:38:22 -07:00
Anusha Koduru
eca7092bac msm:mdss: Add MISR free run mode support
Add MDSS version check and enable MISR free run mode.

Change-Id: I8a07ff5926eb82f1ac27851d16400570c017485c
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:33:37 -07:00
Dhaval Patel
333866a5c6 msm: mdss: support danger safe signal per pipe
MDPv1.5 and MDPv1.8 has danger safe LUTs and control setting
register under MDP register space. These LUTs and control
settings can be different for each pipe for MDPv1.7. It makes
"panic-ctrl-offsets" configuration also optional for VIG, RGB
and DMA pipes. This change handles the danger safe signal
programming for such MDP version.

Change-Id: Icf0e4a732d7372493d1166579b90a7c2df7ae126
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2016-03-23 20:33:32 -07:00
Anusha Koduru
8a5e775961 mdss: Fix Writeback CRC time out and HDMI CRC underrun
Use Interface or Writeback layer mixer MISR for Writeback CRC
capture and remove to avoid underrun during primary
and HDMI CRC capture in case of timeout.

Change-Id: I78e51fd28fb0157864a7a350cc652a917cc66347
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
2016-03-23 20:33:19 -07:00
Ingrid Gallardo
38c37b872d msm: mdss: Tune watermark and prefill BW based on minimum SMP bytes
Modify watermark levels and prefill BW calculation
to be set based on the minimum prefill buffer bytes from
the SMP. Add debugfs property to dynamically tune the minimum
bytes for debugging.

Change-Id: I3af1e3468eaab56d3a8eea5fe456d7af547d3244
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-03-23 20:32:18 -07:00
Ingrid Gallardo
2e1c47192c msm: mdss: disable bw release from rotator
For rotator path, display driver can release the rotator
bandwidth once the rotator finished processing. In some
scenarios this results in more power consumption since more
interrupts are generated to release the bandwidth.
This change disables the bandwidth release for the rotator path
and add a debugfs node to dynamically enable the feature if
needed.
To enable the bw release for rotator:
echo 1 > "<debugfs>/mdp/perf/enable_rotator_bw_release"
To disable the bw release for rotator (default):
echo 0 > "<debugfs>/mdp/perf/enable_rotator_bw_release"

Change-Id: If147b8fb202edcb389fe85e78f8d61d2a98cef95
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Use debugfs_create_u32 for
enable_rotator_bw_release debugfs]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:32:09 -07:00
Ingrid Gallardo
24f99f22da msm: mdss: Disable bw release for cmd mode panels
For command mode panels, driver can release the bandwidth once
the frame is transferred to the panel and no more processing is
done in the display driver; in some scenarios this results in
more power consumption since more interrupts are generated.
This change disables the bandwidth release for command mode panels
and add a debugfs node to dynamically enable the feature if needed
for debugging purposes.
To enable the bw release:
echo 1 > "<debugfs>/mdp/perf/enable_bw_release"
To disable the bw release (default):
echo 0 > "<debugfs>/mdp/perf/enable_bw_release"

Change-Id: I61670606f1cf52b8d889678e6ffe7d0e911771e7
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
[cip@codeaurora.org: Create u32 debugfs for enable_bw_release]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 20:32:08 -07:00