Commit Graph

43 Commits

Author SHA1 Message Date
Arian
1b0797db27
techpack: display: Refactor doze modes
* Add support for low and high brightness lp modes
  and toggle between them at the brightness
  threshold of 100.
* Handle nolp based on mi,aod-nolp-command-enabled

Change-Id: Ib915ab3d47e6a5b0cd45397a3afac2c08aa31784
2024-12-15 14:13:04 +01:00
Arian
efcde3edaf
techpack: display: Notify on fps change events
Change-Id: Idea8ae6ae4a2edd02188bb78140585b61a99bd9f
2024-12-15 14:13:03 +01:00
Arian
4f09bc86cc
techpack: display: Add dynamic_fps node
Change-Id: I3caa088d98511e472f6264ed69fd3df2ad35f433
2024-12-15 14:13:02 +01:00
Giovanni Ricca
62546d50c0
techpack: display: Change max QP values for selected panel
* From redwood-s-oss

Change-Id: Iab6f435f16ec2234370b89ef3d589ff9bc027daf
2024-12-15 14:13:01 +01:00
Arian
fab6629074
techpack: display: Read mi dsc panel id
Change-Id: I19de530a4e37eb32137fddb5877162e0b6882e9b
2024-12-15 14:13:00 +01:00
Cosmin Tanislav
9e43d7da4c
techpack: display: protect setting fod doze status by allow_bl_update
In the current implementation the doze status command might set the backlight
of the panel before receiving a frame from the driver during the first commit.
There is chance for garbage content to be shown onto the panel.
This change imposes a condition to delay the fod hbm command until the
first frame is received from the HW.
2024-12-15 14:13:00 +01:00
Cosmin Tanislav
86b705022c
techpack: display: protect setting fod hbm status by allow_bl_update
In the current implementation the fod hbm command might set the backlight
of the panel before receiving a frame from the driver during the first commit.
There is chance for garbage content to be shown onto the panel.
This change imposes a condition to delay the fod hbm command until the
first frame is received from the HW.
2024-12-15 14:12:59 +01:00
Adrian Salido
e8daf4fdc2
drm/msm: fix brightness level mapping
The current brightness level mapping does not correctly map the
brightness level range from user space to the range supported by the
panel.

For example if the max user brightness reported is 4095, and panel
backlight range is 0-255. Then user is expected to be able to set
brightness in range from 0-4095, but current logic truncates at
bl-max (255). Moreover it doesn't take into account bl-min.

Fix logic such that the brightness range set by user correctly scales to
the backlight level from panel.

Bug: 139263611
Change-Id: Ic70909af63fb5b66ebc1434477f2fc41a785ce1f
Signed-off-by: Adrian Salido <salidoa@google.com>
2024-12-15 14:12:58 +01:00
Cosmin Tanislav
b310882327
techpack: display: move backlight level unsetting to panel
Change-Id: I8ea973550cbdda1f3e4358ef1e48f5b471305b11
2024-12-15 14:12:57 +01:00
Cosmin Tanislav
2f144243f1
techpack: display: expose requesting fod hbm for primary display
Change-Id: I4900293fe44df9edc09e7e1948f8a7de1c3d6197
2024-12-15 14:12:56 +01:00
Cosmin Tanislav
5f27851f22
techpack: display: move hbm mode request into separate function 2024-12-15 14:12:55 +01:00
Cosmin Tanislav
6b89c5b2ab
techpack: display: skip sending doze command when fod hbm enabled 2024-12-15 14:12:54 +01:00
Cosmin Tanislav
2bfa0ef8e8
techpack: display: implement fod hbm mode
Change-Id: I5e7061386243b21a6365634b3aff7ea73f5c08f1
2024-12-15 14:12:54 +01:00
Cosmin Tanislav
4ee3ac9f50
techpack: display: implement doze mode 2024-12-15 14:12:53 +01:00
Cosmin Tanislav
e2d09436e5
techpack: display: track display selection type 2024-12-15 14:12:52 +01:00
Cosmin Tanislav
a67291f46d
techpack: display: track real backlight value 2024-12-15 14:12:51 +01:00
Cosmin Tanislav
f218b912e6
techpack: display: add mi display notifier
Change-Id: I50670448c6a865744b2c003188500560666bb4e1
2024-12-15 14:12:50 +01:00
Cosmin Tanislav
8bc0ed6f0e
techpack: display: implement mi_get_disp_id 2024-12-15 14:12:49 +01:00
Cosmin Tanislav
8428f82b51
techpack: display: msm: further increase delay times while waiting to turn off rscc clocks 2024-12-15 14:12:48 +01:00
Cosmin Tanislav
f9cd7caa92
techpack: display: modify lp11 handling 2024-12-15 14:12:48 +01:00
Cosmin Tanislav
d21255f0b2
techpack: display: adjust dphy registers based on clock strength
Change-Id: I38c1d1b174b591bb743897657dd3e76760f2e1f3
2024-12-15 14:12:47 +01:00
Giovanni Ricca
c8668e49a8
Revert "disp: msm: dp: add backlight for edp"
This reverts commit 228e520fb4.

