Commit Graph

3192 Commits

Author SHA1 Message Date
qctecmdr
aea34b4fd7 Merge "disp: msm: sde: enable tui flag in catalog for kalama" 2022-03-15 19:54:04 -07:00
Bruce Hoo
522b0cee4c disp: msm: optimize devcoredump read operation duration
Set a flag to avoid multiple reading of sde_dbg info, that
reduces devcoredump reading time.

Change-Id: I83f77dea35bb818d51b0982124a54ffeef7db8af
Signed-off-by: Bruce Hoo <quic_bingchua@quicinc.com>
2022-03-15 18:34:57 +08:00
Raviteja Tamatam
3555dc45ca disp: msm: sde: enable tui flag in catalog for kalama
Enable trusted vm flag for kalama target

Change-Id: I2f2c0a838914d5fccf6642690c082c592e04e38d
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2022-03-14 15:23:07 -07:00
Raviteja Tamatam
2d4e001512 disp: msm: sde: SID programming for new MDSS
SID registers and offsets are changed in display
MDSS 9.0.0. Changes are made to program these new registers.
Also, added new revision check for backward
compatibility.

Change-Id: I4e1ea374f38c95a4d1019c2596418bb6bb7c5347
Signed-off-by: Raviteja Tamatam <quic_travitej@quicinc.com>
2022-03-14 15:21:56 -07:00
Anjaneya Prasad Musunuri
87332208c3 disp: msm: sde: update HFC layer checks
Update HFC layer checks to handle partial update. Layer checks
should compare against ROI when partial update is enabled.
Layer checks should compare against full panel height when
destination scaler is enabled. Destination scaler and PU
concurrency is not supported.

Change-Id: I3435370a81f05a492411433054ae09f2125c6bf7
Signed-off-by: Anjaneya Prasad Musunuri <quic_aprasad@quicinc.com>
2022-03-11 20:20:48 -08:00
Christina Oliveira
5f5c9cdf3d disp: msm: sde: program master intf register for single intf
This change adds the programming of the master interface
register for single interface configurations.
Setting this register is required by hw-fencing feature
to distinguish primary interfaces vs wb.

Change-Id: I84936ebd6a9f2d67cf98c19a51ce3a132c648a2d
Signed-off-by: Ingrid Gallardo <quic_ingridg@quicinc.com>
Signed-off-by: Christina Oliveira <quic_coliveir@quicinc.com>
2022-03-10 16:38:20 -08:00
Sandeep Gangadharaiah
b5383dbae3 disp: msm: dp: add pll params table for 4nm PHY pll settings
Because of changes to ref clock frequency, few of the pll
reg values are different for kalama compared to palima.
This change differentiates between these two 4nm versions,
based on pll revision and also introduces a pll reg table
to differentiate the values.

Change-Id: I016330ded10ab334012daa8cc288a8cd5c039f58
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-03-10 14:13:40 -08:00
Linux Build Service Account
a0516637d3 Merge "disp: config: enable msm_ext_display config for kailua" into display-kernel.lnx.5.15 2022-03-10 06:30:46 -08:00
Linux Build Service Account
c4d83920c3 Merge "disp: msm: link msm-ext-disp module as a dependency" into display-kernel.lnx.5.15 2022-03-10 06:30:43 -08:00
Linux Build Service Account
e4a2f166c3 Merge "disp: msm: sde: use INTF mdp_vsync timestamp only for video-mode" into display-kernel.lnx.5.15 2022-03-10 05:03:04 -08:00
Linux Build Service Account
e88609fedc Merge "disp: msm: fix WD timer load value calculation" into display-kernel.lnx.5.15 2022-03-10 05:03:02 -08:00
Linux Build Service Account
44fe916f51 Merge "disp: msm: sde: Enable demura tap point capability in cwb" into display-kernel.lnx.5.15 2022-03-10 05:02:03 -08:00
Narendra Muppalla
ae96cad06c disp: msm: sde: avoid null pointer dereference
This change avoids null pointer dereference in different APIs.

Change-Id: I01eba9d64fa4ba2fd81f7f39f586867e22d66771
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-03-08 11:44:20 -08:00
Shamika Joshi
896e10ee2d disp: msm: sde: refactor dsi_display_get_modes function
Refactor the function 'dsi_display_get_modes' to
reduce its complexity.

Change-Id: I1a8ecaa780e5070bac7fa40404677c0a8a5d7cd8
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-03-07 17:55:35 -08:00
Jeykumar Sankaran
a8b968f64b disp: msm: dsi: mitigate errors on non-parsed regulator nodes
Mitigate errors to debug logs on non-parsed regulator look ups. Callers
can make use of the return value to handle failures.

