Commit Graph

2799 Commits

Author SHA1 Message Date
Ping Li
4d27e37beb disp: msm: sde: add new function for updating the cp feature lists only
When sde_crtc_atomic_begin is called before crtc is enabled, all the
color processing features need to be moved from active_list to
dirty_list after sde_cp_crtc_apply_properties(). However, the
ltm_hist_en flag doesn't need to be set to false in this case.
Setting ltm_hist_en to false in this case will result LTM merge_en bit
being cleared incorrectly. This change replaces sde_cp_crtc_suspend()
with a new function that only updates the color processing feature lists
in sde_crtc_atomic_begin().

Change-Id: I75d7874899838855bda05a1e8eca0cb9523417e9
Signed-off-by: Ping Li <pingli@quicinc.com>
2021-10-20 11:16:56 -07:00
qctecmdr
5f25adc693 Merge "disp: msm: dsi: add const qualifer for device node in get_named_gpio" 2021-10-20 09:37:40 -07:00
qctecmdr
a6400b2c81 Merge "disp: msm: dsi: remove check for reset gpio config in ext bridge mode" 2021-10-19 22:14:08 -07:00
Satya Rama Aditya Pinapala
4413e3bb7e disp: msm: dsi: terminate buffer with NULL character
Change terminates the copied buffer with a null character.

Change-Id: I18d6b3ca861058a242bde399f631771d3a48eddd
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-10-19 12:03:44 -07:00
qctecmdr
531591b654 Merge "disp: msm: sde: add rev checks for diwali target" 2021-10-16 12:35:45 -07:00
qctecmdr
fedae52a47 Merge "disp: msm: sde: disable vsync counter before tear check update" 2021-10-15 19:09:23 -07:00
qctecmdr
705f82e82a Merge "disp: msm: dp: destroy mst topology on unplug" 2021-10-15 19:09:23 -07:00
qctecmdr
e5e23569a0 Merge "disp: msm: move thread priority call from component bind" 2021-10-15 19:09:23 -07:00
Jeykumar Sankaran
8c1a66d6bd disp: msm: dsi: add const qualifer for device node in get_named_gpio
Add const qualifier for the device_node param in get_named_gpio
function pointer hook to adapt msm-5.15 kernel.

Change-Id: I0129efeff5aeb85b567bf6f2b5d2e45312fab024
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:31:55 -07:00
Ingrid Gallardo
b3d598b926 disp: msm: sde: remove memblock_free api
Remove memblock_free api, since currently is not
part of the ack tree. This prevents modpost compilation
errors for the display driver.

Change-Id: I8f657a123fbecc5d4b029d511b8d08fec2293f0c
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2021-10-15 17:31:51 -07:00
Ingrid Gallardo
de3e31a08a disp: msm: sde: adjust list_sort api to adapt kernel 5.15 params
Latest Kernel modified list_sort to receive 'const' parameters in
its function pointer, this change modifies the functions used
by list_sort to add 'const' parameters.

Change-Id: I83212e1e7a749132c90011d0a8933c5eb2990bd2
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2021-10-15 17:31:47 -07:00
Ingrid Gallardo
cb20292c2d disp: msm: add build configs for Kalama
Add config files for kalama target and enable compilation.

Change-Id: I4ddd89ef927b32c70b66c54e64a8ae5156cccb29
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:31:30 -07:00
Bruce Hoo
45160ca04c disp: msm: use linux IRQ interfaces instead of DRM helpers
Update the msm layer to use linux IRQ interfaces as DRM IRQ helpers
are removed in 5.15 kernel.

Change-Id: I9f41032927cddabe8a5a48e5e9339acef6c6f67e
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:27:48 -07:00
Bruce Hoo
d1d11731f1 disp: msm: update msm_gem ops and remove unused drm_driver callbacks
Update msm_gem and msm_drv to comply with latest 5.15 kernel.
Modify dma_buf_vmap() and dma-buf's vmap callback to use
struct dma_buf_map. Rename dma_resv_get_excl_rcu to _unlocked.
Remove deprecated GEM and PRIME callbacks.

Change-Id: Ifdfc7f872c988d8455f465e7d17dfbcf212bb5f6
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:27:27 -07:00
Bruce Hoo
283560cb39 disp: msm: dp: use Extended Base Receiver Capability DPCD space
Pass additional parameters to supply maximum lane count and
rate to MST topology manager. In cases where sources have
lower maximum lane count or rate than default MAX_LINK_RATE,
these values will be used instead.

