Commit graph

1,860 commits

Author SHA1 Message Date
Mahadevan
081fc6a13b disp: msm: re-factor debug bus logic to dump all test points
As per the HW teams guidelines, allow dumping the status of
all the HW blocks blocks at every test point.
This code brings in the following changes
1) Featurize the hw block  and test point range per target.
2) Reduce the debug bus entries and decrease the static
   memory foot print.
3) Allow analyzers to be integrated into the new format.

Change-Id: Ic3bc2c1b77f5617b0f81a2066b22e50cfd6ff8dd
Signed-off-by: Mahadevan <mahap@codeaurora.org>
2021-02-18 11:35:00 +05:30
qctecmdr
edd498ab69 Merge "display: Use sh to execute install script" 2021-02-11 08:00:26 -08:00
qctecmdr
d6e821b36c Merge "disp: msm: dsi: Update ctrl & phy refcounts for defer probe" 2021-02-11 03:33:33 -08:00
qctecmdr
243880b462 Merge "disp: msm: sde: add on/off and payload size logging for LUTDMA" 2021-02-08 21:46:24 -08:00
Naseer Ahmed
228cba9357 display: Use sh to execute install script
Newer Android builds to not have headers_install as an executable

Change-Id: Iab81cd0ed9791e7426719fbc1b43d9ccafc89bb7
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2021-02-08 15:50:05 -05:00
qctecmdr
a5857a5b3a Merge "disp: msm: sde: allow delayed_off_work scheduling always" 2021-02-05 06:06:26 -08:00
qctecmdr
4afe1c3231 Merge "disp: msm: sde: add kickoff_in_progress flag in sde crtc" 2021-02-04 23:26:21 -08:00
Jayaprakash
63107e09b3 disp: msm: sde: allow delayed_off_work scheduling always
Add changes to allow delayed_off_work scheduling in all cases.
Skip scheduling only in panel_dead cases where delay_kickoff
is enabled. This will fix the issue seen with commit 08d04c2f3b
("disp: msm: sde: avoid rc restart when triggered from panel dead").

Change-Id: I4c9a7cd26af9d99ecd3f58023a6fb6d041d91e92
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2021-02-05 12:32:56 +05:30
qctecmdr
2b0b08b777 Merge "disp: msm: sde: avoid rc restart when triggered from panel dead" 2021-02-03 01:52:17 -08:00
qctecmdr
5f1da40288 Merge "disp: msm: dsi: Fix DFPS sequence when constant fps is enabled" 2021-02-03 01:52:17 -08:00
qctecmdr
6059d12a04 Merge "disp: msm: dp: fix to handle host ready failues" 2021-02-03 01:52:17 -08:00
qctecmdr
53034fd230 Merge "disp: msm: dsi: fix boot display name parsing" 2021-02-03 01:52:17 -08:00
Yashwanth
8d2eb871fb disp: msm: sde: add kickoff_in_progress flag in sde crtc
In dual display usecases, during pm suspend/resume,
commit is scheduled only on primary crtc thread. If idle
timeout value is very short such as in LP2 mode, it might
result in race condition due to idle pc off work getting
scheduled on its crtc thread. This change adds kickoff in
progress flag to handle such cases as crtc frame pending
count is only updated after rc kickoff.

Change-Id: Iebb331d914b23cc5eeadfeb2a488891e88b3202a
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2021-02-03 09:38:58 +05:30
Ritesh Kumar
49a0dd3ef4 disp: msm: dsi: Fix DFPS sequence when constant fps is enabled
When DFPS and dynamic clock switch with constant fps are
enabled, wait for dynamic refresh done only if clock switch
is triggered. In case where only fps changes, clock remains
same. So, wait for dynamic refresh done is not required.