Change-Id: Ib0ed869e92104ac7e859484b247ac99bf332fa5c
Signed-off-by: Jeykumar Sankaran <quic_jeykumar@quicinc.com>
2022-03-07 15:53:03 -08:00
Veera Sundaram Sankaran
0df34dcada disp: msm: sde: use INTF mdp_vsync timestamp only for video-mode
MDSS 9.0.0 added support for logging MDP_VSYNC timestamp. Use it for
video-mode panels and rely on PANEL_VSYNC timestamp for cmd-mode panels
as it relies on external panel TE.

Change-Id: I09b25d893075bee7cb2da98d4c4b4e54eb09bd6e
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-07 15:50:22 -08:00
Veera Sundaram Sankaran
231eb36b84 disp: msm: sde: avoid slave encoder wait with ctl-done
With MDSS 9.0.0, s/w relies on the ctl-done-irq which signifies the
frame done for the ctl path. Avoid unnecessary waits during
tx-done/commit-done on the individual physical encoders when ctl-done
feature is enabled.

Change-Id: Ie5e8b08c47a4778dfa03a87dbbae8daf6a738e6a
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-07 15:30:32 -08:00
Veera Sundaram Sankaran
9f41310155 disp: msm: fix WD timer load value calculation
Fix the Watchdog timer load value calculation with jitter feature.
Change the long term jitter value check to have jitter < 10.

Change-Id: If834e16d3b8fad5009642e479f529fa5b7cf2d17
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-07 15:29:33 -08:00
Gopikrishnaiah Anand
486bd6b7a1 drm: msm: add spr by pass support
SPR hardware can be configured by user-space clients in bypass or
normal mode. Change adds support to allow clients to enable spr
in bypass or normal mode.

Change-Id: I04641774de91ec2b40af00c665ceffd72a255eea
Signed-off-by: Gopikrishnaiah Anand <quic_agopik@quicinc.com>
2022-03-04 12:13:40 -08:00
Aravind Venkateswaran
cc993be15a disp: msm: dp: set the rates for clocks provided by DP PLL
DP PLL driver is the clock provider for link_clk and pixel_clk source
clocks. Once the PLL is configured, the clock rates for these output
clocks must be explicitly set using the clk_set_rate() API so that
the clock framework can correctly compute any MND values required
to satisfy the requested rate at the branch clocks that source from
the PLL output clocks.

Change-Id: I14f8f58333ac5ba3f547d12a123cb5e5f05c6005
Signed-off-by: Aravind Venkateswaran <quic_aravindh@quicinc.com>
2022-03-03 13:05:56 -08:00
qctecmdr
adc0d00ae9 Merge "disp: config: enable dp compilation for kailua" 2022-03-03 08:28:22 -08:00
qctecmdr
61629fb92f Merge "disp: msm: dp: calculate mvid and nvid dividers with in DP driver" 2022-03-03 08:28:22 -08:00
Abhijith Desai
45e9a70f54 update source and include paths for LE
Change-Id: I6d04b1d2846364cda2935d143c98194c54159482
2022-03-02 22:48:34 -08:00
qctecmdr
5a6ca6727e Merge "disp: msm: sde: add check to avoid multiple active CWB" 2022-03-02 17:39:45 -08:00
qctecmdr
9931042038 Merge "disp: msm: add support for INTF WD jitter" 2022-03-02 17:39:45 -08:00
Vara Reddy
7230476c9c disp: msm: dp: calculate mvid and nvid dividers with in DP driver
Change removes the dependency of reading MVID and NVID settings
from dispcc registers and calculates the values locally in displayport
driver.

Change-Id: I9ad66aea44a3cbc0f739060c49e23d389022a48a
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-03-02 15:34:40 -08:00
Vara Reddy
280c93b729 disp: msm: dp: PHY config update to align with kalama HPG
Swing/Pre-emph, SSC, and CLKBUFLR values updated to match
latest changes as per kalama HPG.

Change-Id: Iae96b38f0f8c39280081ae43b41f73ea10f6ddb7
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-03-02 13:42:32 -08:00
qctecmdr
2eada9cae3 Merge "disp: msm: dp: Add support for USB3 GDSC vote from displayport driver" 2022-03-02 09:06:37 -08:00
qctecmdr
e62a6512a1 Merge "disp: msm: sde: fix the wd-timer-ctrl config for WD TE" 2022-03-01 23:14:43 -08:00
Vara Reddy
ab946e8852 disp: config: enable msm_ext_display config for kailua
Change enables msm_ext_display module for Kailua.

Change-Id: I8761762b0921a6988f76f4926534787781030e13
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-03-01 12:06:25 -08:00
Vara Reddy
402b7f58de disp: config: enable dp compilation for kailua
Enable DP and DP_MST compilation flags for Kailua.
Disable ext audio and HDCP until validated.

