Commit Graph

2382 Commits

Author SHA1 Message Date
qctecmdr
5273a02a6d Merge "disp: msm: dp: reset edid segment and address when reading port edid" 2021-04-28 11:10:00 -07:00
Linux Build Service Account
a8b8da6614 Merge "disp: msm: sde: defer reset of topology property in disable path" into display-kernel.lnx.5.10 2021-04-28 10:41:21 -07:00
Linux Build Service Account
07f20525c7 Merge "disp: msm: sde: check for valid pointer before accessing" into display-kernel.lnx.5.10 2021-04-28 10:41:20 -07:00
qctecmdr
17c64a201c Merge "disp: msm: sde: fix ubwc static config for rect_1" 2021-04-27 16:24:18 -07:00
qctecmdr
e7ead5ab59 Merge "disp: msm: sde: remove idle time from Qsync threshold calculation" 2021-04-27 16:24:18 -07:00
Samantha Tran
978edfa200 disp: msm: sde: check for valid pointer before accessing
This change initializes a variable as null to account for cases
when it is not set. This change also ensures proper pointer
checks before attempting to access function pointer.

Change-Id: I2f06a0877293668e80bee9d9b82d412476dc5184
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-04-27 16:07:29 -07:00
Prabhanjan Kandula
f4923f071d disp: msm: sde: defer reset of topology property in disable path
Resetting connector topology property in atomic check phase can cause
issues in concurrency scenario of idle-pc restore for encoder disable
commit. Defer resetting topology property for disable case until encoder
disable actually happens.

Change-Id: Ib53fb5e63df0ab6a332e981b182771b87ef77838
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-04-27 16:06:28 -07:00
Sudarsan Ramesh
896cf4fd01 disp: msm: dp: reset edid segment and address when reading port edid
Currently, edid read failures are seen when transitioning from a
resolution with larger edid size to a resolution with smaller
edid size. Edid segment and address values are not getting reset,
and any edid read after switching to a lower resolution
reads the incorrect segment.

This change clears edid segment and resets edid address in the
read_edid function so that the affected values are cleared every
time edid is read.

Change-Id: Iedb231c877b85d645ca74071f9c663393a204ff7
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
2021-04-27 16:53:28 -04:00
Venkata Prahlad Valluru
2ec9452162 disp: msm: typecast variables as long long for 64 bit operations
Define 64 bit variables as unsigned long long to ensure
8 bytes in 32 bit builds.

Change-Id: I723ae0c4ba6a0de07c92d14eeef95bde095c8e3d
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
2021-04-27 13:32:53 -07:00
Samantha Tran
6ec2c7e072 techpack: display: fix div64 error for 32 bit build
use div_u64 instead of /, for 64 bit division.

Change-Id: I791e027beb6817810d63a6a2d0a1a29f88bdb5d5
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2021-04-27 13:32:27 -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
Dhaval Patel
de0f5328b0 disp: msm: sde: fix ubwc static config for rect_1
Fix ubwc static configuration for rect_1 when
multirects are enabled.

Change-Id: I68da7ebc98f9cd2d42a9c9ddc24f95891d5f38ae
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-04-27 09:12:22 -07:00
qctecmdr
b0ea2d882f Merge "disp: msm: sde: remove check to commit RM resourses" 2021-04-27 06:11:35 -07:00
Steve Cohen
86d293e6cc disp: msm: sde: remove idle time from Qsync threshold calculation
Remove idle time from the Qsync calculation as this was added by
mistake to allow writes to complete just before the next TE but
this causes tearing. Also, to ensure tearing doesn't recur,
round down the threshold lines to the nearest multiple of 4, and
remove a couple of extra lines to compensate for potential
latencies.

Change-Id: I8a53a989e26cbd7f0e2b94caa8df8f5bee3ad26c
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2021-04-26 16:50:42 -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
Dhaval Patel
a698dbe5aa disp: msm: sde: fix autorefresh enable/disable sequence
SDE RSCC solver state and autorefresh enable concurrency
is not supported. This change moves the rscc solver state
to disable to avoid concurrency. It also resets the autorefresh
software structure state when encoder is disabled. This allows
autorefresh reconfiguration with next encoder enable.

