Revīziju grafs

2636 Revīzijas

Autors SHA1 Ziņojums Datums
Kashish Jain
c079b51c81 disp: msm: dsi: allocate priv info and bit clk list per fps
Currently, in dsi_display_get_modes, priv_info, rates,
front_porches and pixel_clks_khz memory is allocated for each
timing node and the same memory is copied for each supported fps.
The values of front porches calculated to maintain constant fps for
each bit clk rate gets overwritten with the values for last fps in
the dfps list. But the values of front porches should be different
in case where DFPS and dynamic clock are both supported either by
vfp approach or hfp approach. To fix this, allocate memory
separately for each fps.

Change-Id: Ibf753aa8cca8d77b02b20785b5435f1aba05106e
Signed-off-by: Kashish Jain <kashjain@codeaurora.org>
2021-11-21 23:51:10 -08:00
qctecmdr
ae1d2e9c54 Merge "disp: msm: sde: deprecate idle notify work scheduling" 2021-11-20 00:19:10 -08:00
qctecmdr
80a394d31a Merge "disp: msm: sde: update uidle_db_updates in both enable/disable cases" 2021-11-17 01:00:40 -08:00
qctecmdr
af3b57299d Merge "disp: msm: sde: fix traffic shaper prefill calculations" 2021-11-17 01:00:40 -08:00
qctecmdr
2eaf8739f0 Merge "disp: msm: enable dsc support for 422 with 10bpc and 8bpp" 2021-11-16 14:01:20 -08:00
Raviteja Tamatam
d098764f5b disp: msm: sde: update uidle_db_updates in both enable/disable cases
uidle_db_updates are generated when CTL_x_UIDLE_ACTIVE is set to 1.
It needs to enabled in both uidle enable and disable cases.
CTL_x_UIDLE_ACTIVE is set to 0 only in cases where uidle configuration
is not updated.

Change-Id: If7655e4eae351bac248f0906c473cdfaf93f2b8a
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-11-15 13:12:58 -08:00
Manaf Meethalavalappu Pallikunhi
479a5292e6 disp: msm: limit display brightness max cooling device level
Based on panel hardware support, display brightness levels can
be very high value. This high value display brightness cooling
device levels can cause exceeding PAGE_SIZE for cooling device stat
buffer. It leads to buffer failure for cooling device stat feature.

Limit display panel mitigation level max to 255. If hardware
supports more than 255, then scale brightness levels fit
into above limit.

Change-Id: Ieeee4ff2aa5cd884819b30b4fd9839e48ac4d804
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2021-11-15 05:25:37 -08:00
qctecmdr
61963b0791 Merge "disp: msm: update rsc vsync timeout value dynamic" 2021-11-14 06:03:48 -08:00
qctecmdr
195baab07b Merge "disp: msm: sde: add check for sunlight visibility scale" 2021-11-14 06:03:48 -08:00
Prabhanjan Kandula
8bccb3e212 disp: msm: enable dsc support for 422 with 10bpc and 8bpp
Add DSCv1.2 native 422 format with 10bpc and 8bpp config
and format specific fixed rate control parameter table
entries as per the systems recommended settings.

Change-Id: Ibd1a5203be2c59f4699537a31f9ae6d69bcfe5ab
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-11-11 16:36:55 -08:00
qctecmdr
99f4b07f1d Merge "disp: msm: sde: send event on trusted vm transition" 2021-11-11 14:24:25 -08:00
qctecmdr
6aeec823b3 Merge "disp: msm: dp: clear all dp interrupts before deinit" 2021-11-11 14:24:25 -08:00
qctecmdr
b5da8ebb6a Merge "disp: msm: dp: check for active panels ptr before cleanup" 2021-11-11 10:12:37 -08:00
qctecmdr
d0b2b45c89 Merge "disp: msm: dp: reduce hdcp error level for inactive state" 2021-11-11 10:12:37 -08:00
Yashwanth
a5382aff7e disp: msm: sde: deprecate idle notify work scheduling
This change deprecates idle notify work for video mode
since idle timer will be maintained by userspace.
As part of idle notify work, syscache state is changed from
CACHE_STATE_NORMAL to CACHE_STATE_PRE_CACHE along with
notifying to the userspace. This change removes
CACHE_STATE_PRE_CACHE in the state machine and state is
updated from CACHE_STATE_NORMAL to CACHE_STATE_FRAME_WRITE
whenever the cache property is set.