Change-Id: I9efcac50fd1c27d2f3a6ee1a08ad941e65421ec8
2024-12-15 14:12:46 +01:00
Giovanni Ricca
88a2c114ea
Revert "disp: msm: dp: disable pluggable eDP display backlight config"
This reverts commit bd47e3e63b.

Change-Id: I45fc13b3195d8d2b87a00e632e78c79a33c2c31c
2024-12-15 14:12:45 +01:00
Giovanni Ricca
041ed5882e
Revert "disp: msm: dp: add support of hotplug for eDP interface."
This reverts commit 0f45eca383.

Change-Id: Ib5b13045e439f502db75e9d803362400fe6fe360
2024-12-15 14:12:44 +01:00
Michael Bestas
73f2cc1d2e
disp: msm: sde: Adjust max display check
sde_splash_data struct can fit MAX_DSI_DISPLAYS displays and >=
comparison here prevents us from storing the last display when
num_displays == MAX_DSI_DISPLAYS.

Change-Id: I56e62f77a56cdd2d5086e46762614c941ddacd6a
2024-06-23 19:54:35 +03:00
Michael Bestas
794bdf30ec
Merge tag 'LA.UM.9.14.1.r1-14100-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.1.r1-14100-QCM6490.QSSI14.0"

* tag 'LA.UM.9.14.1.r1-14100-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: dp: limit max width supported
  disp: msm: dp: add support of hotplug for eDP interface.
  disp: msm: sde: address array index out-of-bound issue
  disp: msm: dp: disable pluggable eDP display backlight config

Change-Id: I813b60f59671b80b32dfd6d36db3589860acd7fb
2024-06-22 17:52:34 +03:00
Samantha Tran
f7386b4ad7
disp: msm: retry dma buf attach on msm_gem_delayed_import error
In the event when msm_gem_delayed_import returns an error, reset
the obj_dirty property to true to allow the buffer to detach and
attach again.

Change-Id: Ib8da8f237c5a4ab696675cbcf66f1a3dfae02639
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
2024-06-12 15:24:26 +00:00
Michael Bestas
f49eef3f77
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: sde: program read pointer after configuring vsync_counter_en

Change-Id: I4d7e2a8c137e8ac6c608e3cc37f5ac3758211480
2024-03-23 17:42:23 +02:00
Michael Bestas
7f04c28240
Merge tag 'LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-23800-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: add support for hibernation

Change-Id: Ieefc35e48b8d7068279c592918329e43b3d3959e
2024-02-09 00:46:25 +02:00
Michael Bestas
5fba8adc73
Merge tag 'LA.UM.9.14.1.r1-12400-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.1.r1-12400-QCM6490.QSSI14.0"

* tag 'LA.UM.9.14.1.r1-12400-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: dp: restore brightness on resume for eDP
  disp: msm: dp: restore brightness on resume for eDP
  disp: msm: dsi: add a new DT property to support ext bridge hpd
  disp: msm: dsi: correct external dsi bridge interface number
  disp: msm: dsi: avoid NULL pointer
  disp: msm: dp: skip aux switch configuration

Change-Id: Id266c0e49cf8fbe0e48972aeaf27b3dd6212d14e
2024-01-04 12:08:37 +02:00
Michael Bestas
8b685a05b5
Merge tag 'LA.UM.9.14.r1-23300-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-23300-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-23300-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: sde: skip msm_lastclose if display is stuck in splash
  disp: msm: cancel all delayed_works before triggering msm_lastclose
  disp: msm: sde: cancel delayed work items during TUI transition

Change-Id: I8dbdda8ada31d7d58a5aceaf7e72d6955cee2ec2
2023-12-11 20:41:53 +02:00
Michael Bestas
b0ccde81e4
Merge tag 'LA.UM.9.14.r1-23100-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-23100-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-23100-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: send power_on event in dual display composer kill scenario

