Commit Graph

216 Commits

Author SHA1 Message Date
qctecmdr
394040535c Merge "disp: msm: dsi: skip panel read for simulation panels" 2021-05-16 21:28:57 -07:00
qctecmdr
ceba43ca89 Merge "disp: msm: dsi: avoid te check for simulator panel" 2021-05-16 17:35:53 -07:00
Satya Rama Aditya Pinapala
d7bcdcd91a disp: msm: dsi: add more info to display bind logs
Change adds more panel and display information during the DSI
display bind.

Change-Id: I3571244501149a95ea4f6ab0e496112199f7bbde
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-05-13 00:12:27 -07:00
Satya Rama Aditya Pinapala
dee1d7802f disp: msm: dsi: skip panel read for simulation panels
For simulation panels read commands need to be avoided. The change
also adds and substitues sim panel check with a new is_sim_panel API.

Change-Id: Idafdad8a852cad87d97bbc64e9c7cb82460e25b7
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-05-11 15:41:49 -07:00
Shashank Babu Chinta Venkata
30be58de15 disp: msm: dsi: avoid te check for simulator panel
Avoid registering for te interrupts to check te status
for ESD detection during commit failure path.

Change-Id: I447473f7c32a396f72d838c68287bed0eda64b20
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-05-10 12:31:14 -07:00
qctecmdr
6614e279eb Merge "disp: msm: dsi: reduce log level in demura parsing" 2021-05-01 23:40:38 -07:00
qctecmdr
50dccee98e Merge "disp: msm: dsi: add full mode information to debugFS node" 2021-05-01 17:06:42 -07:00
Santosh Kumar Aenugu
e96c1e444e disp: msm: dsi: reduce log level in demura parsing
Currently, the demura parsing has info logs, this change reduces
the log level to debug for all the parsing logs.

Change-Id: Icd9e73a7788cb01e09068e4d0957bc1e11a329da
Signed-off-by: Santosh Kumar Aenugu <santoshkumar@codeaurora.org>
2021-04-28 14:08:09 -07:00
Amine Najahi
73479659e0 disp: msm: dsi: add full mode information to debugFS node
Add full mode information to dump panel info debugFS
node to allow for additional verification.

Change-Id: Ie56f3b44a8b35075d78575def1469b12bed60252
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-27 15:18:01 -04:00
Santosh Kumar Aenugu
323f1b54d3 disp: msm: dsi: handle gpios for sim panels
For simulation panels, GPIOS are not needed for panel bootup.
This change handles GPIO parsing, toggle sequences in
simulation panels.

Change-Id: I0a3f03d1958ffe9079a7d9fef3f412e2445b0b9b
Signed-off-by: Santosh Kumar Aenugu <santoshkumar@codeaurora.org>
2021-04-26 13:37:05 -07:00
qctecmdr
a417ffc4cc Merge "disp: msm: dsi: remove porches value check from mode matching for RFI" 2021-04-23 09:21:58 -07:00
qctecmdr
b510da17bd Merge "disp: msm: dsi: force VRR on RFI default value setting" 2021-04-23 09:21:58 -07:00
Amine Najahi
d594991e69 disp: msm: dsi: force VRR on RFI default value setting
Currently on video mode panel, when the RFI bit clock
rate is set back to the default rate, the driver is not
detecting that a VRR operation is necessary due to
unchanged porches value.

This change is forcing a VRR update on video mode panel
whenever the RFI bit clock rate is changed.

Change-Id: I16520b6ca1909f878bff1bb97472b15fe2a3d13b
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-20 17:39:48 -04:00
Amine Najahi
210edd6ba5 disp: msm: dsi: remove porches value check from mode matching for RFI
Currently, on a video mode panel when a mode switch occurs after the RFI
bit clock rate has been changed, the driver fails to find the new mode
in the list of panel modes due to different porches value between
the adjusted mode and the default panel mode.

This change removes the front and back porch value check from mode
matching function when dynamic bit clock and maintain constant FPS
features are enabled.

