| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shared memory pool (SMP) blocks are limited, in some cases where there
are many overlay pipes used, we may not be able to get enough blocks for
rotator sessions. In such cases fall-back solution must be considered,
however for this to happen this would need to be identified during
rotator session setup. Move logic to do pipe resource reservation in
rotator setup if possible.
Change-Id: I223281fb51b81baf852cac415a8c61c0de35c2c4
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When rotator setup fails, the session should only be finished internally
if it hasn't been reported to userspace. At the same time, need to
ensure that proper cleanup of rotator list is happening, through
internal release path.
Change-Id: I7a6f46261bf8783547de1c7f7fd6893916b25827
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During the kernel initialization, we need to set
rate on the mdp core clock rate. Otherwise, the
core clock rate is at its minimum, causing display
under-run on large panels.
Change-Id: Idcd69a758cbf3022f8ad6590b021f21dad5972b1
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Wrong flush bit is being set for writeback mixer which can cause
MDP hang/unexpected behaviour when the mixer is used in line mode.
This patch addresses the issue by setting the correct flush bit.
Change-Id: Ie0c2ee27b1f466164a8fb84f7daae9309b74d1d8
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move iommu attach logic to rotator play and writeback
queue buffer from overlay_kickoff to make sure iommu is
enable before mapping any buffers.
Change-Id: I92eb3d4686c1641728980d057f2de6c0d324be71
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable CEC (Consumer Electronics Control) for 8084 by adding
supported HDMI version while configuring CEC.
CRs-Fixed: 585634
Change-Id: Idfd1a7b5b48957ca0da9501d875bca0f6862500a
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a utility to halt MDSS axi ports. This utility can be called during
deep suspend, display off or for debugging purposes. On success it should
be assumed that AXI ports are in idle state and would not fetch any more
data.
Change-Id: Iaec2c7f56cf77ff3db0e634cb4ea843da023be9b
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a utility to halt any pipe fetches and wait on it until all fetches
are completely halted. Use this utility during staging and un-staging
of the pipe.
Change-Id: Id865970063dffc2870be5fd2cf51b9711134dc89
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently display driver contexts are not utilizing interruptible
wake-ups while using wait_for_completion_interruptible_timeout. This
can lead to incorrect context wake-up and un-predictable outcome. Since
there is already a timeout attached to these kind of context sleeps, it
is safe to replace them with wait_for_completion_timeout.
Change-Id: Ia528debf34aef0acdda2bea1219a128c200c3651
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDP is able to support higher resolution and is only limited in height
by the MDP clock rate. There is already check in place for the MDP clock
requirement, however need to update phase step calculation to handle
proper overflow conditions for these higher resolution according to
hardware constraints based on potential overflow while scaling with some
phase steps. At the same time hardware is able to handle some conditions
that are currently failed, so enable these to allow more cases that can
go through MDP.
Change-Id: I4c5a569e115302f05db7c525c0f8a76ed1738521
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add DSI video mode test pattern generator API support
to use it whenever necessary.
Change-Id: I4bcbfc592bf77fd57ab55ccabd582478e1522acc
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Update DSI panel configuration API to parse the
dual DSI configuration passed from kernel command
line.
Change-Id: I1a6f65a5ea385df46db2d81dcedc24c192ce1388
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The register address offset values are currently stored in macro
variables. These are now being moved to device tree. These addresses
cannot be calculated in cases of targets which have single DSPP like
8226.
The required register address offset values are added to the
respective target device tree files. The address validation
functions corresponding to PP are modified to read the values from
these newly added device tree entries.
8x10 target does not require this change as it uses MDP3
architecture.
Change-Id: I9387c8fadc36e3bbaceb51b243d3a9537250a3be
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In PP the validation for DSPP number is being done using macro
variable, whose value is constant across targets. Different targets
have different number of DSPP and validation is done based on
check for DSPP number exceeding the maximum available DSPPs on
target with highest DSPP available.
Using the number of mixers present information present in device
tree for validation. This provides validation specific to target.
There is a bug in freeing heap memory in PP terminate. The struct
mdss_pp_res is checked incorrectly in terminate before being
freed. Inverted the conditional check to perform rightful check.
Change-Id: I854dd59c93a8712e5b8b05ff27a7661117998777
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mdss_fb_update_notify does not return Suspend in NOTIFY_UPDATE
case. Daemon polls on NOTIFY_UPDATE but does not get Suspend
notification. Hence Daemon would not stop polling.
Suspend Case is added in UPDATE case.
Change-Id: Iaeaf819a6849acda2eb7eb78f0fc3306866d1b64
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The eDP panel backlight is now configured using nanosecond duty cycle
and period for PWM. A nanosecond PWM configuration is needed in order to
satisfy the granularity needed for 255 backlight levels and the eDP
period. If the pwm_period is very large, then the microsecond
configuration is used.
Change-Id: I946e6291135f79887bfcc60fb339c4d49c1de11b
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The pan display api is using the frame buffer allocated
from the display driver. This change is to use the
splash screen memory as frame buffer.
Change-Id: I2560aa644c92145658ac4e873ba6d2e58c5f502a
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Disable and enable of vsync happens in separate thread, which
may lead to a race condition where enable/disable may
happen at the same time and resulting irq in disable state.
Add lock to properly synchronize the enabling/disabling
of vsync interrupts to fix race condition.
Change-Id: Ib52bea5ca7a3612c866a4a962f09725a77e40563
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
After the display is off, the user space can still call histogram
stop operation.
Change-Id: I5c28b3e7e0529319de9d22ca49bdd606994cf7fd
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is required to display the splash screen as soon
as fb driver is probed. This shows the device life
at early stage before boot animation rendered by
surface flinger. Current implementation shows the
splash screen only when continuous splash is disabled.
Change-Id: Ib1e049c9ae82a621cc709339414096b954d79a09
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
[cip@codeaurora.org: Moved splash.h file location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rename properties and compatible strings to return to the old
naming convention.
In porting patch to 3.14 we had conflict with these files:
Documentation/devicetree/bindings/arm/msm/memory-reserve.txt
Documentation/devicetree/bindings/arm/msm/msm_memory_hole.txt
Issue was these txt files no longer exist.
Change-Id: I20a430fc061ed834c33a37873d0e1898129ed24b
Signed-off-by: Kumar Gala <galak@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Split display flag is derived from dsi controller configuration
specified at dtsi. Therefore no need to add checking panel
type at FB registration.
Change-Id: I5b60656c1f5724bdc358d743b8d7600d5beba0b3
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Vsync clock rate is not set when vsync clock is enabled.
This cause command mode TE logic not works.
Change-Id: Ibf7dd07e53b2cd76ef30f13133368000c79ae149
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for new histogram hardware that no longer needs to be reset
or kicked off. This changes the initial state we put the histogram
software into (no longer need to clear histogram data bins before
collecting, and now need to ensure hardware is unlocked), the way we
collect (no longer need to kickoff or enable auto-clear, and now need to
lock hardware while reading) and disable procedure (no longer need to
cancel potentially running histogram).
Since resets are now controlled by hardware (and operate on the buffer not
currently visible by software), we no longer need to track the status of
histogram reset requests.
Additionally, SSPP histogram no longer exists in v2, so prevent attempts
start, collect, or stop them.
Change-Id: I36be26c067481f306cf50d952334ba37e8deaaba
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Update OP_MODE register access on all source pipes for
calibration service to enable/disable PA, IGC, six
zone, etc post processing blocks.
Change-Id: Id52d7af71e0c0ad758c3ca939c8e1991c1dcf6ff
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Store hardware base address and interrupt register offset on histogram
hardware structure.
Change-Id: I28b921622ab9c6d6143a54f97864e6f9c4697bde
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
pp_hist_disable will always use the same bit field for differing histogram
locations, just with different shift values. Store the base bit field in
pp_hist_disable.
Change-Id: I86a2f9014f0eb5cdc82a3b5998948f3a11cdff87
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Remove the 'is_kick_ready' variable from the histogram info since it is
duplicating col_en.
Change-Id: Ie2b3d5fae83d3030e79b323260223458eed174b0
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each read request should only capture one histogram done. completion to
prevent future histograms from trying to read unavailable data. Makes sure
that the read request is set for both pipes before waiting for a new
histogram. Likewise, make sure the read request is unset for both pipes
after waiting. To prevent accumulation of histogram bins, only kick off
histograms when histogram state is IDLE (i.e. read or reset(recently
zeroed) bins).
Change-Id: Idc1ebb14dce500a6e5dfc0261ecec992e727a380
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Recently in an attempt to enhance sync event reporting we
prevented sw vsync when dma is turned of from toggleing display
off and on.
Change-Id: I71c9be55d36dc92e513d9f5ead4d1e42157285c6
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The driver was assuming the color format and resolution
of the overlay to be the same as frame buffer. This
causes page fault and corruption if the client is using
a different color format or resolution. The change is
to re-configure the dma pipe if the overlay configuration
is different from the default.
Change-Id: Ic7558811a3015a416b2428fb0d626bf13663e528
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
BL_DCS_CMD should be sent in HS mode on 8x10 as that could
reduce the dcs command transfer time in blank period.
Change-Id: I841dc788808ea10848f0b06d5b3f4fa010f51b17
Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While merging to 3.14 kernel this is only display
related changes for commit below
Change ID:I20f2a4503c198ba9d1d04a77b03411dcc98e8aa1
Change-Id: I3a1598a2d9fb716fd0835cc58b253af7d557e333
regulator: move the rpm-regulator-smd driver to drivers/regulator directory
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Parse the maximum brightness level supported by different targets from
device tree instead of defining a macro for all targets.
Change-Id: If997f87c75d763395844cc11dbb8b8c0c24f4212
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
To enable constant color on a pipe, set MDP_SOLID_FILL in pipe
flag. This will do a solid fill on the pipe with the color
specified in bg_color.
Change-Id: I3201e2fa657a6fc6d0e7f51f8585366afc3d29a3
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Root cause of the original issue mentioned in commit 9f9e334 has been
identified and fixed. Reverting the temporary workaround.
This reverts commit 9f9e334e5cfce2c5ef02677353933760e839acf4.
Change-Id: I1a3ac374244e071c95e27042687dae5e5839f6b9
Signed-off-by: Ujwal Patel <ujwalp@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: If2ecc3cedfd92e20b2e98b0ac4f6f3608ce78579
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Handle FB_CUR_SETHOT flag to enable cursor hotspot support.
The cursor hotspot is a point on the cursor image used as the active
aiming pixel for user input focused on the display.
The default cursor hotspot is at (0, 0) i.e., the upper left corner
of the cursor image. This works for a typical cursor image like a
mouse pointer with the tip of the pointer arrow at the (0, 0)
position of the cursor image. If the cursor is a cross-hair, its
hotspot would be at (31, 31) i.e., the centre of the 64x64 cursor
image. For a 64x64 cursor, the hotspot is specified from (0, 0) to
(63, 63). The cursor's hotspot pixel is displayed at the
(img->dx, img-dy) cursor position on the screen.
Change-Id: I366d3e3faea17c4fa083adaec30e9ce83f742d6f
Signed-off-by: Beeresh Gopal <gbeeresh@codeaurora.org>
Signed-off-by: Mathew Karimpanal <kjmathew@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
BWC src width is segmented into 16 aligned RAUs. The segmentation
into 16 RAUs needs to be rounded up for corner cases.
Change-Id: Idbf675d7adfb45cb28e6c456dd4fd7c7f41ea280
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When in AD calibration mode, AD should still be programmed even though all
other post processing features should be temporarily disabled.
Change-Id: I15ab36c657d9936386ff24cdd343711e29e157bb
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
If VIG3 and RGB3 pipes are used, they are causing lot of under-runs.
Temporarily disable their use until root cause is identified.
Change-Id: If0455337e0f88a36d25bde06ac3a54ac82586f42
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Hardware cannot support decimation and bwc together.
The use case should be failed.
Change-Id: Ic7547340eb08d542a296aa9cfdd150e7eb0bea4b
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Synchronous flush should not be used on command mode panels. If used,
as done in current implementation, it will only generate start signal
to left ctl path, and right ctl path will never receive start signal.
This leads to right half of the display to be blank. Fix this by
enabling synchronous flush only for video mode panels.
Change-Id: I9d950febcd0b5c046f6461dbb0a1f99208b93f06
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not force the commands to be sent in HS mode, and let the
caller function set the mode as required. Make sure that the
panels which can recieve panel on/off commands only in LP
mode wont go to bad state due to this forcing.
Change-Id: I093978cb3bfd3022e4158c93d154e5c9fcb32e66
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Kernel 3.10 defines pwm_config() to use nanosecond parameters, but
now some qcom drivers still use pwm_config() to pass microsecond
parameters. pwm-qpnp driver has already provided a new API called
pwm_config_us() to support microsecond parameters, so we should
modify to use pwm_config_us() instead of pwm_config() for these
drivers.
CRs-Fixed: 587715
Change-Id: I222440bb7636972b9ae35eba175ddffc58095ce8
Signed-off-by: Xu Kai <kaixu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
LK sends default panel parameter string through
kernel command line argument if auto detection
fails or display is not enabled. DSI driver probe
is failing to parse this panel parameter passed by
LK. With this change, DSI driver will select the
preferred primary panel configured in dtsi if
it parsing fails.
Change-Id: Ief4804ae2cc10abf74317d64fb1b889bd41228d2
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue where we would report that dma is displaying
new frame, but in fact were really still displaying the old
frame.
Change-Id: I99dc89b2341481ea42f9cce451b9b2833dd1f700
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Configure MDSS_MDP_REG_SCALE_INIT_PHASE_X and
MDSS_MDP_REG_SCALE_INIT_PHASE_Y only for VG
pipe.
Change-Id: I95aac47d7f9cdeffb208bf7c08040b90cb2e364a
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add demo mode feature for numerous post processing features. In dual pipe
case, demo mode allows for either the left or right pipe's feature to be
disabled to showcase its effects. Features supported include assertive
display, gamut mapping, panel gamma correction, inverse gamma correction,
dithering, picture adjustment (v2 only), and polynomial color correction.
Change-Id: I8bceeffc11967ff23497df7739e6f99c30d2b10f
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Extend the support for esd recovery for command mode panels on
8x10 targets.
Change-Id: Icf289918e46f5c975d459355823ff62916cb66d1
Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
|