Change-Id: I724d0c184dcb34d831bc6f4b1e9d33ed7a03dbca
2023-11-09 14:35:05 +02:00
Albert Tang
17aff28713 techpack: display: Define dp_connector_set_backlight inline
CONFIG_DRM_MSM_DP is disabled on holi, making this function undefined
and breaking compilation. Like all other inline functions, make this one
return 0.

Change-Id: I1ae0eeab563c3a67fb35d92e8ad2c391458778e6
2023-10-25 11:03:38 +00:00
LuK1337
436708b8e5 disp: msm: sde: Fix strict-prototypes error
Change-Id: I2c6d8f58782ee52225916bf10b572bb08054f443
2023-10-21 12:59:37 +02:00
Michael Bestas
0124532c0e
Merge tag 'LA.UM.9.14.1.r1-10900-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.1.r1-10900-QCM6490.QSSI14.0"

* tag 'LA.UM.9.14.1.r1-10900-QCM6490.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: dp: fix compilation errors
  Revert "disp: msm: dp: skip hpd config"
  disp: msm: dp: wait for resources init in case of cont splash
  disp: msm: sde: Remove pm vote at time of handoff
  disp: msm: eDP continuous splash implementation
  disp: msm: dp: add backlight for edp
  disp: msm: dp: skip hpd config
  disp: msm: edp continuous splash implementation
  disp: msm: dp: add eDP panel notifier support
  disp: msm: dp: add eDP panel notifier support
  disp: msm: dp: add pinctrl state for backlight pwm
  drm/msm/dp: add support to multiple dp instances
  disp: msm: dp: move fsa init from dp probe to dp hotplug
  disp: msm: sde: update sde interrupt map
  disp: msm: dp: update pll and catalog sequence
  disp: msm: dp: Convert clock operations to byte2 ops
  disp: msm: dp: Masking interrupt for eDP
  disp: msm: dp: add support for eDP display
  disp: msm: dp: add eDP support as a primary display
  disp: msm: dp: Support DP display as primary
  disp: msm: dp: add pixel base offset support in device tree
  disp: msm: dp: add 7nm eDP PHY support
  disp: msm: dp: add files for 7nm eDP PHY

Change-Id: I614c52764b1479b90bd5a603828b5dff7e6c83db
2023-08-29 04:01:21 +03:00
Manaf Meethalavalappu Pallikunhi
7d3114211e
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>
2023-08-15 17:49:42 +00:00
Michael Bestas
27fc8da46b
Merge tag 'LA.UM.9.14.r1-21200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-21200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-21200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: sde: drop suspend state if commit is skipped
  disp: msm: sde: cancel delayed idle_notify_work beginning of every commit
  disp: msm: dsi: add missing dsi ctrl mutex lock in host timing update
  disp: rsc: update mode-1 threshold config to 1 hz
  disp: msm: dsi: Handle absence of dsi select clocks in device-tree

Change-Id: I7740381b7589295c83d5fb18fbba4def0fbce8ce
2023-03-19 17:13:03 +02:00
Michael Bestas
d877019ecf
Merge tag 'LA.UM.9.14.r1-21000-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-21000-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-21000-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: dsi: clear the panel esd_recovery_pending in power on commit
  drm: msm: remove YUV format setting

Change-Id: I35059b0dc99d1d3e2c9d1bff1fe6b121d00b173b
2022-12-17 02:56:29 +02:00
Michael Bestas
99fc40776e
Merge tag 'LA.UM.9.14.r1-20700-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-20700-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-20700-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: sde: fix min ib vote in mnoc and ebi_ib path
  disp: msm: dsi: add support for dsi config

Change-Id: Ie88226bfc57764c185a1e013e9ed6e2a6819a419
2022-11-09 19:42:47 +02:00
Michael Bestas
aa81b48ce0
Merge tag 'LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android12-5.4-lahaina
"LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-20500.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: add msm framebuffer emulation
  makefile: add gki config support for display techpack for kona
  Revert "disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch"
  disp: msm: dsi: Add DSI PLL support for 7nm_v4_1 arch
  disp: msm: sde: disable dsi ctrl regulator during deepsleep
  disp: msm: sde: update uidle ctl register only for master encoder
  disp: msm: avoid minidump region addition for mdss register dumps
  disp: msm: add skip panel power off dt property