Change-Id: Idb8c722c823d9f46d3cd03e1b046da69c8d88fc4
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2021-04-26 10:27:15 -07:00
qctecmdr
8a3abf2cdf Merge "disp: msm: dp: update number of lanes used to usb driver" 2021-04-23 10:13:11 -07:00
qctecmdr
bfba345316 Merge "disp: msm: sde: trigger panel event notifications" 2021-04-23 09:21:58 -07:00
qctecmdr
32c1f833ed Merge "disp: msm: sde: handle empty list of ROI in rounded corner" 2021-04-23 09:21:58 -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
qctecmdr
62d167dfb1 Merge "disp: msm: dp: clear cache upon writing to edid debugfs node" 2021-04-23 09:21:58 -07:00
qctecmdr
2129da50d4 Merge "Revert "disp: msm: sde: reprogram crtc and planes after post enable power event"" 2021-04-23 09:21:58 -07:00
qctecmdr
49fa060a85 Merge "disp: msm: dp: change dp driver to align with usb changes" 2021-04-23 09:21:58 -07:00
qctecmdr
e570cc7400 Merge "disp: msm: dsi: fix rate debug log" 2021-04-23 09:21:58 -07:00
Christopher Braga
a1698f39de Revert "disp: msm: sde: reprogram crtc and planes after post enable power event"
This reverts commit e2b438d88b.

Change-Id: I6d593121e74110fbe790ae4624a1c5df1b1ec731
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-04-21 16:55:45 -04:00
Christopher Braga
43b6fb6b24 msm: drm: sde: Update SIXZONE to avoid READ_MODIFY during DMA broadcast
The LUTDMA broadcast programming path for the SIXZONE feature incorrectly
has a unprotected READ_MODIFY operation in the broadcast path. This will
result in all SIXZONE LUTDMA feature broadcasts to fail.

Update the SIXZONE LUTDMA logic to ensure all READ_MODIFY operations
happen out of broadcast mode.

Change-Id: If80040872e299f9bdcf16dec3285ac49a9fdc2e1
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-04-21 16:51:06 -04:00
Shashank Babu Chinta Venkata
036bba0053 disp: msm: sde: trigger panel event notifications
Trigger various panel event notifications when
operational fps and power mode changes.

Change-Id: I8c5e066c8f20de4c31bb21a6fd6226dd93678fb6
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-04-21 13:04:02 -07:00
Amine Najahi
154f37f92d disp: msm: sde: handle empty list of ROI in rounded corner
Currently, RC is assuming that partial update callback functions
will not be called when there is a full frame update and that CP
framework will return early instead. This assumption had to be changed
to support full frame transition for CP features such as demura and SPR
and now the responsibility is up to each feature to handle this corner
case.

This change is returning early in PU callback function if the payload
buffer is 0.