Change-Id: I1a96d8d6756086afe2cd6e5bdc19be27c2ffed92
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-02-02 02:40:32 -08:00
Lipsa Rout
d2791ff131 disp: msm: dsi: Update ctrl & phy refcounts for defer probe
ctrl and phy refcounts get incremented even on deferring probe
for display panels which need backlight through wled.As a
result, while probing, it considers that the device is already
in use. This change decrements the ctrl and phy refcounts for
defer probe.

Change-Id: Ica1f5712dd28ed4c635946f2ac89d5f4f074a4c5
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
2021-02-01 10:02:16 +05:30
Rajeev Nandan
08493b414c disp: msm: dsi: fix boot display name parsing
The boot_disp_en flag for secondary display is getting enabled
all the time, even if its boot_param string is empty.
Correct the boot display name parsing from boot_param string
to fix this issue.

Change-Id: Ica1465611f592b22518061987571919838914891
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
2021-01-27 22:57:30 -08:00
Yuan Zhao
0b595d4f3e disp: msm: dsi: defer clk setting when doing const_fps RFI
When doing const fps RFI, dynamic refresh clock was done
in the next frame kick off, so as the orginal RFI work flow,
the clock setting also should be done here.

Change-Id: Ic3e6a35dc7264df028f5d848ac6f1eea04a95126
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2021-01-27 21:08:32 -08:00
qctecmdr
e050ac9168 Merge "disp: msm: dp: check for pixel1 rcg only for mst supported platforms" 2021-01-24 22:33:27 -08:00
qctecmdr
63e8367aad Merge "disp: msm: sde: program ob_max_addr based on dsc native422 support" 2021-01-24 22:33:27 -08:00
Rajat Gupta
919ff0b397 disp: msm: dp: check for pixel1 rcg only for mst supported platforms
Check for pixel1 rcg only for mst supported platforms. On sst only
devices bind gets failed.

Change-Id: I73cc4a572d4d0791205c342f57618b226eb91fef
Signed-off-by: Rajat Gupta <rajatgu@codeaurora.org>
2021-01-22 19:03:03 +05:30
Andhavarapu Karthik
fb15676492 disp: msm: sde: program ob_max_addr based on dsc native422 support
Current code does output buffer max_addr calculation based on dsc id.
Made changes to calculate ob_max_addr based on dsc native422 support.

Change-Id: I01922750f1e9d6cb45615acc1c473891fc648e5d
Signed-off-by: Andhavarapu Karthik <kartkart@codeaurora.org>
2021-01-22 15:42:30 +05:30
qctecmdr
277dae9485 Merge "disp: msm: dp: avoid setting multi_func when pin value is zero" 2021-01-21 21:03:30 -08:00
qctecmdr
89a9afa727 Merge "disp: msm: sde: disable uidle for yupik target" 2021-01-20 22:56:44 -08:00
Mahadevan
08d04c2f3b disp: msm: sde: avoid rc restart when triggered from panel dead
This change prevents scheduling of rc_restart in case of
panel dead. This early return is required to avoid the list
add corruption when a race condition happens between event
thread and commit thread. When event thread is handling
display failure notification if the virt_enable arrives in
commit thread it will reinizialize kthread for
delayed_off_work without deactivating the existing list
which leads to linkage corruption.

Change-Id: I41d08cd47ba6f887f0860e52bcddf414085524bb
Signed-off-by: Mahadevan <mahap@codeaurora.org>
2021-01-20 21:02:31 +05:30
Andhavarapu Karthik
c771326b63 disp: msm: sde: disable uidle for yupik target
Made changes to disable uidle feature in yupik target.

Change-Id: If122a86ed14002399e2dbd0b62385d47c854136f
Signed-off-by: Andhavarapu Karthik <kartkart@codeaurora.org>
2021-01-20 15:56:47 +05:30
Yashwanth
7277a3f2f2 disp: msm: sde: save register write logs in dump
Changes are made to add register write logs to memory dump.
This can be extracted from crash dumps and used for analysis.

