This change fixes the destination scaler atomic check
to support PU with CWB disable without an additional
frame in between. It also fixes the destination height
calculation.
Change-Id: I93ae8471d2db0b4e2574d18a873d4d4e180cbcbb
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
The DP standard leaves ambiguity to if sink synchronization
will be set before auxiliary protocols such as HDCP are to begin.
Update the dp_display HDCP worker to check sink sync only if
explicitly instructed to via the new debugfs node 'hdcp_wait_sink_sync'
Change-Id: I4f4d0b14096aa3dc498e47de557de14092d37a58
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
In scenarios where two streams become active in a short time period, HDCP
authentication may incorrectly be kicked off twice. This occurs due to the
HDCP state machine not indicating when authentication is already in
progress.
Update the dp_dispay HDCP state machine to only transfer to the
authenticating state once authentication has begun.
Change-Id: I38211203afe5127b80353c02072032a56e518900
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
If a DP stream is disconnected when HDCP is not fully authenticated,
authentication may not continue for remaining streams. This occurs
due to the worker thread rescheduling itself on auth fail while
disconnect cancels any pending work.
Update disconnect logic to wait for HDCP authentication to complete
before stream de-registration, and reschedule the HDCP worker if HDCP
did not fully authenticate prior to disconnect.
Change-Id: I0f8934e4f34e4f5a8015587e852131795a3dad21
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
If stream registration is invoked while HDCP is still authenticating,
the new stream information may not get sent to the downstream repeater.
Check if stream management is already in progress during stream
registration, and queue another round of stream management if so.
Change-Id: I497e9a4da310870fe792293033f1fb0ce8fbee4c
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
When HDCP stream management needs to be re-performed, the SDE_HDCP state
machine breaks down and reads or writes to the wrong DPCD HDCP offsets.
This results in an authentication failure, effectively allowing stream
management to succeed only on the first attempt.
Update the SDE_HDCP stream management logic to properly take its current
state into account in re-management scenarios. This will reduce the need
for full re-authentications upon content type updates.
Change-Id: Iebefbb060e49a7082b2d4c9efbed22a83a2a5ec5
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Calls to QSEECOM are disallowed when the system is heading
into a suspend to RAM state. Delay all HDCP cleanup until
after resume to ensure HDCP is properly handled.
Change-Id: I7ebf567e50c28d39fc3c99dcb5d571a5d1e8dd93
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Commands to the HDCP protocol layer can fail or block if
executed when the system enters suspend or shutdown.
Protocol layer blockage will occur until the system returns
into a power on state, potentially resulting in deadlocks for
clients who synchronously wait on protocol layer completion.
Asynchronously handle all requests to the protocol module to
ensure that clients can make progress regardless of the state of
the underlying HDCP handler. When an already queued request is
received by the protocol module, that request will be rescheduled
to the back of the queue.
Change-Id: I658dd09a81f21037cd90bbaa5b7d73363472e0b0
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Add runtime_pm ops support in drm driver instead
of direct sde_power_resource_enable/disable call.
It allows drm driver to use runtime pm refcount logic
to track the resources instead of custom implementation.
The change also removes the NRT_CLIENT support from
sde_power_handle code to simplify it further.
Change-Id: Ib14692dca5876703d0a230da2512d731b69b8ebb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Get controller scheduler status at each vsync to verify
pending frame status.
Change-Id: I01401a57b68828294299977a7be7e796d07c7472
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
By enabling the sspp feature map configuration for qseed3lite,
the existing support for lutdma is used for register writes.
This will reduce the costly AHB based register write.
Change-Id: I49ba374c7317283f867bb737dc7415ea39f17b91
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Set the SMMU context-bank domain_attached flag and
the secure flag appropriately during MDP SMMU
context-bank probe as the mapping/attach is handled
by the SMMU driver during bootup.
Change-Id: I83c7a911d7e0d4986df7cc3e8975b6eb2720cec1
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Update the bootloader set core-clk rate to the SDE software
structure when continuous splash is enabled. This will
make sure SDE handles the shift in core-clk rate correctly
when user-mode votes for a different rate with the first
frame.
Change-Id: Ib8e11332578ad154b14793d8ddcfec488be63aef
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Remove the CLK_GET_RATE_NOCACHE flag from all the DP and DSI
pll clocks. This will eliminate the need to recalculate the
clock rates from HW registers when querying the rates for the
PLL clocks. This will ensure that no unclocked register accesses
are done when these clocks are queried while the display core
is power collapsed.
Change-Id: Ia5e993195cadc2bced32c052bb604e9980ecd4d8
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
This snapshot includes updates to offline rotator and supporting
files. Snapshot was taken from msm-4.14 as of commit 0f8fb25421ff
("cnss2: Add device version to SOC info structure").
Change-Id: I58674ba880de3d8722ed9119bfc2bee34b444917
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Check if cur_master encoder exists before using the variable in
sde encoder. This will avoid possible NULL dereferences.
Change-Id: I003386cba392a0027f7e9e8441fd4671b57b9a03
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Previously debugfs nodes for fix_core_ab_vote, fix_core_clk_rate,
and fix_core_ib_vote could be set to any value. This change
will compare fixed values to userspace values and set it to the
maximum of the two to avoid crashes with invalid input.
Change-Id: Iae89279eb1effe3daf8cd0aef5acceb55992ab03
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
In continuous splash use cases, the display is enabled in
the boot-loader. During display kernel probe, to enable clocks,
the rate is calculated by reading the hardware registers before
the corresponding software rate is set. At times when these rates
are nearly equal, the call for set rate never happens. This can
cause abnormal behavior. In this change during hand-off we don't
recalculate the clock rate to ensure the software programs the clock
registers accordingly.
Change-Id: I421c523ffd48a0cb73d7721c6d74c8e68aa6d9a5
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This patch fixes an issue where the HDR connector properties for
external displays were not being updated after a hot-plug event.
Change-Id: I78dbf00a103ab0bd361039eae2bac16ef9372e36
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Add support for shmbridge while allocating memory
depending on qtee_shmbridge enabled in sde and
offline rotator.
Change-Id: I6880ce39318e2a880015760c3517f17c4bf23cdd
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
When continuous splash is enabled, connector states
are not properly updated with the encoder associated
with it. This is by design, so avoid all making
such request there by avoiding unnecessary errors
during the bootup. Fix a handful of warnings in
the PLL definition files
Change-Id: I7f08c5ff80ea2a2bfb4b19f2ea13c8f9cbb833e8
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
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>
This change adds dummy Makefile support to compile
display driver project along with base kernel.
Change-Id: I4fe15e2b358227911d3826e914ccb5eb45bb3d0d
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>