Graphe des révisions

2894 Révisions

Auteur SHA1 Message Date
qctecmdr
94e11c93fe Merge "disp: msm: sde: release splash memory using memblock_free" 2022-02-23 06:15:36 -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
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
qctecmdr
0077eebd41 Merge "disp: msm: dp: use link clk khz when initializing mst mgr" 2022-01-20 16:03:19 -08:00
qctecmdr
38513fe19e Merge "disp: msm: dp: avoid duplicate read of link status" 2022-01-20 15:35:22 -08:00
qctecmdr
c3d10af8a0 Merge "disp: msm: dp: fix configuration of aux switches and HPD sources" 2022-01-20 15:05:17 -08:00
Veera Sundaram Sankaran
aeb2201dbe disp: msm: sde: avoid ALIGN check on sde_dbg_reg_register_dump_range
Remove unnecessary register block size < REG_DUMP_ALIGN check during
the sde_dbg registration of a HW blcok. This avoids the registration
failures for few smaller hw blocks. The register size is padded later
according to REG_DUMP_ALIGN during the hw block register dump time.

Change-Id: I36474720a630f1c3e96072b1d6d8743018fcaeec
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-01-20 14:57:12 -08:00
qctecmdr
5212368b49 Merge "disp: msm: dp: init DP catalog for kalama" 2022-01-20 13:33:57 -08:00
qctecmdr
31ee22eecb Merge "disp: msm: dp: avoid return value check for certain debugfs functions" 2022-01-20 13:01:13 -08:00
qctecmdr
a51cdff99f Merge "disp: msm: dp: remove unused header declaration" 2022-01-20 12:23:51 -08:00
qctecmdr
178ea61c88 Merge "disp: msm: sde: Update LTM merge mode setting for kailua" 2022-01-20 11:19:08 -08:00
Rajkumar Subbiah
fa1f3fab80 disp: msm: dp: avoid dp sw reset on disconnect path
In an effort to reset the DP controller states on a disconnect, the
driver is issuing a SW reset to the controller. But SW reset on
the controller doesn't necessarily restore the controller to its
full reset state. It only resets part of the logic. So if for some
reason the MST streams were not disabled properly, ie. the slot
allocations were not reset properly in the controller, then a SW
reset would result in the DP controller raising state interrupts.
Since this SW reset is issued in the tail end of the disconnect
processing, the driver turns off all the clocks and also
removes the irq handler. This results in an interrupt storm at
the MDSS top level.

This change removes the SW reset on the disconnect path and
relies on the SW reset that already exists in the connect path
to restore controller state.

Change-Id: Ie7115e17d3c50c46c83c6f0e333da5cb534b8227
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-01-20 13:55:57 -05:00
Rajkumar Subbiah
7ec4eae53b disp: msm: dp: use link clk khz when initializing mst mgr
MST driver is incorrectly using maximum bw_code while initializing
MST topology manager instead of maximum link clock in KHz. This
prevents the topology manager to set MST state on a subsequent MST
plug in causing all MST cases to fail.

Change-Id: I9fc4e0326fe0c7a6c9b81af8810b7098fa8ba967
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2022-01-20 13:55:28 -05:00
Rajkumar Subbiah
80efc128db 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>
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-01-20 13:53:27 -05:00
Aravind Venkateswaran
78c45e9d5d disp: msm: dp: fix configuration of aux switches and HPD sources
Decouple the configuration and parsing of aux switches with the
parsing and configuration of HPD sources. HPD notification can come from
either GPIO based approach or a PD module through a SW interface. The
presence of AUX switch on the board should have no bearing in deciding
which configuration for HPD detection is used. Update the implementation
to allow for flexibility in selecting any combination of the HPD source
and aux switches.

Change-Id: I96d558f1d88a359d523fae6dc746045393884d5a
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-01-20 13:52:06 -05:00