Commit Graph

3192 Commits

Author SHA1 Message Date
qctecmdr
04ddb3a852 Merge "disp: msm: sde: add line insertion support for sspp" 2022-04-08 04:26:38 -07:00
qctecmdr
f9bdbed288 Merge "disp: msm: add mmrm configs for Kalama" 2022-04-07 21:19:36 -07:00
Sandeep Gangadharaiah
5448272a8c disp: msm: dp: update pll params with latest HPG values
Modified the pre-emph values for S3P0 & S1P1 in HBR/RBR
table. Also, modified BG timer value as per the latest
HPG changes.

Change-Id: Id9088d3cfe73cb14518dcf490676d92c54925793
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-04-07 16:18:53 -07:00
Veera Sundaram Sankaran
c5121825bf disp: msm: sde: reset plane cache state on plane disable
Plane cache state is updated based on the crtc's cache state.
The plane is left with state cache state, if the particular plane
is not used in the subsequent frame by the same crtc. Reset the
plane cache state on plane disable and reset_custom_properties to
avoid this case.

Change-Id: Ic6d31567af23906e94c5404d1d366e030b9be199
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-04-06 10:51:24 -07:00
Veera Sundaram Sankaran
65b81f914e disp: msm: sde: use LLCC_DISP for static display usecase with cwb
Static display usecase uses concurrent writeback path to compose the
layers and updates the primary display in the next cycle with cwb
output. Use LLCC_DISP scid for system cache in cwb path, to keep it
in sync with the legacy static display path. Use LLCC_DISP_WB for
the offline-wb path. Expose the writeback connector cache property
only when either or both the cache types are enabled.

Change-Id: I8ca4b14828a14ce0bde829136fb4baef272166aa
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-04-06 10:51:24 -07:00
Veera Sundaram Sankaran
beeab715ac disp: msm: sde: enable LLCC_DISP_WB for kalama target
Add sde hw catalog change to enable LLCC_DISP_WB system cache, which
is used for 2-pass composition usecases with offline writeback path.

Change-Id: Ic320b95a6699e59c62fed41f7fb88c484d98ffd0
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-04-06 10:51:24 -07:00
Dhaval Patel
24a51e1ab0 disp: msm: avoid rotator code compilation
Avoid rotator code compilation if config is not
enabled.

Change-Id: I4793fadfe14820931df2fbcc53337fc8a15d6449
Signed-off-by: Dhaval Patel <quic_pdhaval@quicinc.com>
2022-04-06 10:22:55 -07:00
Amine Najahi
3e63669e71 disp: msm: sde: fix GEM object inactive list locking
Currently code is locking the struct_mutex when accessing
the GEM object inactive list. This causes corruption of
the inactive list during stability testing.

This change uses the mm_lock mutex instead, as it is used
in the allocation and de-allocation paths.

Change-Id: I6384fd70e7ea5d7e3c2910c7670d152a61670dc1
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-04-05 18:47:25 -04:00
Amine Najahi
05014b30d1 disp: msm: sde: handle SSPP system cache for multi-plane scenario
Currently, when CWB system cache use case is enabled and multiple planes
are used to fetch the LLCC data only one SSPP is programmed correctly.

This change ensures that whenever the fb_cache_flag is non 0, the SSPP
system cache gets reprogrammed.

Change-Id: Ic90eaae207f6221efb1fc8749093d8b44e092e44
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-04-04 07:07:49 -07:00
qctecmdr
068c83ecd9 Merge "disp: msm: sde: consider max of actual and default prefill lines" 2022-04-01 11:49:38 -07:00
Yahui Wang
6f22c2c636 disp: msm: dsi: parse panel ack disabled property for sim panels
Sim panels are not working well with video mode, parse panel ack
disabled property to fix sim video mode identification issue.

Change-Id: Ife3b533d5a6db97618459dacf1f7ce8d3fc896bf
Signed-off-by: Yahui Wang <quic_yahuiw@quicinc.com>
2022-04-01 12:55:29 +08:00
Rajesh kv
03aad2fdf9 disp: msm: sde: add line insertion support for sspp
Add line insertion support for sspp, this is used to support
display with external splitter. Line insertion logic checks
the difference between screen logical height and physical
height. If any difference is observed adds dummy and active
lines on screen.

Change-Id: Ieec322273df000a53fb39e05174c2d67c3c2da81
Signed-off-by: Rajesh kv <quic_kvrajesh@quicinc.com>
2022-04-01 09:35:03 +05:30
qctecmdr
fdcfe00b0b Merge "disp: msm: sde: drop suspend state if commit is skipped" 2022-03-31 17:23:16 -07:00
qctecmdr
0d5e286187 Merge "disp: msm: sde: shorter idle-pc duration in doze mode" 2022-03-31 17:23:15 -07:00
Narendra Muppalla
05e82e9f97 disp: msm: add mmrm configs for Kalama
This change adds display mmrm build configs for kalama target.