Change-Id: If267a4f732fea2c7d84c8bb3d5650f3e93722ec4
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-20 11:13:23 -04:00
Satya Rama Aditya Pinapala
3f8ac6983f disp: msm: dsi: add check for DSI resources during display probe
The change adds a check for DSI controller and PHY resources during the
DSI display probe. The validation now only checks for the availabilty
of the resources without increasing the refcount of the controller or
PHY till an exact match is found after the device tree is parsed.

Change-Id: I96a5022a8ab5f55271e0df36675037b597e1ec85
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-04-16 09:19:05 -07:00
Steve Cohen
e5fa459062 disp: msm: restrict AVR_STEP based on panel requirement
Some panels require a fixed step rate for a particular mode.
This change allows DSI panels to specify a single supported
step rate for each nominal fps rate which SDE will enforce
during atomic check of AVR parameters.

Change-Id: I049415449bc88ccd396fced16d4534251eac3a06
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2021-04-04 18:45:40 -04:00
qctecmdr
2f70c01c06 Merge "disp: msm: dsi: expand matching requirements to find DSI mode match" 2021-04-03 02:35:42 -07:00
Linux Build Service Account
39e9184452 Merge "disp: msm: dsi: fix DSI mode index parsing" into display-kernel.lnx.5.10 2021-04-02 10:35:25 -07:00
qctecmdr
6aa0fabaf3 Merge "disp: msm: dsi: change rule to initialize display in firmware" 2021-04-01 22:56:00 -07:00
qctecmdr
de293ac6a9 Merge "disp: msm: sde: do on demand registering for te irq" 2021-04-01 20:45:27 -07:00
Satya Rama Aditya Pinapala
95b04d09fe disp: msm: dsi: fix DSI mode index parsing
The change fixes DSI mode index parsing required for setting
preferred node.

Change-Id: I6f91543843e697491c68d89b22103b2ac281e936
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-04-01 13:13:22 -07:00
Samantha Tran
ebedf4b7f4 disp: msm: dsi: expand matching requirements to find DSI mode match
This change expands on the checks comparing different dsi modes.
Previously, only h and v active and refresh rate were checked to
decide if a matching mode is found. Now the check will include
all h and v components in dsi_mode_info.

Change-Id: I6a4ca3456138c38615fbd5c50dfd9658cc3a2119
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-04-01 09:21:59 -07:00
Rajeev Nandan
329b8bc7ee disp: msm: dsi: change rule to initialize display in firmware
Request for display in firmware only if no display enabled form
the UEFI.

In the targets supporting dual DSI display having both displays
DT nodes part of the connector list, if only one display is
enabled from the UEFI, then the driver requests for display
in firmware for the second display. Getting the display panel node
from firmware is time taking process, and it can take up to
ten seconds. This causes a delay in adding the component for the second
display, resulting in a delay in bind calls for components of the
msm drm driver.

Change-Id: Ic0aa5ca890fc874d38d3e7eef745f2942e12f9bc
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
2021-03-31 17:41:05 -07:00
Rajeev Nandan
bb66bea78f disp: msm: dsi: fix boot display name parsing
The boot_disp_en flag for secondary display is getting enabled
all the time, even if its boot_param string is empty.
Correct the boot display name parsing from boot_param string
to fix this issue.

Change-Id: Ica1465611f592b22518061987571919838914891
Signed-off-by: Rajeev Nandan <rajeevny@codeaurora.org>
2021-03-31 15:02:47 -07:00
Lipsa Rout
46fb68a8f1 disp: msm: dsi: Update ctrl & phy refcounts for defer probe
ctrl and phy refcounts get incremented even on deferring probe
for display panels which need backlight through wled.As a
result, while probing, it considers that the device is already
in use. This change decrements the ctrl and phy refcounts for
defer probe.

Change-Id: Ica1f5712dd28ed4c635946f2ac89d5f4f074a4c5
Signed-off-by: Lipsa Rout <lrout@codeaurora.org>
2021-03-31 15:02:35 -07:00
Veera Sundaram Sankaran
04fea2ede3 disp: msm: dsi: avoid debugfs HW access based on HW ownership
Add VM ownership checks before accessing the HW through the debugfs
path in dsi display/ctrl modules to avoid illegal access.

