Delete destination scaler dirty bit clearing when crtc
is disabled as well as during duplicate state.
Change-Id: I4b2201c792a6750c060b2d9291d52547d8a81c15
Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
Signed-off-by: obrody <obrody@codeaurora.org>
Add function to parse pll_codes from dfps_data_region, and the
pll_codes are used as trim_codes for RFI.
Change-Id: I5b16be94a9e47dff515dea036839f74c2ddd8824
Signed-off-by: Bruce Hoo <bingchua@codeaurora.org>
Since some property of panel dtsi were not a must.
Do not report errors for panel bindings that are
not mandatory.
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Change-Id: Ie899081e2ca93740ceb854457b61e5fc5d2083fa
This change adds smmu devices as separate devices and display
driver waits for these devices to bound before using any smmu
operation. This fixes recent stability issues where devices
were not probed during the dpu hw initialization.
Change-Id: Ib08e87c6c0eae0f7e95bbaa60a37bd469d0ecce0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Exit stream enable on cable disconnect considering that the
controller and display modules would have transitioned to aborted
state. It is possible that the disconnect might have prevented
the link clock from being enabled, so we have to skip any register
programming in the link clock domain. We remove the unprepare
call from the DRM wrapper error handling since that path can lead
to unclocked register access when the link clock is not enabled.
Change-Id: I92595c0824193df63c2746bc8cd644f59c33604a
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Deregister the altmode notifier in the client teardown path since
the client will no longer be available to handle altmode
registration.
Change-Id: I06c6c61d4eb0b0fc9e9c1df1da4a0c86e4556de1
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Panels supporting Cphy use a specific divider
blocks. Add additional divider blocks for byte
and pixel clock output to support DSI CPHY.
Change-Id: I74b3ee2bdd22ae8fa20567fe837e03915537c4fb
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Add support to read cphy boolean flag from panel dtsi
and configure DSI PHY registers accordingly. Update the
bit/byte clock calculation according to cphy specifications.
Update clock parents so that the relevant divider blocks
are configured to support cphy.
Change-Id: Iaca61eec01a488657b086f59910c52f8c79e26a4
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
In order to make dsi panel and dsi2hdmi panel compatible,
delete "qcom,panel-force-clock-lane-hs" property in phy and
use display panel's force_clk_lane_hs property.
Change-Id: I490e08b2ee859797c2b3aeddf109a3a4286fb922
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This defensive check is now required since the allocation
of driver private data has moved from bind to probe phase.
There is a chance that device shutdown can be called before
bind phase and this can cause invalid memory access.
Change-Id: I2d471a4aff93ae03291e19f6f902f1e5c28dc50f
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Currently, when runtime_pm_suspend occurs DS property is marked
as dirty invariably if the CRTC allocated the blocks or not.
This causes atomic check failure on CRTCs without DS allocation.
Change-Id: I90287e8e283d2e80aa47627d4aa045040d76b472
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
There are some scenarios where connectors can be
null during encoder dsc disable. Update the null
check to avoid error message during these scenarios.
Change-Id: I598a644f19aecf0b7d8c989a75575329903678dd
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
In some cases like suspend and cwb concurrencies,
the number of mixers in the sde_crtc structure
can become zero. Add support to get the number
of mixers from topology in those cases to
avoid incorrect resource allocation request.
Change-Id: Id9b82e805ff50a107ad06514b4e41c0917abdf33
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
In general the brightness value, the first parameter is low byte and
the second is high byte, but some DDIC invert, so add inverted display
brightness value property.
Change-Id: I8bf5631bb66096bd28529c53643e358afffce18e
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
When histogram buffer is queued by driver client, during the display
commit buffer has to be submitted to hardware. Currently driver is
waiting for previous histogram to finish before submitting the new
buffer. This can cause the histogram to be invalid, change updates the
submission logic of buffer.
Change-Id: I76b595fa96d1c2dd01c841de3cf228d4fa7fd75d
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Enable compilation of DP MST feature. Also ported drm mst implementation to
use updated API definitions. Changes to the API include; removal of hotplug
callback; separate refcounting for topology and memory allocation in mst
port; pass the entire port instead of slot count in
atomic_release_vcpi_slots API.
Change-Id: I951c2978339229ea7e124c2addc114ea5d3cbb3d
Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org>
This changes the method of esd detection at tx timeout
from TE to panel status read for panels having status
read as default method.
When ESD is triggered, even if spurious TE interrupt fires
after resetting the panel gpio, driver correctly follows
the recovery after esd failure.
Change-Id: Ib33537319f128c038f5774829dfd09bab9664fea
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
If vblank work is queued to event thread, during modeset,
there might be a case where vblank is enabled in between
resulting in vblank ref count mismatch. This change queues
vblank request to disp thread during modeset.
Change-Id: I98b87b4209e1f7f535980eef22a50df17c346c23
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Resource reservation of an atomic state should be cleared
irrespective of the state of a display. This change relaxes
the encoder - connector chain up check as this may not be
available during a modeset disable outputs scenario.
Change-Id: I8a51973b7c77787ff19d894458a1b73580b93de2
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Add support for all 4LM topologies in new DCE encoder framework.
This change also aligns with the new way of checking topology
information.
Change-Id: I20785c96569fd07cbd8016d244a7e4c929bfa071
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Increase the maximum number of mixers per crtc to 4 to
support 4LM use case. This change also increases the number
of data path to 4 to support 4LM in continuous splash handoff.
Change-Id: I4655017dcb405fad69513bebb8fd7f848fc5873d
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Lower the cyclomatic complexity for this function by splitting
the work into helper functions.
Change-Id: Ib69f542701009f5b8f5d4f7462ba84a5ab116c1b
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Currently mixer calculation does not take the number of LMs into
consideration when it is greater than 2. This changes adjusts mixer
count for 4LM use cases based on maximum clock and pipe width.
Change-Id: I05631dee3beadaa0d50548282a539835bcb548c0
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Reserve LM in the sequence of primary-peer and then
primary-peer again until all required LM are reserved.
Searching sequence will not change for single/dual LM
reservation. For single LM reservation it will return
right after the first primary LM is found. For dual LM
reservation it will return after the first primary-peer
pair is found.
The logic can also work for triple/quad or any number
of LM reservetion and make sure that all the reserved
LMs are in pairs except the last one if total LM number
is odd.
Change-Id: Ia28bb64fedeb43430039775051943d751259a3d2
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: satbir singh <satbsing@codeaurora.org>
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>