Change-Id: I9278ce6cc9fbacaf3f6d964c5036208c0695a79b
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:27:11 -07:00
Bruce Hoo
bfb91aa63f disp: msm: Fix a null pointer access in msm_gem_shrinker_count()
This change moves the point at which msm_gem_object is added to
inactive list. Moving this ensures that initialization will be
complete before adding the object to the list. This change also
removes unused functions from msm_gem.c.

Change-Id: Id8fa04cc88a21e04108ae21b18d5acc761ef4c6e
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:27:01 -07:00
Bruce Hoo
bf0d2209a0 disp: msm: dsi: add _NO_ to MIPI_DSI_* flags disabling features
Update names of DSI flags to follow upstream convention. Purpose of
the name change is to more clearly indicate what is not supported
when the flag is set.

Change-Id: Ifd62610c4dfebcbbccb0fb2046a7c453e39c9107
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:26:53 -07:00
Bruce Hoo
ddac29b52c disp: msm: Pass the full state to crtc plane and connector atomic functions
Pass full state to crtc, plane, and connector atomic functions and retrieve
drm_crtc/plane/connector_state within the atomic function. Additionally,
the plane atomic update function is used as an upstream hook as well as
locally called in the plane restore path. To ensure both paths are functional,
introduce a plane atomic update version which takes in drm_plane_state
keeping with the previous parameter expectations.

Change-Id: Ia295935dd81ea8680a347eba0929e209d93ae830
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:26:44 -07:00
Bruce Hoo
1ef7ff26d6 disp: msm: dp: pass drm_dp_aux to drm_dp_link_train* APIs
Pass additional parameter drm_dp_aux to drm_dp_link_train APIs
in order to use drm_dbg_* within those functions.

Change-Id: Icc111ecce78fbbac77eb044ce4200377d3616fc9
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:26:33 -07:00
Jeykumar Sankaran
095265339d disp: msm: sde: include of_common header for usage
Include of_common header file explicitly to use
of_fdt_get_ddrtype().

Change-Id: Idd814d6188d585b2d0ecd6935f3260a79d15401b
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:26:23 -07:00
Jeykumar Sankaran
3f072ce464 disp: msm: dsi: avoid using devm_pwm_put
API got deprecated in kernel 5.15. Remove the usage.

Change-Id: I10c4fdee1074fcf50ae4fe28124692dae7a31c7c
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:26:09 -07:00
Jeykumar Sankaran
425df29bb6 disp: msm: sde: avoid checking debugfs_create_bool return value
Adapt 5.15 kernel upstream change to return void for debugfs_create_bool.

Change-Id: I9f2ece04dddeba8f43d603fbb62517ea5fb48e7c
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:25:51 -07:00
Jeykumar Sankaran
0192a3616e disp: msm: sde: remove drm_irq header
Remove deprecated/unused header inclusion.

Change-Id: I0b0adc155b154c05f814c02cbff4945484896963
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:25:39 -07:00
Jeykumar Sankaran
83ddc159d0 disp: msm: remove stale ION references
After adapting dma buf api's these references and
paths are unusable. Clean it up.

Change-Id: Id6fa76945132e312e8bacf6e430633b0db9e48a3
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:24:53 -07:00
Lei Chen
8f074719a5 disp: msm: replace msm_smmu_set_attribute with qcom_iommu_enable_s1_translations
Domain attributes has been deprecated on 5.14 kernel, so replace
msm_smmu_set_attribute with qcom_iommu_enable_s1_translations.

Change-Id: I1bf2d5ee089a418eb73605327e82b2e26bd6bada
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:23:25 -07:00
Jeykumar Sankaran
6a3c793980 Revert "disp: avoid display techpack compilation for Kalama QMAA mode"
Reverting the temporary change merged to disable display dlkm compilation.

This reverts commit 87019ed83e.

Change-Id: If4e047aecf3b65e44fb506f084eeee3e65873650
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-10-15 17:22:57 -07:00
qctecmdr
3f2b2556f3 Merge "disp: msm: dp: remove benign warnings about missing properties" 2021-10-15 16:01:00 -07:00
Dhaval Patel
511c546a52 disp: msm: sde: disable vsync counter before tear check update
Disable vsync counter before single buffer tear check
update. It allows to trigger the resolution switch
frame as posted start frame.