Change-Id: If3b2c34be954cb625aca76da81fd854c077a8250
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2021-11-11 11:07:54 +05:30
Rajkumar Subbiah
29534b6d5c disp: msm: dp: clear all dp interrupts before deinit
If there are any uncleared DP interrupts before deinitialing
and turning off the clocks, the interrupt might get stuck at
the MDP level and can't be cleared without turning the DP
clocks back on. To avoid this situation, this change clears
all the interrupts before turning off the clocks.

Change-Id: Id13b102fa81c85f92ae8c1d11ffaf7d5bad5fd12
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2021-11-10 17:46:31 -05:00
Ping Li
dd2e1fd03f disp: msm: sde: add check for sunlight visibility scale
Add check to clip the sunlight visibility scale to an upper limit of
MAX_SV_BL_SCALE_LEVEL * 4.

Change-Id: I8cc7bf8fba90e115d046ec030983801ce6d93c1d
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: Yuchao Ma <yuchaom@codeaurora.org>
2021-11-10 09:43:35 -08:00
Rajkumar Subbiah
6c8c95f99e disp: msm: dp: add qos vote during hdcp authentication
HDCP authentication has strict timing requirements and if the
display is on static screen during this time, it is possible
that SDE removes the QOS vote when it detects static display,
thereby affecting the hdcp authentication process.

This change adds qos support in dp driver to vote exclusively
for DP. If valid QOS settings are provided in dtsi, then the
driver adds the vote when it starts authentication and removes
the vote when authentication is completed.

Change-Id: I1d8bc098d0857b13fdf1ca089b6dd2d3f381bdb8
Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
2021-11-09 16:56:58 -05:00
Sandeep Gangadharaiah
1025b3c40a disp: msm: dp: reduce hdcp error level for inactive state
During an HPD, HDCP IRQ handler prints error log and exit
if HDCP state is inactive or authentication failure.
Inactive state is a benign error and auth failure will be
reported by hdcp kernel module. This change will downgrade
this error log to debug log.

Change-Id: I2a64e3c94a6661db70e93d07f5e3608202fe8871
Signed-off-by: Sandeep Gangadharaiah <sandgang@codeaurora.org>
2021-11-08 21:31:43 -05:00
Sandeep Gangadharaiah
ce678e896e disp: msm: dp: check for active panels ptr before cleanup
During a probable race condition where usermode is triggering
a delayed cleanup, this instance would be empty leading to a null
pointer dereference. This change will add protection around this
pointer.

Change-Id: I8e90a1ba3ca925f08678e5fa67616420204edae7
Signed-off-by: Sandeep Gangadharaiah <sandgang@codeaurora.org>
2021-11-08 21:30:33 -05:00
qctecmdr
84973878ad Merge "disp: msm: dsi: Logging Improvement in dsi driver" 2021-11-08 13:26:05 -08:00
Prabhanjan Kandula
6acf9fddfd disp: msm: update rsc vsync timeout value dynamic
Considering requirement for supporting panel refresh rates upto
1Hz current default timeout value is not sufficient. Based on
panel refresh rate update vsync wait timeout value so that
any vsync waits from here on will have adjusted timeout value.

Change-Id: I65af152c4bd3decdd7135a4cc38f54e3bb3d5c92
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-11-08 12:17:46 -08:00
Yashwanth
50aa3cd210 disp: msm: sde: fix traffic shaper prefill calculations
This change fixes traffic shaper prefill calculations
for prefill count and bytes per clock as per hardware
recommendations in the HPG which are calcualted as below:

ts_ count = ts_end*19200000/fps/(vtotal)

ts_bytes_per_clk = ceil(h_src*v_src*bpp*fps/
			19200000*amortized_pref_rate)