Change-Id: If46aaa4ae68f83c79d4b51cbe5dfd22340aa991d
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2021-01-18 16:50:39 +05:30
Narendra Muppalla
286a52ba84 disp: msm: sde: use different spin lock for frame events
Due to lock sequence inconsistency between sde_crtc->spin_lock and
sde_kms->hw_intr->irq_lock can cause deadlock, to avoid this possible
deadlock this change uses different spin lock for frame events.

Change-Id: I51b1184dfa1069c87653099b95b992b277721daf
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2021-01-16 20:20:58 -08:00
Rajat Gupta
0654925436 disp: msm: dp: fix to handle host ready failues
Handle host_ready failures and try to initialize host if not already.
Sometimes customizations for customers causes NOC error as host_ready
doesn't return early upon failure and the customer customization
tries to access aux register to reconfig upon aux failure while
reading EDID. Adding fix will make driver more robust to handle such
cases.

Change-Id: Ifa5c56daa32c4ef366a0e05718495ffcb40b96b3
Signed-off-by: Rajat Gupta <rajatgu@codeaurora.org>
2021-01-15 15:26:15 +05:30
qctecmdr
87440766f3 Merge "disp: msm: dp: add support for 7nm pll" 2021-01-14 23:05:05 -08:00
qctecmdr
a5441c0cba Merge "disp: msm: sde: fix potential race condition" 2021-01-14 23:05:05 -08:00
Rajkumar Subbiah
fe1caa0eb9 disp: msm: dp: avoid setting multi_func when pin value is zero
During dp altmode driver initialization, the dp altmode driver is called
with a null data packet. Even though this callback indicates a disconnect,
the multi function flag is incorrectly set to true. If the DP is enabled
later using simulation mode, the multi function flag is not cleared thereby
limiting the lane count to 2 irrespective of capability applied through
DPCD.

This change checks for the zero pin value while setting the multi function
flag.

Change-Id: I974fbf1630eed26f406ac9e4c99140b27f0cb635
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
2021-01-14 17:03:31 -05:00
Rajat Gupta
557d8d3fa5 disp: msm: dp: add support for 7nm pll
Add support for 7nm pll. Only some offsets are different from 5nm
pll while the rest are same.

Change-Id: If61cd604d7f8221c659f1b83761647e86e3b6627
Signed-off-by: Rajat Gupta <rajatgu@codeaurora.org>
2021-01-14 02:54:05 +05:30
Andhavarapu Karthik
aa20b1c188 disp: msm: sde: add cwb virtual mixers support
In yupik target, cwb path has pingpong block without any layer mixer.
Add virtual mixer to support reservation of pp block in such case.
This virtual mixer will be used only for cwb use case.

Change-Id: Iacc1a3f5e7d99d9fc36288450b0e19081b3ef763
Signed-off-by: Andhavarapu Karthik <kartkart@codeaurora.org>
2021-01-13 14:00:22 +05:30
Ping Li
6a80184cdb disp: msm: sde: fix potential race condition
Move the hist irq handling out of callback function, i.e., the hw
interrupt irq_lock context, to avoid dead lock between crtc spin_lock
and irq_lock. This change also extends crtc spin_lock coverage in
_sde_cp_crtc_enable_hist_irq to prevent null pointer dereference on
event node, which can be deleted during crtc event de-registration.

Change-Id: Iadaed54ab93c4c4abe065a8762d2addccb0c65c6
Signed-off-by: Ping Li <pingli@codeaurora.org>
2021-01-12 18:40:18 -08:00
Christopher Braga
6a17186293 disp: msm: sde: add on/off and payload size logging for LUTDMA
Debugging of LUTDMA has proven to be difficult due to lacking
information. Add logging for payload sizing, feature on / off,
and dumping of 64-bit buffer addresses.