Change-Id: Ic35f396733c5031ea4f62e0fa3b3b6ea662a198b
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-03-31 12:16:52 -07:00
Narendra Muppalla
76ca21c9ba disp: msm: link mmrm module as a dependency
This change links mmrm and msm-ext-disp module linked as
an additional dependency for display drivers.

Change-Id: I465a50af9464c16ef26e926f201a7dff1c9af6cf
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-03-31 12:14:34 -07:00
qctecmdr
e84f1b6640 Merge "disp: msm: sde: disable autorefresh on encoder disable" 2022-03-31 07:49:19 -07:00
Veera Sundaram Sankaran
3112cb87dd disp: msm: sde: fix sde_vbif_get_xin_status return value
sde_vbif_get_xin_status is expected to return true if client is idle
and false otherwise. Update the final return status based on this
expectation.

Change-Id: I3a9ff7c83cb5966ff5573b27e5c2e88423448199
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-29 12:16:17 -07:00
Narendra Muppalla
0828ce68f2 disp: msm: sde: consider max of actual and default prefill lines
In transfer-time calculation remove fixed prefill lines assumption
and consider max of default prefill lines, prefill lines
specified from the panel timing info and Vtotal. For panels with
higher porches exceeding default prefill lines, alternate framedrops
can occur if transfer-time exceeds RSC static waketup time
as actual prefill lines are considered in RSC static wakeup timer
calculation. This change ensures transfer-time is within
RSC static wakeup time.

Change-Id: Ic489d69cf99cfb6750e871c7fc8197243f61acf3
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-03-29 11:36:27 -07:00
Veera Sundaram Sankaran
e50d08286f disp: msm: sde: disable autorefresh on encoder disable
Disable the autorefresh during encoder disable to avoid any
pending frame transfers while disabling. Additionally, handle
frame_done for new autorefresh frames to signal the fences and
proper accounting of pending_kickoff counter.

Change-Id: I8af114972b19ccdf0edab6b4c454ee90b4e8d8cf
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-29 10:41:46 -07:00
Ajay Singh Parmar
9dc9e26bed disp: msm: hdcp: set default topology as DOWN_REQUEST_TOPOLOGY
Avoid unnecessary write call to set the read request type. As there
is just one message to be read, use it as a default value.

Change-Id: Ibf1c16f06753ae581dcc32d075ea5d920229f44c
Signed-off-by: Ajay Singh Parmar <quic_aparmar@quicinc.com>
2022-03-28 18:56:53 -07:00
Yu Wu
6e050f641a disp: msm: dsi: Remove backlight operation during poms process
During POMS process, from vid to cmd or from cmd to vid, we both
see black screen, this is caused by backlight operation. Logically
display driver should not operate on backlight during POMS process.

Change-Id: I3bc76d6ed9ccee50f740c36cb276b6b103e7d43e
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2022-03-28 00:36:32 -07:00
qctecmdr
cba5134cac Merge "disp: msm: sde: address static analysis issues" 2022-03-25 23:49:17 -07:00
Nisarg Bhavsar
4d8bf011d5 disp: msm: sde: address static analysis issues
Avoid various possible nullptr dereferences
and check validity of index before accessing
arrays. Addresses issues highlighted by
static analysis.

Change-Id: I5abfbc8c4cacb56e9decc3a6339ab0fa3a63b606
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-03-25 13:26:33 -07:00
qctecmdr
89422fbde1 Merge "disp: msm: sde: enable llcc in AOD mode" 2022-03-25 12:06:36 -07:00
Govinda Rao K S
1928128776 disp: msm: sde: enable llcc in AOD mode
LLCC usage is currently limited to static display
configuration. With these changes, LLCC will be
enabled for always-on screen with Video mode.

Change-Id: I54cbb6f0aa6380819ca00e02ac8ffd1c01d07ede
Signed-off-by: Govinda Rao K S <quic_gkarikur@quicinc.com>
2022-03-25 09:09:42 +05:30
qctecmdr
51f0c1bd0b Merge "disp: msm: sde: install default value for panel_mode property" 2022-03-24 20:13:01 -07:00
qctecmdr
9ef57c8125 Merge "disp: msm: remove unused code snippet" 2022-03-24 16:30:49 -07:00
qctecmdr
67c4ea24a4 Merge "disp: msm: add capability to dynamically update the transfer time" 2022-03-24 07:56:56 -07:00
qctecmdr
07a272bcb8 Merge "disp: msm: sde: remove hardcoding of LLCC use case id" 2022-03-24 04:19:48 -07:00
Shamika Joshi
64c6d2e0f4 disp: msm: remove unused code snippet
Removing unused DMA-BUF code snippet

Change-Id: I860acfbeb81b7d4ed5229e0bfb19959652cfc575
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-03-23 12:59:45 -07:00
qctecmdr
41505c6109 Merge "disp: msm: sde: refactor _sde_encoder_phys_wb_update_cwb_flush function" 2022-03-23 00:39:24 -07:00
qctecmdr
264e0b32ce Merge "disp: msm: dsi: add MISR support for ctl 2.2 version" 2022-03-23 00:39:24 -07:00
Amine Najahi
213997b2c9 disp: msm: sde: remove hardcoding of LLCC use case id
Remove hardcoding LLCC use case id and use catalog information
to decide which system cache section to use.