Change-Id: I2726372fd0e6d14ab0f79e3e3b0731a074158682
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-10-15 13:59:43 -07:00
Sandeep Gangadharaiah
d3d3794b51 disp: msm: dp: destroy mst topology on unplug
On an MST unplug, the MST topology manager state needs to be cleared
so it can properly destroy the current topology. But since the mst
active state is cleared prematurely in the driver, this call is
skipped and on a subsequent plug-in, the topology manager ends up
using stale topology from previous configuration. Incorrect RAD 
values are used for sideband, causing them to fail.

This change fixes the order of operations, so the topology manager
state is properly updated on unplug. It also removes a duplicate
hpd notification to usermode.

Change-Id: Idcff17be113a361a0b58e54d85957f30d1d4e2d6
Signed-off-by: Sandeep Gangadharaiah <sandgang@codeaurora.org>
2021-10-15 10:02:01 -04:00
qctecmdr
69820d1ac4 Merge "disp: msm: sde: handle partial update transitions in rounded corner" 2021-10-15 06:14:11 -07:00
qctecmdr
e587119a88 Merge "disp: msm: sde: fix reclaim error handling" 2021-10-14 15:32:33 -07:00
qctecmdr
e967184207 Merge "disp: msm: dsi: change allocation to kvzalloc" 2021-10-13 20:40:23 -07:00
Alisha Thapaliya
00fb8baa9d Merge remote-tracking branch 'quic/display-kernel.lnx.5.10' into display-kernel.lnx.1.0
* quic/display-kernel.lnx.5.10:
  disp: msm: sde: disable vsync_in to update tear check
  disp: msm: dsi: flush workers during pre-release
  disp: msm: dsi: swap DSI timing engine programming and ROI cmd tx
  disp: msm: sde: reset dsc mux config in encoder disable
  disp: msm: sde: avoid dsc hw allocation switch for an active display
  disp: msm: dsi: add support for non 1/1 MND dividers

Change-Id: I69491902ce0bf6391303e407d06cc6a4cd3087a2
2021-10-13 15:51:58 -07:00
Dhaval Patel
25c3b955c6 disp: msm: move thread priority call from component bind
Move thread priority call to kernel worker thread because
component bind API may run from vendor_modeprobe process
context when all drivers probe succeed. Thread priority
update is not allowed from vendor_modeprobe process
context.

Change-Id: Iafac97ce02942d6a2134495232f3c395ba4a362f
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-10-13 15:00:40 -07:00
Shashank Babu Chinta Venkata
e13444d9ac disp: msm: dsi: avoid updating bitclk when dyn clk is disabled
Currently the bit clk rate is overridden by cached clock rate
even in dynamic clock disabled usecase where it is not configured.
Avoid this override by retaining calculated bit clock rate for respective
mode in such usecase.

Change-Id: Ib159219fd50ab977edb8332c83bc8b34aee2dc0f
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-10-13 14:08:44 -07:00
Abhijit Kulkarni
b17cb15861 disp: msm: sde: fix reclaim error handling
On reclaim error, mem handle is still valid and reclaim
should be retried on next commit. This change keeps the
mem_handle valid.

Change-Id: Ie3e0cc3d37c7f1f260a7655f48a6aadece65a1ca
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2021-10-12 18:07:57 -07:00
qctecmdr
b1e561d3f5 Merge "disp: msm: sde: disable vsync_in to update tear check" 2021-10-12 13:00:35 -07:00
Shashank Babu Chinta Venkata
b14335c311 disp: msm: dsi: change allocation to kvzalloc
Alter allocation method from kzalloc to kvzalloc since virtually
contiguous allocation should suffice requirement. This will avoid
unnecessary invocation of OOO handlers.

Change-Id: I8291ddae08f6427478cdd9b88d6148e02d7ab002
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-10-12 11:34:51 -07:00
Anjaneya Prasad Musunuri
95c0a9e681 disp: msm: sde: reset feature wrappers based on target capabilities
Reset feature wrappers of Rounded corner, Demura and SPR
based on display processing engine capabilities of target.

Change-Id: I0db1f23a1b8b81eb7867680930168e2c3a6999b9
Signed-off-by: Anjaneya Prasad Musunuri <aprasad@codeaurora.org>
2021-10-12 18:23:50 +05:30
qctecmdr
493cb4b048 Merge "disp: msm: dsi: flush workers during pre-release" 2021-10-11 13:32:47 -07:00
Yu Wu
1b6075d5c1 disp: msm: dsi: remove check for reset gpio config in ext bridge mode
When validating panel resource, no need to check reset gpio if using
ext bridge mode.