Change-Id: I7f05e370aed1df07beff568b87cf12ff57b96d63
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-03-01 11:36:33 -08:00
Vara Reddy
5a073a64c8 disp: msm: link msm-ext-disp module as a dependency
msm_external_display module should be linked as an
additional dependency for display drivers. This change
includes the respective module.

Change-Id: Id16f22f073f596f360d576147e4a0d96c16505e7
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-03-01 06:31:12 -08:00
Vara Reddy
7561633b58 disp: msm: dp: Add support for USB3 GDSC vote from displayport driver
On kailua onwards USB3 DP SSPHY power is control using GDSC.
This change adds support to vote for GDSC when displayport
driver is active.

Change-Id: I2e741f2091018f5dae9a1e7e886179bc6b982d40
Signed-off-by: Vara Reddy <quic_varar@quicinc.com>
2022-02-28 19:07:27 -08:00
Amine Najahi
91e45e818f disp: msm: sde: add check to avoid multiple active CWB
Add check to avoid more than 1 CWB active per commit as
hardware doesn't support multiple CWB even if they are
on different OP.

Change-Id: I13416cc2af881de0d8bdd6544a4fdc180fb7a050
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-02-28 13:16:54 -05:00
qctecmdr
90bfd286b6 Merge "disp: msm: sde: set NOAUTOEN for sde irq to match with power event" 2022-02-28 02:53:39 -08:00
qctecmdr
bbd543d0a4 Merge "disp: msm: sde: move sde power event call into kms post init" 2022-02-27 22:51:51 -08:00
Veera Sundaram Sankaran
e55c68138b disp: msm: sde: fix the wd-timer-ctrl config for WD TE
Avoid read/update for WD_TIMER_0_CTL2 register as the default value changed
from MDSS 9.x.x to disable clock granularity and this leads to issues with
VSYNC generation. Instead program the necessary configs directly.

Change-Id: Id545ad772480f94cf432bff8e8bfeb2b679f8aa9
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-02-25 17:00:49 -08:00
Satya Rama Aditya Pinapala
718cd25496 disp: msm: add support for INTF WD jitter
Change adds support for the INTF watchdog timer jitter feature
for MDSS 9.x.

Change-Id: I2cf821b5b5724f9adee95c282e0ec09719489a85
Signed-off-by: Satya Rama Aditya Pinapala <quic_spinapal@quicinc.com>
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-02-24 10:51:20 -08:00
qctecmdr
7d0468f562 Merge "disp: msm: display error log signature alignment" 2022-02-24 05:30:11 -08:00
qctecmdr
58d41829ab Merge "disp: msm: update sde rsc register offsets based on drv version" 2022-02-23 22:03:17 -08:00
qctecmdr
85bcfea843 Merge "disp: msm: avoid BW_INDICATION write if BW does not change" 2022-02-23 10:41:01 -08:00
qctecmdr
94e11c93fe Merge "disp: msm: sde: release splash memory using memblock_free" 2022-02-23 06:15:36 -08:00
GG Hou
dbf99b46c9 disp: msm: display error log signature alignment
Ensure SDE_ERROR error log print function name and line number.
Add a macro DISP_DEV_ERR as a wrapper of dev_err to ensure origin dev_err
will print function name and line number.
This would help with analysis of errors reported with automated testing.

Expected display error log format:
  [FUNCTION_NAME:line] ERROR_MESSAGE

Change-Id: I354f45b492059d5ba2bb110d56443fd338add7ad
Signed-off-by: GG Hou <quic_renjhou@quicinc.com>
2022-02-23 17:53:49 +08:00
Yahui Wang
5c291599a5 disp: msm: sde: set NOAUTOEN for sde irq to match with power event
If display cont-splash is enabled, then sde irq will be enabled
after registration, but sde power event assumes irq to be disabled
by default and will still try to enable irq with first power event
call, then could cause unbalanced irq enable warning on boot up.

Change-Id: Ic5482dd06501721664994f77cd5764140afb7a62
Signed-off-by: Yahui Wang <quic_yahuiw@quicinc.com>
2022-02-22 17:44:05 -08:00
Yahui Wang
a4cae58822 disp: msm: sde: move sde power event call into kms post init
The sde power event function needs to get actual sde kms irq
number to handle irq update call, but it is not able to know
the irq number before irq installation, so move sde power event
call into kms post init to avoid unbalanced irq issues.

Change-Id: Id262b86f98299fbb9a51c9ccb8e68c7bde7f57ed
Signed-off-by: Yahui Wang <quic_yahuiw@quicinc.com>
2022-02-22 17:43:45 -08:00
Jayaprakash Madisetty
5c51cd9cfd disp: msm: sde: update alignment check for dest WB fb
This changes takes pitches into account for alignment check
of destination writeback fb. As per HW recommendation
the stride needs to be a multiple of 256 bits.

