Wykres commitów

19 Commity

Autor SHA1 Wiadomość Data
Dhaval Patel
8d6fea832e disp: msm: sde: delay cwb done wait for last frame
Commit Ifa100424733 ("disp: msm: sde: delay
encoder disable for clone mode") delays the CWB
encoder disable but it is also skipping the CWB
disable flush. That can cause the underrun on dp
display if it uses the same 3d_merge HW block. This
change reverts the portion of original code and
only delays the last cwb frame done wait. It still
keep the last CWB frame done wait as it is if crtc
is also moving to inactive state.

Change-Id: I3461188a35197f2925899ceea7ef705adf00a398
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-09-30 10:19:23 -07:00
qctecmdr
683bf52ce0 Merge "disp: msm: sde: update crtc check in drm_check_dpms" 2020-09-12 19:19:50 -07:00
qctecmdr
0252310b1b Merge "disp: msm: sde: avoid registering vblank callback during CWB" 2020-09-10 18:45:36 -07:00
Adrian Salido
fb50dda175 disp: msm: add low power mode notifier
Introduce low power mode so that listeners are aware when
display is going into low power mode. This requires moving notifier
inside sde code to be able to retrieve the low power state.

Change-Id: I8671e86af29c959d97e1b8ad758a07719ffa4bec
(cherry picked from commit c4b15f56dd63d24d6f4482deab2423809c700d7a)
Signed-off-by: Adrian Salido <salidoa@google.com>
[samtran@codeaurora.org: move changes to different file as
downstream use of notifier struct comes from different file]
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2020-09-10 16:28:22 -07:00
Dhaval Patel
28826f09cf disp: msm: sde: delay encoder disable for clone mode
Clone WB encoder disable before posted start commit
trigger adds wb_wait delay in current frame trigger
sequence. This adds 1 frame jank if CWB enable/disable
path exercised periodically like 100ms or 200ms. This
change delays CWB encoder disable after frame trigger
and vsync/wr_ptr wait to avoid jank issue.

Change-Id: Ifa10042473397b37396d217d2410e7cf5a1e32a1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
2020-09-02 13:24:16 -07:00
Ray Zhang
e380b315c6 disp: msm: do not print error when crtc state is empty
Sometimes committed state doesn't contain any crtcs. For example,
fbdev emulation is still pushing null commits to DRM even if the
cable has been plugged out. Avoid flooding the logs in this case.

Change-Id: I6b7f049b80409c4a2ae057839ede6dd8af10d03b
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-08-25 22:20:43 -04:00
Krishna Manikandan
35d72973e0 disp: msm: update seamless check for connector
During CWB case where writeback connector is disabled
and connectors_changed is set, add support to allow
disabling of corresponding encoder for this connector.
Modify the seamless check for connector to handle
the same. With this cwb + dfps concurrency can
be handled.

Change-Id: Ia8f86bd12ac3c5ab622334fb04cdcb2e2b60f111
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-07-23 14:46:22 -04:00
Narendra Muppalla
d1d9ae8b19 Disp: Snapshot change for lahaina display driver
This snapshot change adds downstream support
for drm 5.x+(msm_lahaina branch) linux kernel.

Change-Id: Ia691c95da155a00e449c91a2f1a5b20a8e71aed4
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2019-11-24 12:30:51 -08:00
Samantha Tran
8fa5e65d70 disp: msm: sde: avoid plane update if crtc inactive
This change passes DRM_PLANE_COMMIT_ACTIVE_ONLY during
drm_atomic_helper_commit_planes in complete commit. Passing
this flag insures that if crtc is inactive, plane update
will not be made. This avoids trying to commit a plane
while entering low power mode when crtc and encoder are
already disabled.

Change-Id: Ic08a4f42cf832709332ccbf4a9df39342f858eec
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-09-17 08:30:25 -07:00
qctecmdr
c0a6abefe7 Merge "disp: msm: fix re-entry problem for msm_atomic_commit" 2019-08-12 19:15:32 -07:00
qctecmdr
c407b8b72f Merge "disp: msm: sde: add trace points for modeset" 2019-08-02 03:24:46 -07:00
Xiaowen Wu
8f99559493 disp: msm: fix re-entry problem for msm_atomic_commit
When plane is detached from crtc in one atomic commit and then
attached to another crtc in the next atomic commit, the second
plane state swap will happen when the first commit is still running
in the previous crtc's worker thread, which will result in two
threads programming the same plane and run into undeterministic
state.

Fix is to add plane_mask check before state swap, together with
crtc_mask check. This will make sure there is no pending worker
thread working on the same plane.

Change-Id: I64cd4b68fa9746e988d933069ac0f8083d974c79
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-08-01 10:56:04 -07:00
Lakshmi Narayana Kalavala
cef4f545bf disp: msm: sde: add trace points for modeset
Adding trace points for the encoder modeset which provides
the duration of modeset when there is a resolution or fps switch.

Change-Id: Idfba792addcb9b68285c8575b62608dec60ca275
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2019-07-29 10:30:37 -07:00
Yuan Zhao
fdaf7b0e21 disp: msm: Use the new notifier function instead of msm_drm_notifier
Since other driver module could not use msm_drm function,
then the notify function was moved to drm_panel. So used
the new drm_panel notify API instead of the old one.

Change-Id: I053992d74125807ccbf8991e3ac771dfc3eef732
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-07-17 05:02:54 -07:00
qctecmdr
a990883c59 Merge "disp: msm: remove unnecessary vblank get and put" 2019-07-12 22:05:06 -07:00
Samantha Tran
d90958649c disp: msm: remove unnecessary vblank get and put
Remove unnecessary vblank get and put. This call is
not required before calling wait for crtc commit done
because downstream driver has its own vblank refcount.
Without this change vblank enable call is seen every
vsync.

Change-Id: I1c692f1d2084dbe7ad2f594ddae3907a4a10bb96
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-07-09 15:26:55 -07:00
Yujun Zhang
b0f2e2222e disp: msm: dsi: add support for dsi dynamic clock switch
This change adds support for dynamic switching of dsi clocks
to avoid RF interference issues. Also with dynamic dsi clock
switch feature coming into picture, now populate the supported
refresh rate as list instead of providing a range. Modify the
logic to enumerate all the modes in dsi driver, taking dynamic
bit clocks, resolutions and refresh rates into account.

Change-Id: I5b6e62bc935cf2234bdd96fcb3c7537b4e735fff
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
2019-06-05 16:06:27 +08:00
Lei Chen
21edecd3b1 disp: msm: Add support for seamless panel operating mode switch
DSI display may support video mode and command mode both and it may
support transition between these two modes.
This change adds seamless transition between these two modes for DSI
display by avoiding crtc enable/disable and panel power on/off
during modeset.

Change-Id: Id7ddaef7d1f0f7cc7d52283755bad53a246adec6
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-05-06 18:45:44 -07:00
Narendra Muppalla
3709853456 Display drivers kernel project initial snapshot
This change brings msm display driver including sde,
dp, dsi, rotator, dsi pll and dp pll from base 4.19 kernel
project. It is first source code snapshot from base kernel project.

Change-Id: Iec864c064ce5ea04e170f24414c728684002f284
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2019-04-14 22:20:59 -07:00