| Commit message (Collapse) | Author | Age |
| ... | |
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
During dynamic fps using PLL approach, it is expected that DSI
FIFO underflow and DSI PLL unlock can happen sometimes. Make sure
to mask these errors so that DSI error interrupt is not generated
because of this. Clear the errors once dynamic refresh operation
is done and unmask these errors later.
Change-Id: I05ccbb7af1588b9ed81fd33ac14ef5b29882a42d
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Check if mode is not DVI before giving audio
notifications.
Change-Id: I1dfc6a77961a24fd4ebeefc10cfc03c9e264be03
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
To optimize power in suspend state, disable
5v line when HPD is not needed.
Change-Id: Ie8caca7161b95a517d94ff418ae1a36461d85181
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The dma buffer is checked only for error and not null. Changes
are added to check if the buffer is null to prevent accessing
invalid MUTEX lock or invalid dma buffer memory.
CRs-Fixed: 1032180
Change-Id: Ia1ed1238b084d04eb787d078f7bb47a4e2a62a8a
Signed-off-by: Shalini Krishnamoorthi <shakri@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Fixing potential NULL pointer dereferences in MDSS driver.
Change-Id: I1d8013f4b9079bfd3e142326d92ec4e6bb90c147
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Update csc type table on cdm block based on configuration
from kernel client. Add proper validation checks in wfd
interface before updating the csc table to valid selection.
Change-Id: Id3a0f68c30919029df01e003a1bcb39ff894574c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
WB and HDMI interface reserves the CDM block on start
irrespective of output format selection. This blocks
other interface open operation. CDM block is only needed
for output yuv format to downsample the chroma. This change
starts allocating cdm block on each kickoff for writeback
interface. It allocates cdm block only for yuv format for
hdmi interface.
Change-Id: I4368d1b5c4453c6c4697c060c880833c5ddc17bb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Display hardware keep generating the vsync isr
during auto refresh mode without any kickoff. These
vsync events may arrive late due to cpu latency and
cause corruption on screen. This change enables the
cpu event timer at vsync timeline to absorbs the
software latency in auto refresh usecase.
Conflicts:
drivers/video/fbdev/msm/mdss_mdp.h
drivers/video/fbdev/msm/mdss_mdp_ctl.c
drivers/video/fbdev/msm/mdss_mdp.h
Change-Id: I24c5180f685be251d1a5f3b393be8ec9b46e21eb
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[hsahu@codeaurora.org: Resolved conflicts]
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Commit ff19fe24e621ae5dc90f7e45fe4cfe159a647d15 ("mdss:
dsi: turn off phy power supply during static screen")
turns off the dsi phy during idle pc for phy rev 2.0. DSI
lanes are in floating state after dsi phy power off and
all panels may not be able to handle it. This change
allows to turn on the feature based on panel capability.
Change-Id: I9b166df254128a8a53c567f88971779b9ad0f36c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
4K panel uses split control path setup, so there is no need to correct
the panel width when updating the mixer width resolution during
destination scalar disabling.
CRs-Fixed: 1093549
Change-Id: I064987534124e025abaccec05ab70acf93538bce
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Fix some potential issues in HDMI driver such as suspicious
dereference of NULL pointer and variable reference without
initialization.
CRs-Fixed: 1091211
Change-Id: I81a99bcc4201ccd72de1f812e9c4da36d6a81958
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
|
| |\| | | | | | | | | | |
|
| | | |_|_|_|_|_|_|_|/
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Add sysfs and ioctl to adjust HDMI clock rate by certain PPM.
This function is required by clock recovery in broadcast in
which HDMI PLL should be adjusted in order to reduce the clock
drift in broadcast.
CRs-Fixed: 1086894
Change-Id: I1df15dd6aec44ae3e78bd4f80dc70d0d04760687
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \
| |/ / / / / / / / /
|/| | | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Add atraces to track the switch commands executed during
dynamic resolution switch or dynamic cmd/video mode switch.
This information would be helpful in isolating the panel
dependent switch cmds delays from the actual time needed by
MDSS driver to execute the switch.
Change-Id: Id9ac196fcdc61e95b5191103a1ea7974978b3a93
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \ |
|
| | | |_|_|_|_|_|_|/ /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
In case of an error when configuring a pipe during kickoff,
driver unstages from HW the pipe that had the error, so it
makes sure this dirty pipe is not used by HW.
This is a problem if the pipe is configured in multi-rect
mode and we only fail one of the two multi-rect pipes since
in this case HW is expecting both multi-rect pipes that
represent the two HW rectangles and we are only configuring
one due the error that happened.
Fix this problem by making sure that if the configuration of
one multi-rect fail, we unstage both multi-rect pipes.
Change-Id: I09fbda8eb92c81acf24d0ff07ca9c040141680e1
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ \
| |_|_|/ / / / / / /
|/| | | | | | | | | |
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
TMDS clock rate should be concerned in case of deep color
and scrambler. In deep color case TMDS clock should be
increased in order to transmit more bits, so this clock
rate should be checked against the maximum clock rate
allowed by sink. In scrambler case correct pixel clock
should be computed depending on video format and deep
color.
CRs-Fixed: 1086894
Change-Id: I78770eea7fdd57f12d92ff40ed8043987e742024
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
|
| | | |_|_|_|_|/ / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
HDMI vic info should be updated as well when powering on
HDMI TX, otherwise the obsolete vic info is set to hardware.
CRs-Fixed: 1086894
Change-Id: Ia3ea67cc7658098928a442460198b2dccc8ff8e1
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
|
| | |/ / / / / / /
|/| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Update the code name from msmcobalt to msm8998. As a result, update
the filename containing "cobalt" and files content containing "cobalt".
CRs-Fixed: 1070840
Change-Id: I2c7b95e3e2a2fec7730724da9eeb86a39a77faf1
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ |
|
| | | |_|_|/ / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Current display driver prints warnings and errors within
the mdss spinlock. This causes in random cases to hold the
spinlock for long time when multiple errors are printed;
Fix this by moving the print of warning and error messages
outside of the spinlock.
Change-Id: I09359b528b4742f72a76690930f3d0ed90bb2caa
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ |
|
| | | |_|_|_|_|/ /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Skip "ctl setup" during LP1 to Display ON transition, since
this causes ping pong timeout due incorrect SW programming;
issue happens under following two conditions:
1. When the PP done is not received for the previous frame,
reprogramming the non-double buffered registers to
default value will cause MDP hang.
2. When last frame before LP1 state was partial update, then
we exit LP1 mode, the next frame is also partial update
then user-space and kernel do not change the SSPP registers
which remain for the partial update frame.
However due the "ctl setup", the mixer alone changes to full
frame, causing the next frame to hang.
This change address both scenarios described above.
Change-Id: I031ca48f0e0c39f1b2cb51081ecd55b086fb4c9b
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ |
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
To disable autorefresh feature, driver needs to make
sure that no transaction is on-going before disable.
This change enforce that the sequence to disable
autorefresh is followed during the handoff to kernel.
Change-Id: I9aa7a000e75b50c6b26970deaba2131c87087b8c
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | |_|_|/ / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Starting commit Ie49eee9478f4657cfb2a994ba60da1ec4c356339
("msm: mdss: hide kernel addresses from unprevileged users"),
display driver removes the %p and uses %pK instead for printing kernel
pointers. This change missed some of the prints in some places.
This change fixes this by modifying the remaining pointer prints.
CRs-Fixed: 987021
Change-Id: I0d1797a4df9ff67f3b162a1b5d26320ca989f54a
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | |_|_|/ / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Add systrace for readptr_done interrupt
for cmd mode panel.
Change-Id: I3694952289c76394af8d40cd89fd2175f49ac127
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \ |
|
| | | |_|_|_|_|_|/ /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
When servicing NOTIFY_UPDATE_STOP command, if the notify object
was uninitialized then mutex lock is obtained on one object but
unlock is done on a different object. This change fixes it.
CRs-Fixed: 1088059
Change-Id: I66cbe48b7f4910228a6af57610a8427fea7fd1f2
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
|
| |\ \ \ \ \ \ \ \ \
| |_|_|/ / / / / /
|/| | | | | | / /
| | |_|_|_|_|/ /
| |/| | | | | | |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
DSI clocks are requested from mdp and dsi for
different use cases. The master clocks(DSI0 clocks)
are refcounted to avoid toggling during slave
clock ON/OFF sequence. Same applies to split controller
clocks if broadcast mode is enabled. Now, mdp client
can remove the dsi client's vote in below case:
- MDP requested clocks in ECG state
- clk_ctrl has removed both votes from ctrl-0
using dsi client handler.
- DSI turns ON clock for ctrl-1
- clk_ctrl turns on clk for ctrl-0 using dsi
client handler.
- clk_ctrl increase the ctrl-1 refcount to 1
- clk_ctrl turns on clk for ctrl-1
- MDP request to turn OFF the clk for ctrl-1
- clk_ctrl turns on clk for ctrl-0 using dsi
client handler
- clk_ctrl increase the ctrl-1 refcount to 2
- clk_ctrl turns off clk for ctrl-1
- clk_ctrl turns off clk(twice) for ctrl-0
using dsi client handler.
This race condition leads to dsi0 clocks off event when
interface is using clocks. This change start tracking
extra vote based on calling client id.
Change-Id: I4812330453dedacd16dad1d920a2bacc3f67042b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Recovery handler is uninitialized during ctl stop process.
A fifo error occur during stop process leads to panic
which is false alarm. These errors do need panic because
controller is going to stop/start and invokes the
panel power off/power on. This patch removes the panic
from the cases where recovery handler is uninitialized.
Change-Id: I422d53d008223a9b0520f499e629f681bb6afa05
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add null check before dereferencing the src_fmt
during layer validation.
Change-Id: I6482dc3d21fdc3e570fd53022e2fb9427668d939
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When display driver looks for a pipe, it checks for
the number of rectangles that the pipe allows.
This number only needs to be obtained from the base
pipe and there is no need to check for this number
on each of the rectangles of the base pipe.
Current code, gets this number for the base pipe
and for each of its rectangles while iterating the
list of pointers; main problem is that in the
loop through the rectangles, the pointer to the
'pipe' has been already increased at the end of the
'for' loop; which causes that the check to see if
the iterations need to continue is done against the
next element of the list; this is mainly a problem
for the last element of the list, since the pointer
would be something beyond the boundaries of the list.
Change-Id: Ie4ac72e460643606f718d5809e65cda70932fb84
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Current logic that optimizes the skip of the enable
and disable of the secure display/camera has a
problem which results in skipping the secure
configuration always. Fix the logic to make sure
we only skip the configuration in two cases:
1. If both features secure camera and display are
disabled and state remains same for current frame.
2. If one of the features is already enabled and
the state remains the same for current frame.
Change-Id: I614aeadf022e01f17660791c0037ceb9f73456a3
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
During atomic commit - validate failures, the newly allocated
pipes and pipes taken from the destroy list are cleaned up.
Currently pipe ndx is checked which can lead to cleaning up
the already in use multirect instead of the rect allocated
in the current validate. Add checks to include checking based
on multirect to avoid such cases.
Change-Id: I7f8fb6630314cdc523490e28d90dd3776bdfeada
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When stop is called for doze mode, there is a race condition
between the stop thread and the retire signal work queue.
Fix race condition by making sure that driver waits for the
retire fence before calling the stop.
Change-Id: Icd9d5b14e4138e747f9483458da7ddb89f515c03
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The current generated link rate in software doesn't
consider fractional values. As a result, for few of
the boundary cases, the calculated link rate is not
correct. Fix this by checking for any fractional values.
Change-Id: I3366b70c7e5bfa2a240aa24f1e0c70b54d686721
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| |\ \ \ \ \ \ \ \
| |_|/ / / / / /
|/| | | | | | | |
|