Change-Id: Ia6e2ab0ef60d0f11e5945a63885d939db2ef78b0
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2021-03-31 14:58:34 -07:00
Shashank Babu Chinta Venkata
b8223cc869 disp: msm: sde: do on demand registering for te irq
Register and unregister te irq only during a ping
pong timeout to check the health of panel.

Change-Id: I38d7f178b55d252840aad6fae08b5f34296d75ab
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-03-31 14:04:07 -07:00
qctecmdr
a40c87b676 Merge "disp: msm: sde: enable tui flag for waipio hw catalog" 2021-03-31 13:05:06 -07:00
Satya Rama Aditya Pinapala
2fec1685d0 disp: msm: dsi: add indexing for panel timing nodes
The order of the panel timing nodes specified in the device tree is
not guaranteed to be the same while being parsed in the driver. This
results in unintended modes being set as preferred timing mode. The change
introduces cell-index property, so that the timing modes can be
accurately indexed and parsed.

Change-Id: I8ccd4d5a15643bfe72bc8be084f5e91fac26feb4
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-26 16:04:48 -07:00
qctecmdr
3090ffd63f Merge "disp: msm: dsi: update DSI PHY configuration to support splitlink" 2021-03-25 08:49:41 -07:00
Vara Reddy
fcb3849c69 disp: msm: dsi: update DSI PHY configuration to support splitlink
Change updates DSI PHY programming sequence for splitlink configuration.

Change-Id: I708cf83717c6f640c918d41cc122794a10f979ba
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2021-03-24 23:15:52 -07:00
Vara Reddy
13b88147a1 disp: msm: dsi: add support for splitlink sublinks video data swap
Change adds support for enabling splitlink sublinks video data swap.

Change-Id: I731b85a5e8fe8638005433819957dd0658f72963
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2021-03-24 23:14:53 -07:00
qctecmdr
b2c440bffe Merge "disp: msm: dsi: use single mode for RFI feature" 2021-03-24 14:16:57 -07:00
qctecmdr
ee2a505703 Merge "disp: msm: dsi: defer clk setting when doing const_fps RFI" 2021-03-24 14:16:57 -07:00
Jeykumar Sankaran
8b7ed7dc0c disp: msm: dsi: validate display probe dependencies early
DSI display configuration can be either DT or firmware file driven.
When probed with firmware path, asynchronous firmware file read
callback function will be too late to check for dependencies and
defer the probe when the dependencies are not met.

Move all the dependency checks before the firmware file read request.
Since the panel data will not be available before the DT/firmware read,
this change limits the check to the dsi display layer.

Change-Id: Ib26ed7839389027c2fe2dc15f70a572df3990ed9
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-03-24 12:59:51 -07:00
Amine Najahi
c5f2bd7401 disp: msm: sde: add multi-mode RFI support
Currently, RFI feature only supports panel that contains
a single timing node. This limits the feature availability
for panel with multiple modes or with DFPS support.

This change adds support for RFI on panels that contains
multiple timing nodes.

Change-Id: I3a7aadf7b6da3518350b2eb815602b13b5c259f5
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-03-24 06:32:45 -07:00
Amine Najahi
d4def5bd8c disp: msm: sde: add new interface for RFI feature
Add a new connector range property and a new entry to the panel
capability blob to publish the list of supported RFI frequencies.
In addition, add the required functions to set, validate and update
DSI bit clock rate value to trigger an internal seamless mode switch
and reconfigure DSI clock and PLL.

Change-Id: I7d19cc369f8c5528709f2f20a51ef02180ebdea4
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-03-24 06:32:17 -07:00
Yuan Zhao
484387e860 disp: msm: dsi: defer clk setting when doing const_fps RFI
When doing const fps RFI, dynamic refresh clock was done
in the next frame kick off, so as the orginal RFI work flow,
the clock setting also should be done here.

Change-Id: Ic3e6a35dc7264df028f5d848ac6f1eea04a95126
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-03-22 19:15:28 -07:00
Jeykumar Sankaran
9956819d55 Revert "disp: msm: dsi: reorder resource validation in probe"
This reverts commit 23734fc295.