Change-Id: I6d421f65172a782b79e915501ec9ea00d05dbcdd
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-01-12 12:45:33 -05:00
qctecmdr
5dcc9ed436 Merge "disp: msm: clear dma done interrupt status for slave controller" 2021-01-11 05:47:59 -08:00
Harigovindan P
1b9d765763 disp: msm: clear dma done interrupt status for slave controller
When Broadcast is enabled, DMA_DONE bit gets set for slave
controller on command transfer completion but it is not
getting cleared. Due to this, DMA transfer failures on slave
controller are not getting caught. This patch add supports for
clearing DMA_DONE for slave controller on every successful
transfer. This also prints error if transfer fails on slave
controller.

Change-Id: I61ce7b2d8be323adc70d888b5a2416afd9ae9fac
Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
2021-01-07 13:40:25 +05:30
Dheeraj Madiraju
93f543c055 disp: msm: sde: add hdr flags for yupik
Add hdr flags for yupik.

Change-Id: Ica8d752499dae5d80d99f3f0caccbbfed4e539ec
Signed-off-by: Dheeraj Madiraju <dmadiraj@codeaurora.org>
2021-01-07 09:42:43 +05:30
qctecmdr
0053412244 Merge "disp: msm: sde: replace demura pipe index cap. with general pipe index" 2021-01-05 20:41:24 -08:00
qctecmdr
54b6925e51 Merge "techpack: Install headers for display techpack" 2021-01-05 00:59:32 -08:00
qctecmdr
65c84a87ee Merge "disp: msm: sde: perform cmd encoder disable only for master" 2021-01-05 00:59:32 -08:00
Andhavarapu Karthik
d92bb74dfd disp: msm: sde: add rev check for mdp in yupik target
Add required revision checks for mdp in yupik target.

Change-Id: I2747a0addfb3b4880397d56b18a9e9aa9644df34
Signed-off-by: Andhavarapu Karthik <kartkart@codeaurora.org>
2020-12-31 16:45:40 +05:30
Raviteja Tamatam
49e09fde9d disp: msm: sde: perform cmd encoder disable only for master
In dual DSI cases sde_encoder_helper_phys_disable needs to be
called only for master encoder.

Change-Id: If2d327a4800914fe365c6877bf7854275a4434ae
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-12-28 18:50:25 +05:30
qctecmdr
8acd9ca084 Merge "display: msm: sde: update qos lut after scaler config" 2020-12-21 19:51:34 -08:00
qctecmdr
71d4e079bf Merge "disp: msm: dp: log the dp mst connector id information" 2020-12-21 10:09:14 -08:00
Abhijit Kulkarni
80bf89b836 display: msm: sde: update qos lut after scaler config
This change moves the code of updating the qos lut for qseed3
to each plane after updating the scaler configuration. This
avoids using stale values for qos settings.

Change-Id: I2c55a98e1ba9790d596c55160933cd5afd2388e5
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-12-21 09:38:38 -08:00
qctecmdr
91d1ed8e79 Merge "disp: msm: dsi: avoid debugfs HW access based on HW ownership" 2020-12-21 04:42:30 -08:00
Sankeerth Billakanti
c6d5c4d121 disp: msm: dp: log the dp mst connector id information
Logging connector id will help debug the issues related to
DP MST stability and pre-merge tests. This change will log
the DP MST connector IDs modified during stability tests.

Change-Id: Ifaf8e319697a809b02c24c473acec8da521286e2
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
2020-12-20 14:30:14 +05:30
qctecmdr
eb21ca8701 Merge "disp: msm: sde: add scaler3_cfg and pixel_ext to sde plane" 2020-12-18 12:26:56 -08:00
Veera Sundaram Sankaran
35d1cdafd9 disp: msm: dsi: add stub function parse power_cfg in trusted-vm
In trusted-vm, there are no power cfg entries in device-tree as
there is no support. Add stub function to avoid parsing errors
related to power cfg in trusted-vm.

Change-Id: Id28ad9a4d5608d561e22b318a08c6bc1ccc5f2ee
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2020-12-17 15:28:04 -08:00