Change-Id: I1ade9627b3ade718cb923b0ca23031fc9e639808
2022-10-02 01:49:51 +03:00
Michael Bestas
df22692bb1
Merge tag 'LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android12-5.4-lahaina
"LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-19600.01-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: avoid minidump region addition for mdss register dumps
  disp: msm: dsi: avoid setting ulp load to disable load
  disp: msm: dsi: handle read cmd tx failure from dsi host transfer
  disp: msm: sde: unset and set clk parents during pm_suspend
  disp: msm: dsi: handle panel detection after a pp done timeout
  disp: msm: dsi: Fix DMA window scheduling programming

Change-Id: Iebd52dc842fa23e119b15d3d4f1df73f311c48b3
2022-05-24 09:17:17 +03:00
Michael Bestas
e4409f8201
Merge tag 'LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android12-5.4-lahaina
"LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-19500-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: use vzalloc for large allocations
  disp: msm: sde: Fix data width calculation when widebus is enabled
  drm: msm: call rsc hw_init after hibernation
  disp: msm: sde: remove redundant backlight update
  disp: msm: sde: take min ib votes from perf config
  disp: msm: sde: validate plane mode and gem obj flags
  disp: msm: dsi: fix compressed RGB101010 support
  disp: msm: sde: set parent to xo for link clks while enterting suspend
  disp: msm: sde: while timing engine enabling poll for active region
  disp: msm: sde: fix null pointer dereference
  disp: msm: sde: set NOAUTOEN for sde irq to match with power event
  disp: msm: sde: always set CTL_x_UIDLE_ACTIVE register to "1"
  disp: msm: sde: move sde power event call into kms post init
  disp: msm: sde: fix RM poll timeouts during PM suspend/resume usecase
  disp: msm: sde: remove clearing cur_master in encoder enable function
  disp: msm: sde: cancel delayed_off_work before reinitialization
  disp: msm: sde: update TEAR_SYNC_WRCOUNT register before vsync counter
  disp: msm: sde: disable vsync counter before tear check update
  disp: msm: sde: disable vsync_in to update tear check
  disp: msm: sde: avoid tx wait during DMS for targets with dsc rev2
  disp: msm: sde: avoid irq enable/disable during modeset
  disp: msm: fix rsc static wakeup time calculation
  disp: msm: dsi: allocate DSI command buffer during bind
  disp: msm: sde: update uidle_db_updates in both enable/disable cases
  disp: msm: dsi: add API to handle PHY programming during 0p9 collapse
  disp: msm: sde: modify format specifier
  disp: msm: dsi: Clear slave dma status only for broadcast command
  disp: msm: sde: avoid CWB in power on commit
  disp: msm: sde: avoid sde irq enable or disable when sde irq not active
  disp: msm: dsi: remove early return from dma_cmd_wait_for_done
  disp: msm: sde: protect file private structure with mutex lock
  disp: msm: add support for twm entry
  disp: msm: sde: add twm mode sysfs mode
  disp: msm: sde: add sysfs node to give panel power state
  disp: msm: dsi: Support uncompressed rgb101010 format
  disp: msm: sde: avoid rsvp_nxt allocation for suspend commit
  disp: rotator: remove ubwc format support for rotator
  disp: msm: sde: add changes to allocate compatible cwb mixers in RM
  disp: msm: sde: add evt log in rsc timer calculation
  msm: disp: rotator: add ROT macros for logs
  disp: msm: dp: replace pr_err with DP_ERR
  disp: msm: dsi: Do not call devm_clk_put() with invalid clk
  disp: msm: sde: disable CWB crop after cwb session is ended
  disp: rotator: remove warning log from spin_lock
  disp: msm: sde: protect file private structure with mutex lock
  disp: msm: dsi: add support for ultra low power state
  disp: msm: sde: switch rsc state before CTL_PREPARE in dual display
  disp: msm: sde: add checks to avoid null pointer dereference
  drm: msm: dsi: Update DSI parser util to skip disabled child nodes
  disp: msm: qpic: fix kw issues in QPIC display driver
  disp: msm: dsi: Fix deadlock issue in debugfs_esd_trigger_check function

Change-Id: I4acda3b051e4306f0c1f1a99c9aa61dfeb99ef90
2022-05-19 00:40:44 +03:00
Michael Bestas
23b65c3a24
Add 'techpack/display/' from tag 'LA.UM.9.14.r1-18300-LAHAINA.0'
git-subtree-dir: techpack/display
git-subtree-mainline: 2d46776923
git-subtree-split: 64f31403b4
Change-Id: I7f4c42a3ba6b11a8db861cdd171a52d8f58f2e06
2022-05-19 00:04:54 +03:00