Commit Graph

2906 Commits

Author SHA1 Message Date
qctecmdr
e62a6512a1 Merge "disp: msm: sde: fix the wd-timer-ctrl config for WD TE" 2022-03-01 23:14:43 -08: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
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
qctecmdr
344e25dafc Merge "disp: msm: sde: configure dest_scaler op_mode for two independent displays" 2022-02-03 20:33:58 -08:00
Yojana Juadi
cc71f44453 disp: msm: sde: avoid error during fal10_veto override enablement
This change avoids sde error during fal10_veto override enablement
for targets with uidle disabled and early returns in such case.

Change-Id: I491952615d7b3cbd70d35b4a90ee8d27ab56c2ad
Signed-off-by: Yojana Juadi <quic_yjuadi@quicinc.com>
2022-02-03 15:16:03 +05:30
Veera Sundaram Sankaran
27c4708570 disp: msm: sde: update sde debugbus logging for vbif & dsi
Update the DSI debugbus logging to print correct offsets for
DSI0/DSI1. Change the VBIF logging to reflect the actual register
value written for block-id instead of BIT value. Update the register
dump format to match the logging style across all dumping methods.

Change-Id: Id862c47e3fb77e1518327dad550a55df1825df89
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-02-02 14:40:19 -08:00
qctecmdr
9c97572e9e Merge "disp: msm: sde: add uidle fill level scaling" 2022-02-02 12:51:00 -08:00
Jeykumar Sankaran
e8e526b692 disp: msm: sde: add uidle fill level scaling
Kalama adds support for uidle fill level scaling to allow
fal10 mode for 90 and above fps use cases.

Pre-Kalama, the fill levels are clamped at 4-bit values supported
by the threshold registers. But to achieve the targeted 50us idle
time on fal10 modes with higher FPS use cases, we need fill levels
higher than 15 (max for 4 bit). The hardware change in Kalama
achieves by using a 5 bit scale factor in combination with the
programmed threshold values.

Change-Id: I638705355c03910a83e7d922b6fe48ab11c120a8
Signed-off-by: Jeykumar Sankaran <quic_jeykumar@quicinc.com>
2022-02-02 09:43:06 -08:00
Yashwanth
107f473e54 disp: msm: update copyright description
This change updates copyright description with correct
license marking as per the guidelines.

Change-Id: Ia74b721e78afcc7f8e88bcbccfcf15430111ec37
Signed-off-by: Yashwanth <quic_yvulapu@quicinc.com>
2022-02-01 11:29:21 +05:30
Jayaprakash Madisetty
e9dd33dd1e disp: msm: sde: configure dest_scaler op_mode for two independent displays
Destination scaler0 and scaler1 when operated in independent mode,
by two built-in independent displays the op_mode gets modified
concurrently and HW flushes new config. This leads to underruns
on both the displays. This change programs the op_mode
correctly to operate ds0 and ds1 independently.

Change-Id: I01a3d4a986e0e7166f8a38b4cf35981d3e434686
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-01-31 20:44:17 +05:30
qctecmdr
6882ec9a9f Merge "Revert "disp: msm: sde: consider max of actual and default prefill lines"" 2022-01-28 02:51:53 -08:00
qctecmdr
e1ce0ed1ba Merge "disp: msm: sde: Reset backlight scale when HWC is stopped" 2022-01-28 02:51:53 -08:00
qctecmdr
21ff035e90 Merge "disp: msm: dp: avoid duplicate read of link status" 2022-01-28 02:51:53 -08:00
qctecmdr
87f80767f8 Merge "disp: msm: dsi: update vreg_ctrl settings for cape" 2022-01-28 02:51:53 -08:00
qctecmdr
5b1dce22c6 Merge "disp: msm: sde: add null pointer check for encoder current master" 2022-01-28 02:51:52 -08:00
qctecmdr
43965c0601 Merge "disp: msm: fail commit if drm_gem_obj was found attached to a sec CB" 2022-01-28 02:51:52 -08:00
qctecmdr
9dd362fc6b Merge "disp: msm: sde: dump user input_fence info on spec fence timeout" 2022-01-28 02:51:52 -08:00
Soutrik Mukhopadhyay
5e75a0bfc7 disp: msm: dp: updated copyright set for 4nm target
Changes include support to update necessary copyright
information to dp file for 4nm target.

Change-Id: Iebb2cc542f7b9262073936f12d55eb1be788e757
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2022-01-28 13:41:52 +05:30
Lei Chen
ec9231090c disp: msm: sde: add support for DS2 and DS3
Expand the DS enum and increase the DS max number
to support DS2 and DS3.

Change-Id: Iff8d591fece20528e30449c228db5cb2047cdded
Signed-off-by: Lei Chen <quic_chenlei@quicinc.com>
2022-01-28 12:58:06 +08:00
qctecmdr
22b1890454 Merge "disp: msm: sde: fix UBWC decoder version support for Kalama" 2022-01-26 13:47:22 -08:00
Rajeev Nandan
7db99e30d5 Revert "disp: msm: sde: consider max of actual and default prefill lines"
This reverts commit 6547137f7b.

This change can cause negative mdp_transfer_time_us for the panels with
VFP as big as panel active height.