Change-Id: Icc2348421a2124daa3b0056f46d7a6a45021381b
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
2021-11-08 17:29:22 +05:30
qctecmdr
cb24fd2bc6 Merge "disp: msm: sde: add rev checks for cape target" 2021-11-07 04:30:56 -08:00
qctecmdr
4abbe9ee47 Merge "disp: rsc: update mode-1 threshold config to 1 hz" 2021-11-06 06:25:54 -07:00
qctecmdr
45fd1bf563 Merge "disp: msm: sde: Add spr and demura to handoff features list" 2021-11-05 14:58:29 -07:00
Ritesh Kumar
986c7b1028 disp: msm: dsi: Logging Improvement in dsi driver
This change adds additional logs in dsi driver for
easy debugging of issues related to command transfer.

Change-Id: Ica784bed6c360b2760d6606d625837e23a22410c
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-11-05 02:08:17 -07:00
Ritesh Kumar
13f4082d58 disp: msm: dsi: Fix post cmd tx sequence for read commands
For read commands, wait_for_done() should be called in dsi_message_rx function.
Currently, its being called twice from dsi_message_rx and dsi_ctrl_post_cmd_transfer.
This change adds a check to skip wait_for_done() from dsi_ctrl_post_cmd_transfer.

Change-Id: Icb7ccd0f8dde24c6c26732f7cb92a20bebb26f5d
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-11-05 14:34:58 +05:30
Abhijit Kulkarni
683f6bc6af disp: msm: sde: send event on trusted vm transition
This change sends a notification to user mode after msm_drm
driver releases the mmio and irq resources on trusted vm transition
request. This is required as user mode has no other way to know
when the resources where actually released. User mode driver earlier
relied on retire fence signaling but retire fences are send before
releasing the hw.

Change-Id: Ia218cfcbf398b2de1ad9578fb9baedf348b067df
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2021-11-04 11:45:25 -07:00
Ritesh Kumar
f2499b50d8 disp: msm: dsi: remove early return from dma_cmd_wait_for_done
In ASYNC wait mode, next command kickoff can happen before previous command ISR execution is
completed in below sequence:

ASYNC command A -> triggered

dsi_ctrl_isr for command A -> fired and executed atomic_set(&dsi_ctrl->dma_irq_trig, 1);

wait_for_done for command A -> returns early as dsi_ctrl->dma_irq_trig is 1

ASYNC Command B -> triggered

wait_for_done for command B -> waiting for cmd_dma_done

dsi_ctrl_isr for command A -> executes complete_all(&dsi_ctrl->irq_info.cmd_dma_done);

wait_for_done for command B -> returns success incorrectly based on complete_all of previous
	command isr and disable_status_interrupt() is not called.

This leads to refcount of dma_done going wrong and dsi_ctrl_isr is not enabled on suspend resume.

To fix this issue, mark command transfer successful only based on complete_all(cmd_dma_done). This
way disable_status_interrupt() will be always called either from dsi_ctrl_isr or wait_for_done().

Change-Id: I0379ea7ff82a1e077b95f6996d11d1722de00936
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2021-11-04 17:50:11 +05:30
Raviteja Tamatam
f5d5133807 disp: msm: sde: add rev checks for cape target
Add required revision checks from display for
cape target.

Change-Id: Ieb2b0b23462ff122b0090e7c78d8da41fa78fc07
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2021-11-03 14:25:49 +05:30
Lakshmi Narayana Kalavala
a70e704ef0 disp: msm: sde: Add spr and demura to handoff features list
SPR and Demura modules being disabled when switching back from
Trusted VM to HLOS VM. The change adds the support to restore
the modules to restore to their original state.

Change-Id: I0a843671672179a4bc62da512baf02e911fb50aa
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2021-11-02 17:15:56 -07:00
qctecmdr
ce1eceafb0 Merge "disp: msm: dp: fix warnings due to dp_hdcp2p2 thread reparking" 2021-11-02 14:52:25 -07:00
qctecmdr
24057ec69c Merge "disp: msm: dsi: implement ESD recovery cleanup" 2021-11-02 14:52:24 -07:00
qctecmdr
5e95df6d30 Merge "disp: msm: dsi: terminate buffer with NULL character" 2021-11-02 14:52:24 -07:00
qctecmdr
fd1bc18411 Merge "disp: msm: dp: send mst act signal after link maintenance" 2021-11-02 14:52:24 -07:00
Dhaval Patel
0ecc150e06 disp: rsc: update mode-1 threshold config to 1 hz
Update mode-1 threshold configuration to 1 hz to avoid
selecting mode-2 if panel vsync is irregular.

