| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
User space expects non-negative number as session id, update rotator
mask to avoid making rotator session as negative.
When rotator is closed, need to recalculate bus/mdp clock numbers.
Change-Id: I6c0e3bfa5394fb64b78fb47be1f24462e320916d
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Current clock and bus scaling calculations consider only source
surface pipes to set clock rate and bus scaling factor, however
since MDP also generates pixels for border color this area also
needs to be considered for final clock and bus scaling factors
for data paths that use layer mixer.
Change-Id: I9463c01dfd0b7a301797bd036f563e15d5195dbd
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Perform cleanup of surfaces destroyed with overlay unset until next
display update. This enables a smooth transition in case multiple
surfaces are unset before next frame update.
CRs-Fixed: 406645
CRs-Fixed: 406553
Change-Id: I843c7f11fc943d8351b7408116101ba20f25d116
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All display commits happen with pan display in order to have a single
sync point when using multiple pipes, and avoid blinks that can happen
when updating surfaces out of sync.
Exception for this case is writeback where commit is still needed, keep
this implementation until this exception is corrected from user space
applications.
CRs-Fixed: 408105
Change-Id: Ib40c4872f43e6a939c45624677b2ab1f64a3b31e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit ioctl is used to update contents on display while avoiding
console_lock done through framebuffer pan_display path, which causes
additional delay on display pipeline leading to flickers on HDMI.
Change-Id: Id3522d322ba08b110d540e10214cadfbbb0bcc25
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Use carved out memory allocated exclusively for framebuffer
instead of using up memory from ion pool.
Change-Id: I4b248a21380a3ef737fe2fd8eed6de9747fe47c7
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
There are some framebuffer devices that don't allocate any memory such
as HDMI or WFD, warning for no memory is not necessary and it just
floods kernel log hence removing it.
Change-Id: I8f9ba1cda1f55c741b99d462adf74531d73aaeee
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Modify initialization function to take changes in input paramaters
including resolution and format instead of doing a one time
initialization.
Change-Id: I01c575fd1d957218296e658b3b4b8d72cd138614
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
play_cnt is used to manage currently displayed buffer, this value is
incremental and should be initialized only once for new pipe creation,
but overlay set can be called after pipe creation to change params.
Remove reset of play_cnt to avoid reset on subsequent overlay set calls.
Change-Id: Idef90a6123c4e1a9e8b1ab963bf78330cdd912bf
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDP layer mixer only supports up to 2048 width, if the panel resolution
is greater than this dual mixer needs to be used. Setup each mixer width
as half the panel width instead of allocating max width on left mixer
and use left over for right mixer to have better load balancing.
Change-Id: Ibc01591e2e6d5e5f98e81dfba766493abd9895a5
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
HDMI and WFD don't allocate any memory for framebuffer, in this case
there is no need to check for available framebuffer memory.
Change-Id: Id3fc6279e1b2a5d4b96d3b85e29ba6865a4dd38f
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
Venus format expects luma height to be aligned to 32.
Change-Id: I1ccd5ddb91d1067a68b576891ddf4d73360108ba
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the dsi_sw_reset from panel ON sequence to controller
initialization function. Enable clock lanes and disable
controller before doing reset.
Change-Id: I570615a931214021360070cd1cfea4ed3b6812d5
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Enable hot-plug detect circuit of HDMI Tx controller
to sense connect and disconnect events of HDMI cable.
Change-Id: I4e5614d32f5c9885f23060d68ad5b6a72a045177
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
DDC data channel is used to read HDMI sink's EDID information.
Fix the request length for this read transactions to prevent
EDID read failures.
Change-Id: I74b2ce344cdd08721a78641a7553c85927a96831
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Generalize and move HDMI Tx controller's clock access mechanism to
mdss_io_util so that other mdss modules can reuse it. Also correct
the name of iface clocks.
Change-Id: If0ed2c4244a9a0fcdb819f63010555d968a0b036
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Move debug log macros to mdss_io_util so that all
mdss modules can use the same mechanism.
Change-Id: I960fc394c60b74d694a81ad636b7055a224a2c6f
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Generalize and move HDMI Tx controller's io access mechanism to
mdss_io_util so that other mdss modules can reuse it.
Change-Id: I097af956706dcbf2e9fa1f6b5983a550a462fed1
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The clk_set_rate APIs should not be called in atomic context.
clk_enable APIs doesn't need to be in atomic context. Add code
to remove spinlocks for these clock APIs.
Change-Id: If5e543135bda681ee8ddae35ab91288f535a9e9a
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MSMFB_HISTOGRAM_START, MSMFB_HISTOGRAM_STOP and MSMFB_HISTOGRAM support
Only read the histogram data when there is a new display commit
Only generate the next histogram collection when there is a display commit
Cache the histogram data in order to respond quickly
Change-Id: I4532eca3bb8daa9e03ef78770c9e47d968c7c140
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Support gamut mapping via pp ioctl with logical display id.
Allow changing processing order with pcc.
Change-Id: Ia37afbe40b73c08fd8760bae84307889280368ce
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Dithering configuration from PP ioctl with
logical display id for mdss.
Change-Id: I4c8409b253dc1ab5625f342f45f61246d538691b
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Support histogram enhancement lut control for logical
display for mdss.
Change-Id: I915e1f1ca0ba1c53b8ce5b627a8d10cc15ebbf76
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Area reduction gamma correction support for mdss.
Support logical display id via PP ioctl for argc setting
Change-Id: I8d1dedc016809f73de0605ea68e6a1bfda580648
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Inverse gammam correction display support for 8974
Use logical display id via PP ioctl
kernel 3.14 upgrade conflicts:
include/uapi/linux/msm_mdp.h
Change-Id: I9f1bec84a401f079690ecfd622a2e5f0f8307ff6
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable 8974 polynomial color correction support
Cache the setting via logical display id, config
hardware in the next display commit
Change-Id: I11e3d2036c2ab8de881d394d53c6098932f810b5
Signed-off-by: Zhang Chang Ken <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Implement overlay pp csc configuration for mdss
Reset the play cnt when MSMFB_OVERLAY_SET is called
Change-Id: Ice2e3700a275c5375ee4939bd3484b7ee5def898
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Buffer flags are going to be specified at allocation time rather than
map time. This removes the flags argument from the ion kernel map
function.
Change-Id: I91589ca7b1ab142bb5ac8e6b0f4c06fa1305f23a
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Heap mask field passes as argument at allocation time to specify ion
heap.
Change-Id: I8881dfc491dc0f8f70581ad97b35756a6a33dd6d
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Use early suspend API for suspend/resume to allow display more room to
turn panel off/on before system goes to suspend mode.
Change-Id: I70b8b1055c30b940eda49ebad0db341259e903b4
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Remove references to global variable by using driver data to
access mdss global data.
Change-Id: Icaedf0fffe22b6d375df8f87f555b415101c6628
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes vsync ctrl ioctl can happen before panel is on after resume,
in this case driver needs to remember state of vsync ctrl and apply
after resume.
Change-Id: Ia583bd9e3a858c5972623eae0512fa27da8452e1
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Free overlays used before panel off sequence to ensure source surface
pipes are properly detached from layer mixer.
Change-Id: I712bfc1961607e09dcb976e4888db1885de09871
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid disabling video mode while sending OFF commands.
Add delay between the display reset line toggle
mechanism and GPIO display enable API for proper
reset of the panel.
Modify the PHY regulator control configuration sequence
for proper reset of the physical layer.
Change-Id: I2c890d52d773faab6020267121ea4557a59bd108
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| | |
Return a proper value rather than 0 everytime.
Change-Id: I0065a420c65e4800d114be4698618d66de89d105
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Support picture adjustment(hue, sat) for 8974
Use logical block id as input. Apply configuration
at next display commit.
kernel 3.14 upgrade conflicts:
include/uapi/linux/msm_mdp.h
Change-Id: I0e35e50aecdd346ec91373d0c304e21185f28502
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix performance issues seen with different use cases such as HDMI and
MDP composition by increasing bus scaling factor used.
CRs-Fixed: 398503
Change-Id: I2391f81c0cba1fa7f5849ce55ec89762765d7575
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
All msm_ion clients need to use <linux/msm_ion.h> instead of
<linux/ion.h>
Change-Id: Id079277f1f5688f08c8dec7f20308315ab46a081
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move HDMI Tx controller's regulator get to probe function in order
to support deferred probe in case regulator in interest is not
available or not successfully probed before HDMI Tx driver.
Change-Id: If0a5cf97a86c39fcdf649997c18121cc500f08a8
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove mmss_cc base variable. This is no more needed.
Create new controller platform data. Move the needed
variables as part of the controller pdata structure.
Change-Id: Ic5c72911dbfe889e1f8ff6992d438b6631796507
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement all calls to iommu driver from MDSS driver to map all buffers
to virtual address space instead of using physical addresses.
kernel 3.14 upgrade conflicts:
include/linux/msm_mdp.h
Change-Id: Ia194bf53dd881e36c702bbe4c024b652ed34df13
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Some framebuffer clients expect panel frame rate within reserved[4]
member of framebuffer info.
Change-Id: Ie74950366372af7211ef1c743f26657e89cb7283
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extended Display Identification Data, EDID, provides
support to read HDMI sink's various capabilities like
resolutions supported, HDCP compliance status, Audio format
supported etc. Add support for this in HDMI Tx driver.
Change-Id: Id9367a2f64557c385082bbd528afc24b54b98514
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Display Data Channel, DDC, is responsible for transmitting
EDID and HDCP information between HDMI sink and HDMI Tx controller.
Add support for this in HDMI Tx driver.
Change-Id: I58d10c61277d36425d89a2270f0ad0495ffd3a1f
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for HDMI panel power on and power off. Open and close
of fb device associated with HDMI panel results in HDMI Tx's
power on and power off respectively.
Change-Id: I9becdffefe681ce104d631e798d196e23dae4995
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Hot-plug-detect (HPD) circuitry is responsible for notifying
HDMI sink's connect and disconnect events. Add support for this
in HDMI Tx driver.
Change-Id: I40fdc64007bffe063ce125ce2e819b06a49d0eb5
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently buffers are unmapped as soon as it's queued to MDP, however
the buffer still belongs to MDP until a new buffer is pushed.
Change current buffer managment to track of buffers currently being
displayed and properly unmap buffers after a new buffer is received.
Change-Id: I6932191fc787f6f5b673edfb690ce1317e283587
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For HDMI, hsync and vsync polarity for resolution height greater than or
equal to 720 lines is active high. And for resolution height less
than 720 lines is active low. Program the these settings correctly
for mdp's hdmi interface.
Change-Id: I1a8889662f55676c13dfa8b7172bf7bcf7351cf5
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds the HDMI Tx driver in mdss domain. It uses
device tree framework to get the platform data and then registers
this device as dtv panel to mdss frame buffer domain.
Change-Id: I55534919bacea5b044c1da5d44dda8db496e1528
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
[cip@codeaurora.org: Moved new file locations,
replace regulator_set_optimum_mode with regulator_set_load,
add linux/regulator/consumer.h include]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support to make use of interrupt data pointer during an isr
such that mdss panel devices retrieve and use their private data
to service an interrupt rather than using global variables.
Change-Id: I51a6b1c2814a23b3297556e914ce9601ef266533
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|