Change-Id: Ib823a8d309f7ed579d701a4bf56772ce318fb1f5
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-02-19 17:39:40 +05:30
Veera Sundaram Sankaran
98bb05e6e8 disp: msm: update sde rsc register offsets based on drv version
Update the RSCC SEQ_MEM_0, SEQ_BR_ADDR register offsets and
the SOLVER_MODE_PARAM1 value for rsc drv version 3.0.0.
As part of the change, remove deprecated is_amc_mode function.

Change-Id: If9e97a9e5ce4a84738d9867cb26dd47cdd6c4a19
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-02-18 16:39:37 -08:00
Narendra Muppalla
f95fc01a9b disp: msm: avoid BW_INDICATION write if BW does not change
This change avoids writing of BW_INDICATION registers on each
frame, instead it updates only when there is a change in bandwidth.

Change-Id: Iae32ceb065d2e49e81c2febbbac5508a624d090e
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-02-09 18:11:43 -08:00
Narendra Muppalla
c754a7ba8f disp: msm: sde: release splash memory using memblock_free
The splash memory initialized by the bootloader needs
to be released after the first frame update. Add
memblock_free() call to release this memory that was
reserved during the kernel boot.

Change-Id: I463139a3f930dd9284d3ba9516714ead0c77cc02
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-02-09 12:35:31 -08:00
Narendra Muppalla
daa511cb90 Merge remote-tracking branch 'quic/display-kernel.lnx.5.10' into display-kernel.lnx.5.15
* quic/display-kernel.lnx.5.10:
  disp: msm: sde: avoid error during fal10_veto override enablement
  disp: msm: update copyright description
  disp: msm: sde: configure dest_scaler op_mode for two independent displays
  disp: msm: dp: updated copyright set for 4nm target
  Revert "disp: msm: sde: consider max of actual and default prefill lines"
  disp: msm: sde: Reset backlight scale when HWC is stopped
  disp: msm: dp: avoid duplicate read of link status
  disp: msm: dsi: update vreg_ctrl settings for cape
  disp: msm: fail commit if drm_gem_obj was found attached to a sec CB
  disp: msm: dp: updated register values for 4nm target
  disp: msm: sde: update framedata event handling
  disp: msm: dsi: Add new phy comaptible string for cape
  disp: msm: sde: software override for fal10 in cwb enable
  disp: msm: update cleanup during bind failure in msm_drm_component_init
  disp: msm: sde: dump user input_fence info on spec fence timeout
  disp: msm: sde: add null pointer check for encoder current master
  disp: msm: dsi: enable DMA start window scheduling for broadcast commands
  disp: msm: sde: avoid alignment checks for linear formats
  disp: msm: reset thread priority work on every new run
  disp: msm: sde: send power on event for cont. splash
  disp: msm: sde: always set CTL_x_UIDLE_ACTIVE register to "1"
  disp: msm: use vzalloc for large allocations
  disp: msm: sde: Add support to limit DSC size to 10k
  disp: msm: sde: add tx wait during DMS for sim panel
  disp: msm: dsi: add check for any queued DSI CMDs before clock force update
  disp: msm: sde: correct pp block allocation during dcwb dither programming
  disp: msm: sde: avoid setting of max vblank count
  disp: msm: sde: add cached lut flag in sde plane
  disp: msm: sde: avoid use after free in msm_lastclose
  disp: msm: sde: update TEAR_SYNC_WRCOUNT register before vsync counter
  disp: msm: dsi: Support uncompressed rgb101010 format
  disp: msm: sde: update idle_pc_enabled flag for all encoders
  disp: msm: sde: flush esd work before disabling the encoder
  disp: msm: sde: allow qsync update along with modeset
  disp: msm: dp: avoid dp sw reset on disconnect path
  disp: msm: sde: consider max of actual and default prefill lines
  disp: msm: ensure vbif debugbus not in use is disabled
  disp: msm: sde: update cached encoder mask if required
  disp: msm: sde: while timing engine enabling poll for active region
  disp: msm: enable cache flag for dumb buffer
  disp: msm: sde: disable ot limit for cwb
  disp: msm: sde: avoid race condition at vm release
  disp: msm: dsi: set qsync min fps list length to zero
  disp: msm: sde: reset mixers in crtc when ctl datapath switches
  disp: msm: sde: update vm state atomic check for non-primary usecases
  disp: msm: sde: reset CTL_UIDLE_ACTIVE register only if uidle is disabled

Change-Id: If480e7f33743eb4788549f853ba05e744ecb38d3
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-02-08 16:38:13 -08:00