msm: mdss: debugfs: add support to serialize wait4pingpong
For command mode panels, current code configures the HW
to transfer a frame and returns the commit context
without waiting for transfer to finish. As an example,
after kicking off frame N transfer, commit context doesn't
wait for Frame N's transfer to finish. By doing so, it
allows SW to configure/queue frame (N+1) and improves the
performance. But before frame (N+1) is kicked off, SW needs
to make sure that frame N is finished otherwise it may lead
to tearing and/or unknown behavior. This is achieved by
calling wait4pingpong routine. But this optimization has a
side effect when debugging critical issues. If for some
reason, frame N had a bad HW configuration and it had
HW hang then wait4pingpong during frame (N+1) will timeout.
This timeout will lead to HW register dumps but this
register dump is related frame (N+1) and not frame N.
This gives incorrect debug information. To overcome this
side effect, allow wait4pingpong's timing to change using
debugfs.
Setting this node to true will make the driver
to run this processing in a synchronous way,
setting it to false will return the driver to
normal asynchronous operation:
echo 1 > /<debugfs>/mdp/serialize_wait4pp -> sync
echo 0 > /<debugfs>/mdp/serialize_wait4pp -> async (default)
Change-Id: Ief25232b65cf3dfec7c2147120dac57d0f54d22f
Signed-off-by:
Ingrid Gallardo <ingridg@codeaurora.org>
Loading
Please register or sign in to comment