Reverting this change as it does not address all the below uses cases for Waipio
- Supporting PROBE deferral based on dsi ctrl availability
- Dual DSI path with optional single DSI node
- Firmware DT blob parsing for single / dual dsi panels

Change-Id: Ifc747befadd85eb76995b6cb1f72407fa5dccdbb
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-03-22 10:47:25 -07:00
Gopikrishnaiah Anandan
39ed53d660 disp: msm: dsi: notify panel id during callback registration
Clients of dsi driver can register to be notified of panel id
information. Dsi is probed early during the device boot-up. If the panel
id is available with dsi driver none of the clients have registered
that early. Once clients probe and they register with the dsi driver
panel id is not passed onto clients until power on of the dsi. Change
adds support to notify the dsi clients during registration if panel id
is valid.

Change-Id: Ic475060cbec5f5b645aed865939fffe66aef071b
2021-03-17 11:22:08 -07:00
Christopher Braga
d2511cbe2f disp: msm: dsi: handle invalid and dummy panel IDs from DTSI
For Demura continuous splash hand-off, the DTB must already have
a definition for a demura panel ID. This is necessary
as ABL currently only updates this node and will not add it in
if missing.

Introduce special handling to identify a panel ID of 0 as a dummy
node, and set all invalid cases to the panel id ~0x0.

Change-Id: I70315c1b32cce9bcd2f6142515f2355a489d470b
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-03-17 11:22:08 -07:00
Christopher Braga
c8f9e73f0e disp: msm: dsi: move demura panel ID fetching to DTSI
Previous design had the demura panel ID passed in on the Linux kernel
command line. Update the DSI driver to read this information from the
DTSI instead.

Change-Id: I7697bb34a313f1837b80ba5ff78e720e8131a819
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-03-17 11:22:07 -07:00
qctecmdr
2d9a52fe5c Merge "disp: msm: extend the maximum value of backlight scale" 2021-03-15 20:52:16 -07:00
qctecmdr
0d0a538bf6 Merge "disp: msm: dsi: parse PLL dfps data only if dynamic clock is enabled" 2021-03-10 06:25:39 -08:00
qctecmdr
685a464505 Merge "disp: msm: add check for null pointer dereferencing" 2021-03-10 02:49:06 -08:00
Satya Rama Aditya Pinapala
18d245cad8 disp: msm: dsi: parse PLL dfps data only if dynamic clock is enabled
PLL codes from devicetree are only required if dynamic clock is enabled
for video mode panels. This change ensures that unnecessary error logs are
not seen for all other panels, by parsing the data only if the panel property
is set.

Change-Id: I206520aab65b7a5613909c8ff527e88303533617
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-09 11:42:05 -08:00
Satya Rama Aditya Pinapala
1b2b7a6c93 disp: msm: dsi: allocate DSI command buffer during bind
The DMA buffer allocation for DSI happens during the first
command transfer. This change moves this allocation to happen during
bind.

Change-Id: I7969a019a8b84282e8a153f5393c9a3de5a28043
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-08 18:03:37 -08:00
Samantha Tran
e8cbb8822b disp: msm: add check for null pointer dereferencing
Add check for null pointers before accessing.

Change-Id: I33deb1e931098c246326a01e743a2db760320471
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-03-03 09:12:19 -08:00
Xu Yang
34c65a3106 disp: msm: extend the maximum value of backlight scale
The maximum value of backlight scaling property is enlarged
from 65535 to U32_MAX. Change supports DRE feature to
increase backlight level through backlight scaling property.

Change-Id: Ibe929308faf8c6f94bacbec7f58cc4ffe8133a85
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
2021-02-24 15:11:43 +08:00
Amine Najahi
50de265951 disp: msm: dsi: use single mode for RFI feature
Currently, a different dsi_display_mode is created for
each combination of RFI frequency, but only one of
those modes is reported to the user. Hence,
it is not necessary to create multiple RFI modes anymore.

This change removes code to inflate the list of modes
by the number of RFI frequencies, removes pclk from
the mode name as it will change dynamically.

Change-Id: I0714de5e53f46d9f142da1f4562f65793de38e54
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-02-17 09:39:08 -05:00