Change-Id: Ibebfcacd9c4eddf80749fa55509821b332fba4cf
Signed-off-by: Rajeev Nandan <quic_rajeevny@quicinc.com>
2022-01-25 22:02:53 -08:00
Yuchao Ma
998bb11a2c disp: msm: sde: Reset backlight scale when HWC is stopped
Reset backlight scale when HWC is stopped.

Change-Id: Iafcb1560a901af3428a3eae19b01580a1c69eddf
Signed-off-by: Yuchao Ma <quic_yuchaom@quicinc.com>
2022-01-26 13:29:27 +08:00
Abhijit Kulkarni
f96beac76e disp: config: correct the copyright markers
This change adds the quic copyright for 2022 changes and
keeps LF copyright for older changes.

Change-Id: I03330a2736fec8711b4440ea6a5a1c0e81f86e21
2022-01-25 13:06:34 -08:00
Amine Najahi
1aacef1e1d disp: msm: sde: fix UBWC decoder version support for Kalama
Add support for detecting UBWC decoder version and program
UBWC configuration to hardware.

Change-Id: Ibe753d35ca46b069de8392c65a3b06131b7e238a
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-01-25 10:52:23 -08:00
qctecmdr
5aa509ef1f Merge "disp: msm: sde: fix dnsc_blur mux setting for cwb" 2022-01-25 10:50:56 -08:00
qctecmdr
3c4210e869 Merge "disp: msm: sde: avoid ALIGN check on sde_dbg_reg_register_dump_range" 2022-01-25 09:56:23 -08:00
Rajkumar Subbiah
812a36347b disp: msm: dp: avoid duplicate read of link status
During link training, after the swing/preemphasis is updated, the driver
is supposed to poll the link status on the sink and quit once the
LINK_STATUS_UPDATED bit is set and also latch the next set of
swing/preemphasis requested by the sink. But currently, the driver is
exiting the loop only when the LINK_STATUS_UPDATED bit is cleared. So,
it also latches the swing/emphasis request from the second read.

Typically, the SW read is slow enough that the bit is set on the first
read. The driver then reads the second time and exits the loop, since
the bit would be cleared then. In most cases, this doesn't affect
the training sequence, since the swing/preemphasis request for next
attempt is retained on the second read. But, atleast in one
specific case, it was observed that the swing/emphasis request
gets reset along with LINK_STATUS_UPDATED and so the driver ends
up missing the actual request and latches incorrect values instead.
This causes link training to fail as it keep retrying with the
same values that it starts with.

This change fixes the exit condition check so the driver quits the loop
as soon as the LINK_STATUS_UPDATED bit is set.

Change-Id: I7f5d9c6b30d48e113aef628d2ab2c1bd972fe743
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2022-01-25 11:03:14 +05:30
Veera Sundaram Sankaran
eb45d6c173 disp: msm: sde: fix dnsc_blur mux setting for cwb
Fix the dnsc_blur block pingpong mux setting for concurrent
writeback case.

Change-Id: I1a79602f05471ce2bc143258ffe87e46772f3d06
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-01-24 10:06:06 -08:00
Ritesh Kumar
41f7749026 disp: msm: dsi: update vreg_ctrl settings for cape
This change updates vreg_ctrl_0 and vreg_ctrl_1 settings for
cape DPHY as per the HW recommendation.

Change-Id: Ide66c62d980b57de1f826ed24d1c0747d8fb6c77
Signed-off-by: Ritesh Kumar <quic_riteshk@quicinc.com>
2022-01-24 16:30:26 +05:30
qctecmdr
4927d28629 Merge "disp: msm: sde: Add a new major version of sixzone in Kalama for SB LUTDMA" 2022-01-21 12:12:38 -08:00
qctecmdr
b45366ec72 Merge "disp: msm: sde: Split PA sixzone lutdma implementation" 2022-01-21 11:45:11 -08:00
qctecmdr
1d2901d59f Merge "msm: drm: uapi: Add uapi support for sixzone saturation adjustment" 2022-01-21 11:18:14 -08:00
Jayaprakash Madisetty
3fb9c29953 disp: msm: fail commit if drm_gem_obj was found attached to a sec CB
This change fails the drm_atomic_commit and avoids S2 translation
fault if drm_gem_object is found attached to a secure context bank
during non secure session. In the current codeflow, we are detaching
the gem object from secure CB and reattaching it to non secure CB,
but only S1 pagetables entries get modified and S2 pagetables entries
are not corrected since hyp_unassign is not called with CP_PIXEL
VMID which can only be done by client when buffer gets allocated.

Change-Id: I62302064f96276ef82044ee88fb89e295fb96b4b
Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
2022-01-21 16:20:14 +05:30
qctecmdr
60c129a954 Merge "disp: msm: dp: updated register values for 4nm target" 2022-01-20 21:06:37 -08:00
qctecmdr
4e43eebed5 Merge "disp: msm: sde: update framedata event handling" 2022-01-20 21:06:36 -08:00
Soutrik Mukhopadhyay
03b3d8d746 disp: msm: dp: updated register values for 4nm target
Changes include updated register writes for DP PLL
as per 4nm target.

Change-Id: I2d8ddbf4af5c2c6d885c73b7c888f31ce45f4cbf
Signed-off-by: Soutrik Mukhopadhyay <quic_mukhopad@quicinc.com>
2022-01-21 09:11:06 +05:30
qctecmdr
b68845e871 Merge "disp: msm: dp: avoid dp sw reset on disconnect path" 2022-01-20 16:36:44 -08:00