Change-Id: Id0df84b9e0d8b10f4dd6851d5b3ab31b220f8622
Signed-off-by: Yu Wu <zwy@codeaurora.org>
2021-10-10 22:58:58 -07:00
Mahadevan
7f7c4b8e20 disp: msm: sde: add rev checks for diwali target
Add required revision checks from display for
diwali target.

Change-Id: Ib165b1133eea1203de3b946b46cf39ee0ad05e47
Signed-off-by: Mahadevan <mahap@codeaurora.org>
2021-10-11 11:20:13 +05:30
qctecmdr
721fee5459 Merge "disp: msm: dsi: swap DSI timing engine programming and ROI cmd tx" 2021-10-08 14:35:59 -07:00
Dhaval Patel
daa4273e02 disp: msm: sde: disable vsync_in to update tear check
Commit b67da33a6307 ("trigger tx_wait if panel
resolution switch") increases the mode switch latency.
Alternatively, single buffer tear check registers can be
updated when vsync_in is disabled. It allows mode switch
frame trigger as posted start frame trigger.

Change-Id: I8068736b2ea01f6e4160e765fc39d7fc2a8590c9
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-10-08 13:29:45 -07:00
qctecmdr
11bda1ae79 Merge "disp: msm: dsi: add support for non 1/1 MND dividers" 2021-10-08 10:40:51 -07:00
qctecmdr
fba8cf7c57 Merge "disp: msm: sde: reset dsc mux config in encoder disable" 2021-10-07 21:23:56 -07:00
Jeykumar Sankaran
754552cfc4 Merge branch 'display-kernel.lnx.5.10' into display-kernel.lnx.1.0
* waipio_base:
  disp: msm: sde: add new support for digital dimming
  disp: msm: sde: trigger tx_wait if panel resolution switch
  disp: msm: reserve core clock rate during display disable
  disp: msm: dsi: reorder DSI registration
  disp: msm: sde: account for pref lm when exposing avail resources
  disp: msm: reset lm blend stages for missing vsync
  disp: msm: dp: set drm mode clock same as clock value from EDID
  disp: msm: sde: set top left coordinates for noise and attenuation layers
  disp: msm: dp: disable ASSR before link training
  disp: msm: dp: retry the request to set USB mode during bootup
  disp: msm: sde: clear intf mux select on slave encoders
  disp: msm: retry dma buf attach on msm_gem_delayed_import error
  disp: msm: dp: check for aux abort in sim mode
  disp: msm: dsi: add qsync min fps val in dsi display mode priv info
  disp: msm: dp: read DPCD registers using debugfs
  disp: msm: dsi: mark signature for stub appropriately
  disp: msm: dp: check for DP stream during audio teardown
  display: msm: sde: reduce dbg mem usage for tui vm

Change-Id: I285e4557ad258f17fc2948b478198b9b81c18276
2021-10-07 16:19:39 -07:00
Steve Cohen
bd01b504a5 disp: msm: dsi: flush workers during pre-release
Wait for asynchronous DSI DCS command transfers to complete
before disabling DSI interrupts during pre-release. This is
required to resolve a race condition where dsi worker threads
can trigger HW access while a VM lend/release is occurring on
the CRTC commit thread.

Change-Id: Ia1f153a2cd008c617dba274473e7678b01a38d29
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2021-10-07 17:24:57 -04:00
Satya Rama Aditya Pinapala
bcd04f60da disp: msm: dsi: swap DSI timing engine programming and ROI cmd tx
The ROI commands are sent with an asynchronous command transfer wait.
If the queued CMD DMA wait for done gets scheduled before the DSI
controller timing engine programming, the later will be blocked waiting
on the ctrl_lock, which was acquired by the queued DMA wait for done work.
This effectively negates any advantage of having the async wait flag for
ROI commands blocking the main commit thread.

The change swaps this order to ensure that such a scenario never happens.

Change-Id: I8a971c0c7733eea3d435b637ca41b34fa60adfc1
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-10-07 10:58:32 -07:00
qctecmdr
c460ffbd27 Merge "disp: msm: sde: trigger tx_wait if panel resolution switch" 2021-10-07 01:25:29 -07:00