Change-Id: I478888fb036e642d5274a2cccc4d5378e62d6afa
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-21 12:42:54 -07:00
qctecmdr
df2282649d Merge "disp: msm: add tui vm specific config files" 2021-04-21 07:01:27 -07:00
Linux Build Service Account
76068d0304 Merge "disp: msm: sde: fix intf mux configuration" into display-kernel.lnx.5.10 2021-04-20 19:56:34 -07:00
Linux Build Service Account
f593e67f3b Merge "disp: msm: sde: null check for pp hw before encoder mode set" into display-kernel.lnx.5.10 2021-04-20 19:55:34 -07:00
Linux Build Service Account
8d750e1fde Merge "disp: msm: dsi: add check for DSI resources during display probe" into display-kernel.lnx.5.10 2021-04-20 19:55:34 -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
Nilaan Gunabalachandran
c233dee598 disp: msm: sde: remove check to commit RM resourses
Commit bd234c1885 ("disp: msm: sde: avoid irq enable/disable
during modeset") adds a check before reserving RM resources as
part of modeset. Without this reserve, the resources are not
always allocated during modeset. This change removes the check
around the rm reserve to ensure resources are committed.

Change-Id: Icbb47ad781a04a0cd39c0190e9653eff470af7a0
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-04-20 12:22:59 -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
Prabhanjan Kandula
662517b142 disp: msm: sde: fix intf mux configuration
While programming intf block Mux configuration with
binding ping pong, avoid clearing split select field
as clearing this field would enable split by default.

Change-Id: Iad2fa81969bc59abba4467f29661e62c63ba19c0
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-04-19 13:25:50 -07:00
Nilaan Gunabalachandran
7c138e3f3c disp: msm: sde: null check for pp hw before encoder mode set
During encoder modeset, driver does not check for ping pong hw
before going through with mode set. This change updates the check
at the encoder mode set and adds a check at the encoder wait
for irq.

Change-Id: If27faa29ee29040808473e44994f42c36980a45e
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-04-19 13:49:28 -04:00
Vara Reddy
396c3acc01 disp: msm: dp: update number of lanes used to usb driver
This change fixes issue, where USB driver was not properly updated
with the number of dp lanes being used for altmode usecase.

Change-Id: Ic93d3e3b37aa8ad2d664e006ede3cf6c27d7133a
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2021-04-19 10:34:39 -07:00
Linux Build Service Account
6dcf53e7a2 Merge "disp: msm: enable power resources while dumping registers in WQ" into display-kernel.lnx.5.10 2021-04-16 13:53:23 -07:00
Linux Build Service Account
5b2a80d454 Merge "drm: msm: move display mmrm enable config to platform config" into display-kernel.lnx.5.10 2021-04-16 13:53:23 -07:00
Sudarsan Ramesh
d914d696bf disp: msm: dp: change dp driver to align with usb changes
Originally, a call is made to dwc3_msm_release_ss_lane to
notify the USB driver that DP 4 lane is in use. This was
cleared on USB disconnect. Combined with the autosuspend
timeout and UCSI notifying that USB was not needed, this
caused issues in bringing up the monitors.

This change implements a new api call from the USB driver,
dwc3_msm_set_dp_mode. DP driver makes a call to this api to
notify USB driver for 2 lane, 4 lane, and disconnected states.

Change-Id: I051e5424c518ca84e2cc6dc27c114715dc287ac0
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
2021-04-16 13:09:28 -07:00
Sudarsan Ramesh
45877a3be6 disp: msm: dp: clear cache upon writing to edid debugfs node
Currently, any edids read by the driver are cached in the
sde_connector object. In the event that subsequent edids are written,
the cached edid is used instead of the newly written edid.

In the event a new edid is written to the edid debugfs node over
dpsim, this change clears the current cached edid before overwriting
the new one.

Change-Id: I53f870e97c3b9ac5954d193f74e4b272386f67a8
Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
2021-04-16 16:08:50 -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
Amine Najahi
820849aeff disp: msm: dsi: fix rate debug log
Add missing argument to debug log.

Change-Id: Ie2529c915531726179fba42b971555cbabce38cf
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-14 15:13:29 -04:00
Jeykumar Sankaran
534cfdfa75 disp: msm: add tui vm specific config files
Add tui vm specific config files where driver configs
are optimized for the TUI usage.

Change-Id: I19f53f3133aa40711b8f7ccf7c323b41e428233d
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
2021-04-12 19:18:58 -07:00
Veera Sundaram Sankaran
031b1b5935 disp: msm: enable power resources while dumping registers in WQ
Enable sde power resources while dumping the registers in
SDE_DBG_DUMP_IRQ_CTX context after switching to workqueue.
The call is initiated from IRQ context and queued to workqueue
for execution. The extra vote will make sure the resources are
kept enabled through the register dumping.

Change-Id: I938049f6e2f1504ada2ce34ed4f56abb9c564f10
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2021-04-12 10:21:14 -07:00
Christina Oliveira
53a934668e drm: msm: move display mmrm enable config to platform config
This change moves mmrm enable flag to the display platform config files.
This allows to selectively enable mmrm in the display driver,
so other platforms not requiring mmrm in their build can compile
with their own config files.

Change-Id: I02415c6a22252dfc483a3da03b623351811ffc01
Signed-off-by: Christina Oliveira <coliveir@codeaurora.org>
2021-04-08 16:38:43 -07:00
qctecmdr
28e834679a Merge "disp: msm: dp: update dp phy settings for waipio" 2021-04-08 00:54:08 -07:00
qctecmdr
65ec8c0551 Merge "disp: msm: sde: reprogram crtc and planes after post enable power event" 2021-04-07 21:41:27 -07:00