| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| | |
Configure entry 0 to entry 15 in dither matrix.
Change-Id: I1259c121e84078325e54d952cbd2671031df2978
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Send Bus-Turn-Around (BTA) command to check DSI controller
status periodically and check the response from controller.
Update appropriate response in frame buffer status node
if controller is not responding.
Sending BTA command is useful for the video/command mode
panels when it stops responding during ESD stability tests.
Change-Id: Ic8710943c0d56ea013af9ee6d378dabdda75d8f0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Moved mdss_dsi_status.c file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add Bus-Turn-Around (BTA) status check API in DSI
controller to check if it is alive or not. Subscriber
of this API should send relevant notification to user
space for correct action. Update fb driver and cmd
interface to support the BTA failure scenario.
Change-Id: Ic78379b31a48278282182fdba6ba7b2e6f9c26d5
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When scaling is involved during video playback for dual display
high resolution panels, the scaling factors such as phase step and
initial phase need to be programmed to avoid mismatched textures
and hardware hangs. Also, software pixel extension needs to be
enabled. The data is received from user module through OVERLAY_SET.
This feature is only enabled for YUV formats in VIG pipes.
Change-Id: Id6ed3fd3ee6af7383ef152400789decef7302db2
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When partial update is enabled and we have a valid ROI, crop
source and destination rectangles against ROI only those pipes configured
for interface mixers.
Change-Id: I75111998a43f796f9315b25709e78a568fb1ec0c
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
Use pr_err instead of pr_debug for DSI error status logging.
Change-Id: I9f2a21ada466681844f3c7d3e5a6545126ecba2b
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CSC programming assumes that pipe numbers are symmetric for same
type. This assumption is not valid with APQ8084 and leads to skipping
of CSC programming for VIG3 pipe. Fix this by using helper APIs to
find out if pipe is VIG or not rather than directly manipulating data
structures.
Change-Id: I130ee3994d1f5c5a96e644f8095c75d2189fbdda
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shutdown the power for DDC (Display Data Channel) module only
after HDCP (High-bandwidth Digital content Protection) module
has been turned off as HDCP continue to use DDC line until it
is turned off. Also, no need to check for DDC hardware status
on HDCP off as once the cable is disconnected it will not be
updated.
Change-Id: Ic5b8c2d6c4a43bf7d0ed0d420690b7e84bbe3b6c
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Writeback path uses the comp event allocated on
stack to wait for ISR done. It crashes if
ISR tries to set the comp event after kickoff
thread timeout. This change removes the comp
event usage for writeback interface and starts
to use the wait4comp API like video/command
mode interfaces.
CRs-fixed: 555036
Change-Id: I74994a0cbe4039c6d3d4a51d573d343751182bff
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On APQ8084, currently AHB clock is always on from device tree settings.
With this change, it will be enabled if BWC decode is enabled and source
dimensions are changed. Since the source dimensions are double buffered,
the MDP AHB clock will have to be forced on before writing to the source
dimension registers and then the force on turned off after the changes
have been applied (i.e. next vsync).
Change-Id: Ie3e73217bf184a128a4cf677688fdc4019ae44d5
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During device shutdown or restart, two separate contexts can call
mdss_fb_release. One system shutdown/restart thread which calls
shutdown routine registered through device driver. Other closing
of frame buffer devices from user processes. Fix race condition
between these two contexts by using proper locking mechanism and
releasing all the resources.
Change-Id: I583b0f1273d984215e276daf3b6307f3b6e9e8c6
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This is to allow client to retrieve display meta data information
even while the display is turned off.
Change-Id: Id5c3a3ebac9039a8ff045eb662683962e16e46bd
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The rotator data structure should be maintained in the rotator file
and rotator api calls should be following current ioctls, namely,
rotator_setup follows overlay_set, rotator_play follows overlay_play,
and rotator_unset follows overlay_unset. In this way, rotator code is
modulized and data is isolated easily by adding proper locking.
CRs-fixed: 563019
Change-Id: I3aa0db57d65cf9ae88c7e7cbccb3fa73a25e5902
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add appropriate null check for mfd data
structure before accessing it's members. This
prevents null pointer accesses in the driver.
Change-Id: Id301d4a90c9a52049944c7e3b31aa1a34ad292d7
CRs-Fixed: 526286
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Copy unsigned long from userspace and modify the data fields
before copying back unsigned long data to userspace. This
keeps the datatypes of all operands homogeneous without
data leaks from kernel to user land.
CRs-Fixed: 526286
Change-Id: Ie4673563170c3459019dd6a5f1f55376f6e560c7
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Fixed null point dereference in case of memory allocation
failure in mdss_mdp_pp_init.
Change-Id: I3593a583da355915b731ac30b1f38aaa010eba85
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, MDP capabilities are exposed to the client via
a dedicated ioctl. As more capabilities are added, it becomes
difficult to have to extend and maintain header file compatibility.
This change is to add a sysfs node which can be used to get the
MDP capabilities.
Change-Id: I9eb2e5546f708eb3f46c61f9abe4f25f23cd64aa
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add HDMI cable connection status functionality to be used by
audio driver before starting the audio session and vote for
hdmi tx core to remain power on until the audio has completed
its processing.
Change-Id: I35d1bafff472da19e04aa44f4ac91b1c3c0349e1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Balance the clock requests in histogram enable to prevent clocks from being
left on.
Change-Id: I45fc029049b68cceb56d0dc40f7819aca0625a58
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Wait for at least one vsync on HDMI interface for
proper TG OFF. Calculate wait time based on hdmi
refresh rate.
Change-Id: Ia935886ba4cce9cf8d6ce994143b07060f648620
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add HPD (Hot Plug Detect) on/off and HPD line high or low pull
handshake between MHL (Mobile High-Definition Link) and HDMI
so that both the drivers are in sync on cable connect and
disconnect.
Change-Id: Ia3264983ba3b81c499e287fa6922e1511bdf65a7
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
There should only be one call to msm_dsi_cmd_dma_tx.
Change-Id: I5af937d029c6eabdda406f69d12f06f68354078c
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Backlight gpio is used to support display backlight.
Parse the gpio from dts and request.
Change-Id: I776373029e96526710406f6820472ad9319952c7
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Make rotator output format for rgb_565 and bgr_565
as rgb_888 for 90 degree rotation as expected by
MDSS.
Change-Id: I0865b5688fa662d1e88d1efebef26a38d4abfd61
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In order to provide faster updates to panel, increase the priority of
display thread to reduce latency of display updates.
Change-Id: Iaf0824fdd44c0177c30f14fae0dc8dd96abc4a11
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will reduce the delay caused by turning on/off mdp clk multiple
times during kickoff. Currently during kickoff, mdp pipe registers and
flush registers are programmed each with mdp clk on/off. We only need
turn mdp clk on/off once to program those registers. Increase scope of
mdp clock vote to keep them on during the entire programming sequence.
Change-Id: I5270c5e7aeef2f16c6a64d56827a73a8cb380fc5
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All the configuration up until MDP flush is double buffered. This means
we are able to do all hardware programming without settings taking
effect until flush happens. Perform all programming, wait for fences
and wait for previous frame is done just before the flush in order to
reduce the time between last frame done and kickoff of next one.
Change-Id: I1fd0c7a65309a3b148c8efef61819bfe9a248f29
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add optional flag to allow MDP driver to asynchronously wait for fences
instead of doing it at beginning of every commit. This allows the wait
to happen much later in the programming sequence so that, we can use
that time to do everything that is needed and have a smaller window
between the wait for fences and the next frame update.
Change-Id: Ib4f7601ed22670ba235ba86fe3389a5d54d685a9
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not wait for previous commit to complete when
enabling/disabling vsync.
Change-Id: I61bca8a1447964a746d9efced1e3e3b8dc3969ac
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When command mode panel is being stopped, any vsync handlers that are
still pending should be removed before shutdown sequence. If this is
done afterwards VSYNC_TICKS update may cause the clock to continue
running after clocks have been shutdown and may lead to MDP hang.
Change-Id: I149390413326b21ddf608e7fe5a31b3a57abe50b
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Asynchronous frame events from MDP allows commit thread to be unblocked
once the frame contents have been flushed to MDP HW and new frame can be
programmed while waiting for DMA transfer to complete.
Change-Id: Ica878f9d06ab0cc5260ad412815dcbd8ae391767
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow for async frame events notifications to be done when frames are
flushed (new frame can be programmed) and frame is done (new frame can
be displayed). This allows the sync fences to be signaled in a separate
context from the display thread so that more commits can be queued.
This leads to better performance.
Change-Id: I0952f3f0ea9273a92c74fa42cd3ca9c6f9d042f3
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactor sync point implementation by using a commit thread to handle
all commits for better performance. Make use of commit count to
synchronize the release fences with the right point in the timeline.
Keep a separate commits pending variable to be able to queue multiple
commits as well.
Change-Id: I1303c49f2c56eb5b9a34c162a1896670d307a674
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to support a smooth and seemless transition from the splash
screen to the boot animation, MDP needs to handoff all the
hardware ctl, mixers and pipes that were staged by the bootloader.
Implement this functionality by populating the MDP software structure
to reflect the state of the hardware at probe time. This removes the
the need to turn off the MDP timing generator when transitioning to
the boot animation and reduces this delay to just one frame.
Change-Id: I607e7b8af3e477ad960497548e8617ceb9cfbdfd
CRs-Fixed: 546447
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Null pointer dereference can cause kernel panic, hence add
checks to avoid them.
CRs-Fixed: 553552
Change-Id: Ia854d7b65a5cf6a0fa214c34e658ea0f1380ac2c
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit f0d44a2e2f084613eb533d1846da582459950a82 as this
results in device not resuming after going to suspend state.
Change-Id: If9c83747a04579a7d8f40f194bb81af5e62f18e0
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Starting apq8084, mixer offsets have changed compared to previous
chip-sets. Some of the code is still using old method of reading
and writing to mixer registers which leads to incorrect hw programming.
Replace these mixer register read/writes with working method.
CRs-Fixed: 564273
Change-Id: I2aa1c5d24c6a1c5b89f77bd8d450c0831dd720b7
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Interface ctl needs to be reset by software during video stop to
prevent hardware's state machine from going into bad state. One
usecase that causes this to happen is when HDMI interface is
disconnected during video playback and reconnected with left and right
mixers swapped for the 3D muxing.
Change-Id: Ib62e39a8399a4e43c3e44f3ab5e0ad0acd5d77a0
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDSS has a common driver for multiple chip-sets. Each of these chip-sets
can have their own fudge factors for calculations of resource demand.
Move these pre-defined fudge factors to device-tree since they are
platform dependent.
Change-Id: Ia558a2ad0a096b49cdabf41dd25cf30c843149c4
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the command mode panel, all the clocks can be voted off if
there is no display update. To support this feature, every
operation which requires h/w access will be guarded with clock
vote on and off.
Change-Id: If56a656b9965a6044c38de5aa85969256d581121
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Color offsets are used by some X11 environments
to properly set/get the color format.
This change fixes the offsets to represent the color formats
correctly.
Change-Id: I5068897f18e1d119a9bb7f1fe59f9b662153e1b0
Signed-off-by: Eugene Yasman <eyasman@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set rotator output format for planar 420 as pseudo planar 420.
Configure BWC output format as MDP_Y_CRCB_H2V2 when
input color format is MDP_Y_CBCR_H2V2.
CRs-Fixed: 549326
Change-Id: I9c39ab3d8a867909853ffd6ecc2120ab160914d1
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
The register offset for DMA-S pipe was incorrect.
Change-Id: I2ab3ad83371b399cd7c625948198b3f397866750
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to support a smooth and seemless transition from the splash
screen to the boot animation, MDP needs to handoff all the
hardware ctl, mixers and pipes that were staged by the bootloader.
Implement this functionality by populating the MDP software structure
to reflect the state of the hardware at probe time. This removes the
the need to turn off the MDP timing generator when transitioning to
the boot animation and reduces this delay to just one frame.
Change-Id: I48f733cfaa3112eb6995e2fc70577f9defaf4600
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDSS DSI driver currently programs certain DSI PLL registers as
part of the DSI PHY off sequence. This is incorrect and could
lead to some unexpected errors such as DSI PLL getting turned off
while the branch clocks are still on. Fix this by removing all
such register programming.
Change-Id: Ie1e88cd18de6b8ef8804f7a2b34b8b8282166c96
CRs-Fixed: 509801
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Before reading any data from the panel we need to enable command
mode for dsi controller to avoid timeouts.
Change-Id: I9c9c03662bf7f19c6a4567be353d158cead03599
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 1c3fce18 introduced a bug which resulted in the dynamic
fps configuration function being called in response to the
command list kickoff event. This results in incorrect failure
logs getting printed whenever DSI operates in command mode.
Change-Id: I57359f624c2d6ddaa1a4c2fd7a5946ce9112ca16
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add multiple reads per transaction to support dcs read with length
more than 8 bytes.
CRs-Fixed: 525839
Change-Id: I06afa826f941f88c3fe6e2f799c10d12e01708fb
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Backlight should not be limited to be above a minimum level in the
backlight scale function. Nor should it be limited for all backlight
drivers (should be implemented in the culprit panel's set_backlight func).
This reverts commit 2e5776fdb8acd50ad84752df0c6e0debf42cdf5d
Change-Id: Idcbf26eb3babb2a29964b9c7fb8e95aa31a8c5b8
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Width was not calculated properly. This would cause ppp to go
into bad state and hang.
Change-Id: Ie70db84802d668ea169cbb42025cb3e5aab230da
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|