Change-Id: I06b16b8ff35fc145df2af480353a45348548cc3b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-10-29 20:19:19 -07:00
qctecmdr
c9ecf74127 Merge "disp: msm: add display config support for neo" 2021-10-29 08:35:13 -07:00
Karthik Andhavarapu
6e05f12db7 disp: msm: add display config support for neo
Add display config support for compilation on neo target.

Change-Id: Ia2b9b8b76f833e233a8bf801485c6dd2104e1700
Signed-off-by: Karthik Andhavarapu <quic_kartkart@quicinc.com>
2021-10-29 12:49:40 +05:30
Sandeep Gangadharaiah
994d2568be disp: msm: dp: send mst act signal after link maintenance
If MST is enabled, the controller needs MST ACT to be 
completed to successfully transition to 'Ready for Video' 
state. The driver is sending ACT during the normal flow
when transitioning from link training to stream enable. 
But it is not sending ACT, if a link maintenance is
triggered after stream enable. This change adds the ACT 
update to the link maintenance call flow.

Change-Id: I7aea53a1e54202f1d9059a8eb59f01fa97fe9eb9
Signed-off-by: Sandeep Gangadharaiah <sandgang@codeaurora.org>
2021-10-28 16:04:22 -04:00
qctecmdr
ad6ad703c7 Merge "disp: msm: dsi: fix pll lane count in split link usecase" 2021-10-27 19:41:25 -07:00
Shashank Babu Chinta Venkata
213d490593 disp: msm: dsi: fix pll lane count in split link usecase
In split link usecase with single DSI and dual sublink, the
pixel clock rate should  be calculated based on effective lanes
rather than cumulative lanes on that DSI PHY. This effective lanes
can be expressed as number of lanes being used per sublink.

Change-Id: Ia534e816cc64b62c5fe0b9fcaabb9ba52d05bab0
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-10-27 11:50:59 -07:00
qctecmdr
3e2f9ddbd9 Merge "disp: msm: sde: reset feature wrappers based on target capabilities" 2021-10-27 08:00:26 -07:00
Andhavarapu Karthik
c6b0d1fbe9 disp: msm: sde: Move TVM related code under SDE VM config
This change moves TVM related code under SDE VM config.

Change-Id: I8357d6a984fd97f18f24eee33464299e8ea66b12
Signed-off-by: Andhavarapu Karthik <quic_kartkart@quicinc.com>
2021-10-27 17:51:27 +05:30
qctecmdr
195bb007d8 Merge "disp: msm: sde: update rc checks for mask configuration" 2021-10-25 22:07:45 -07:00
qctecmdr
5f5525b418 Merge "disp: msm: sde: add new function for updating the cp feature lists only" 2021-10-25 18:47:06 -07:00
qctecmdr
a757117e6b Merge "disp: msm: sde: protect file private structure with mutex lock" 2021-10-25 11:31:12 -07:00
Sandeep Gangadharaiah
ce86cc5397 disp: msm: dp: fix warnings due to dp_hdcp2p2 thread reparking
This change checks "dp_hdcp2p2" thread's parked state, before
attempting to park the thread. This would avoid a warning
message from the kernel module, in case if the thread is already
parked.

Change-Id: I3133da7159c9806981e4760be275c0a54036958b
Signed-off-by: Sandeep Gangadharaiah <sandgang@codeaurora.org>
2021-10-22 19:09:52 -04:00
qctecmdr
dd76bc04e6 Merge "disp: msm: sde: add null check while getting pointer to kms" 2021-10-22 15:17:12 -07:00
qctecmdr
8895819310 Merge "disp: msm: fix rsc static wakeup time calculation" 2021-10-22 12:21:30 -07:00