Lots of dsi FIFO error logs were printed into serial in
dsi ISR. It will make device stuck or deadlock. Remove
these logs from dsi ISR, and enable the log in FIFO error
workqueue handler.
Change-Id: I0e9b2312cb76d345ec5a9b9628c52b47d5163fde
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
This is a common case that seamless transition was rejected
when active/connectors changed, so just print an info log here.
Change-Id: Iada9ad84af1c072ccdbc97f5bf438de6a032f45f
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
The DRM framework has added support to check for and calculate the
correct checksum for test cases in which the EDID is corrupted e.g.
test 4.2.2.6. Update the implementation to use the correct checksum
that is available as a field in the DP connector structure.
Change-Id: Ia9f65926e2c0fb3444aa87a4ac97850fbb4d70f3
Signed-off-by: Tatenda Chipeperekwa <tatendac@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: I5358d60634070bdb26059056db884ad4161c073e
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Add smmu cache hint at during the msm gem prime import
to ensure memory is cacheable. Ensure sys cache feature
is added to all sspp, not just vig.
Change-Id: Icc10468ad8d3e7c6aabd437776cde99eb627375a
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Register for USB cable notifications so we can manually trigger
a disconnect event if the USB cable is disconnected during a
simulation.
Change-Id: I08a9313bcde3e74f2a76804e934423e0fc2d6ab6
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Use lower frame threshold time for high refresh rates. For resfreh rates
greater than 120 FPS the threshold time is 500us.
Change-Id: Ie5a37c0eec6c2c2cbf90e039eb6b15bc7edd2492
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
Vsync event timer wakeup was designed to reduced the
interrupt latency and trigger retire fence without delay.
This is fixed by avoiding CPU power collapse where MDSS
interrupt is scheduled. This change avoids extra CPU
wakeup.
Change-Id: Iadaf0e2b84fb079bbc64d9201230df54f8dbe8c1
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Video mode display keeps the MDP clocks in ON state but
disables irq during static screen to avoid cpu wakeup.
In such case, CPU pm_qos vote should also be removed
to allow LPM transition. This change triggers the
pm_qos vote based on mdp interrupt enable counts
instead of runtime_pm callback. It works for
multi-display concurrency also.
Change-Id: I7a60f3f593e409269e00abd7499c4a5756035615
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
This change adds support for enabling WB maximum linewidth
based on color format is linear or UWBC.
Change-Id: Icc71eb14b3156e06036a4a82029d9d7a5c89e909
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Add event logs to capture HDCP state transitions and errors.
Change-Id: Id82049b93eb2e8bf84faddebaa0959f8cda1c91f
Signed-off-by: poyewu <poyewu@codeaurora.org>
Some sinks need more time to stabilize after synchronization and
before it can handle an HDCP authentication request.
This change adds the delay for better interoperability.
Change-Id: I4fffb9024f782dd68e3a883208cb8e9d0c5350a1
Signed-off-by: poyewu <poyewu@codeaurora.org>
This change resets the bandwidth vote after lastclose is called
and all the custom properties are reset. This is required so that
on next power commit when user space driver does not apply any
bandwidth vote, driver applies correct vote. Additionally this
change ensures that aggregate bandwidth vote never exceeds the
max threshold.
Change-Id: I95ca761b381709850b630ecd6647b45968a5041e
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
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>
If a DP MST display is connected after a DP SST unplug, the
DISCONNECT_NOTIFIED state is not cleared and CONNECT_NOTIFIED
state is not set. These states are not relevant for DP MST and
hence skipped during the send_notification. But the
DISCONNECT_NOTIFIED state that was not cleared from the previous
SST unplug will prevent the wait for completion when DP MST is
disconnected. This will trigger the host_unready to get executed
before the dp_display_disable happens for the DP MST displays.
As the result, the dp_display_disable exits early causing all the
stream clocks and the panels objects to remain active even after
unplug.
As CONNECT_NOTIFIED and DISCONNECT_NOTIFIED state are not relevant
for DP MST, clearing them if DP MST hpd detected in dp_display.
Change-Id: Iaf0e762633eb276e96cb860fda480adb04718eb9
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Sometimes the link clock is not getting locked when dp
display is resumed from PM suspend. This is causing NOC
error when registers in link clock domain are accessed
without proper checks.
The set_colorspace, config_hdr and update_pps connector
ops are accessing the registers in link clock domain
without checking if the necessary clocks are enabled.
These changes will ensure the DP stream clocks are not
enabled when link clock enable fails and prevents the
connector ops from accessing the registers whose clocks
are not enabled.
Change-Id: If89d2552ee0ce96493ee8c1666d7677221705d9a
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
While running DP simulation script for stability and the rare
occasions when link clock fails to enable, the ctrl power_on
flag is wrongly set indicating the link is powered on. This
flag is used in the ctrl sub-module to check that the link
clock is on before accessing the registers powered by the
link clock. When this flag is wrongly set, the link registers
are accessed while processing the cable disconnect to cause a
NOC error.
The change will ensure the power_on flag is set when the link
clock is on so that the access to registers in the link clock
domain can be correctly filtered by the power_on flag.
Change-Id: I40af054a5738172f5ea86079a9258518f8fdd44e
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@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>