Change-Id: I9748ca1f3569db0cf77689af296def0759fe94cc
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-03-22 11:15:14 -04:00
Nilaan Gunabalachandran
e5fcf7f263 disp: msm: add capability to dynamically update the transfer time
This change adds a connector OP, that will be used to update frame
transfer time dynamically at the request from user space.

It also adds parsing for new device tree entries that set the minimum
and maximum trasnfer times on a mode basis. These min and max transfer
times are also published to userspace through the connector mode info
capabilities blob.

Change-Id: I12aedf96a51ff7feb2c5b3b1353d3c4ec8dcb068
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
2022-03-21 14:13:32 -04:00
Govinda Rao K S
c35cbdda4f disp: msm: sde: shorter idle-pc duration in doze mode
Currently aggresive idle-pc entry is only enabled in
case of doze-suspend mode. Extend the support to doze
mode as well.

Change-Id: I8e9e0e116bb65a1aec0180bf9bc10bed99d4a137
Signed-off-by: Govinda Rao K S <quic_gkarikur@quicinc.com>
2022-03-21 02:14:55 -07:00
Renchao Liu
34fa5b131a disp: msm: sde: add the DE lpf flag setting
Change adds the DE lpf flag setting and updates its register write.

Change-Id: Ifdfd26ef51dd66293fe99f25fef79c5e76e9ca31
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-03-21 16:50:36 +08:00
qctecmdr
de4b82ec48 Merge "disp: msm: sde: refactor dsi_display_get_modes function" 2022-03-19 21:33:44 -07:00
Shamika Joshi
d66d6a1a71 disp: msm: sde: refactor _sde_encoder_phys_wb_update_cwb_flush function
Refactor the function '_sde_encoder_phys_wb_update_cwb_flush' to
reduce its complexity.

Change-Id: I91b5fd5409617d06c3c17799d6af128578c3ba16
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-03-18 18:30:37 -07:00
Veera Sundaram Sankaran
451f79771f disp: msm: dsi: add MISR support for ctl 2.2 version
Add DSI CTL MISR support for ctl 2.2 version. Reuse the same
debugfs nodes to setup/collect misr.

Change-Id: I3d8dfab093659ce53817d9511999c0c03cc33f62
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-03-18 09:25:40 -07:00
Lei Chen
ffcdd853a5 disp: msm: sde: install default value for panel_mode property
Install default panel mode for connector panel_mode property
so that the panel mode can be changed to default mode accordingly
when SDM is restarted.

Change-Id: I3229a1b8e60da9030d6e20112f6b1f3071b5f988
Signed-off-by: Lei Chen <quic_chenlei@quicinc.com>
2022-03-18 00:44:18 -07:00
qctecmdr
33ed6045ac Merge "disp: msm: sde: remove WB output buffer pitch alignment check" 2022-03-17 15:54:13 -07:00
qctecmdr
2884396664 Merge "disp: msm: sde: avoid null pointer dereference" 2022-03-17 15:54:12 -07:00
Amine Najahi
cc19682733 disp: msm: sde: remove WB output buffer pitch alignment check
Currently, driver enforces the allocated WB output buffer to be 256 bits
aligned in memory in order to optimize DDR access and meet maximum system
bandwidth requirements.

Since there are no functional failures with using a 256 bits unaligned
buffer, this change removes this unnecessary check.

Change-Id: I23476e8a28e970f2e1853bbcc0c1d1042d9fdfe2
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
2022-03-17 16:09:09 -04:00
qctecmdr
09f8f69716 Merge "disp: msm: optimize devcoredump read operation duration" 2022-03-17 07:48:44 -07:00
qctecmdr
96782a0d63 Merge "disp: msm: sde: program master intf register for single intf" 2022-03-17 07:48:44 -07:00
qctecmdr
1b541d5bb6 Merge "disp: msm: dp: add pll params table for 4nm PHY pll settings" 2022-03-17 00:56:08 -07:00
Sandeep Gangadharaiah
597cc8e43b disp: config: conditional import of msm-ext-display symbols
msm-ext-display module is moved out of the kernel to display
driver after waipio release. This change will import these
msm-ext-display symbols only for a non-waipio variant.

Change-Id: I3cb30f666120e29c13405b98c98cc540198fa651
Signed-off-by: Sandeep Gangadharaiah <quic_sandgang@quicinc.com>
2022-03-16 12:29:52 -07:00
Nisarg Bhavsar
a9c8b41adf disp: msm: sde: avoid null pointer dereference
Avoids null function pointer dereference in WriteBack object.

Change-Id: I9f23a7f9f5e72e09cfd7a955d0c0ca64b401f89e
Signed-off-by: Nisarg Bhavsar <quic_bhavsar@quicinc.com>
2022-03-16 11:41:18 -07:00
qctecmdr
6ddda369b3 Merge "disp: msm: dsi: mitigate errors on non-parsed regulator nodes" 2022-03-15 22:42:35 -07:00