| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Separate framebuffer specific logic from data path controller.
This allows the framebuffer API to be agnostic of the actual
data path configuration and support more complex display use cases
more easily.
Change-Id: I5553552a352dea234c6fb33000a5c56a7d643251
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
HDMI panel driver needs access to framebuffer information
in order to register some sysfs nodes with framebuffer driver,
this is currently accessed through framebuffer private data.
Change the way this information is accessed by implement a
panel event which provides information when framebuffer
registration happens and providing pointer to framebuffer info.
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Change-Id: Iab7f104e461ebddc30d9e3936848b4a1f41715b7
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Handle GPIO request failures and vreg request
failures gracefully with proper error value
propagation.
Change-Id: I39804d3b6c9cd581c554ab822ba57fadcddceca3
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Enabled logs for performance testing purposes
CRs-fixed: 433958
Change-Id: I67be767f6c15d41969c335e517640be259aa46fe
Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Move resetting of clock variables and other resources before they are
ever used, this will avoid some variables being used before they are
properly initialized.
Change-Id: I9e7e9e0f272647f859927d9343a2d3a7adc7c933
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Restore the configuration of each post processing feature on resume.
Previously only enabled/disabled state was being restored causing some
features to become misconfigured during suspend resume case.
Change-Id: Icbd6584a85b4464931bff4498c0a218948b15822
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During suspend/resume if resume occurs before hdmi tx driver has
finished processing suspend then internal driver state gets out of
sync with actual hw state. This will prevent mirroring if hdmi cable
was connected during resume. Fix this by making resume context wait
until corresponding suspend has been processed.
CRs-Fixed: 441714
Change-Id: I0aa29b8760451f1c2d06576cccf889d9f803397e
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Release of sync points is meant to be done when there are no errors
during panel off sequence. Correctly check error condition to get
expected behavior.
CRs-Fixed: 437975
Change-Id: I84a786bd5c1f4db69e482510f08cbf9215a1e44c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow dynamic changes in control paths by changing interrupt handler to
be able to handle different configurations depending on how control path
is configured, additionally make sure to clear control path mixer
configuration to make sure all pipes are properly dettached and won't
conflict with new control path configuration.
CRs-Fixed: 437343
Change-Id: I89c833f2cb6cc2556d15d468375d88a7a550f85e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Picture adjustment parameters can be configured via
OVERYLAY_SET IOCTL.
Change-Id: I7ccb9a03a20bf4441cf8e675dca517513a7aaff1
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Reorganize post processing configuration functions to allow for easier code
reuse on other post processing features that are not located in the DSPP.
Change-Id: Ifd89afb3066ff0d6dba1d564ef09032cc981f65b
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To support cases in which there might be changes in mixer stage before
commit, allow user space to set any mixer stage even though it's being
used by a different pipe, the replaced pipe can then be used in a
different mixer stage or cleaned up.
Change-Id: Id12ed4e9c4d08e0ed4b559be38beb2a44cd85c80
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Current location of no_update_notify completion does not wake up when
fb_blank is called. Since no_update_notify tracks panel power state (it
is assumed that screen updates are expected when the screen is off/blank),
no_update_notify should be completed in the blank helper functions rather
than suspend's.
CRs-Fixed: 434491
Change-Id: I3f74c6d31ba556352e248beb03ce724dbc0c1863
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The early suspend level is used to order how different listeners are
notified about suspend/resume events. MDP should be suspended at latest
point after FB has been blanked to ensure there are no updates coming
after suspend or before resume.
CRs-Fixed: 439900
Change-Id: I9122f4bbc08d391d6581750592d0513c5afbfd9a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add gamma correction LUT feature for DSPP and define flags to
differentiate between gamma correction on layer mixer and DSPP.
Change-Id: I626324587bd9c7c00e3e053d101959e54b218eac
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
fb_var_screeninfo reserved[4] is used for panel
frame rate passing, this has been replaced by metadata
ioctl call.
Change-Id: Idf3d63c8d00c546b9dc589a860d957d3414d8a1b
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Add metadata ioctl for retrieving panel frame rate.
Get ready to remove reserved fields usage.
Change-Id: I51a4aed9d85efd5f83a184100b6a3dc682c7a67c
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pipe locks are used to prevent pipes being updated by two different
threads, and to avoid updates when pipes are being released.
Update by two different threads are already protected by a different
lock (mfd->ov_lock). For updated while being released replace the usage
of pipe locks with ref counts to ensure pipe is freed only until there
are no updates going on.
CRs-Fixed: 438108
Change-Id: I5c41b4efa8d42bfcfc1b9e6ebe4225c46bd27084
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MHL implementation in 8974 for handling CBUS interrupts to
enable and handle MSC translation control packets.
This change also includes implementation of RCP/RAP
protocols by registering MHL driver as input device
and building key code mapping.
Change-Id: I73e399bbbf9b2f53974225aaa8697fce2057d017
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
User space clients usually start to listen for vsync events a lot
earlier than the first update which triggers the timing generator.
Allow more time for the first update before timing out on waiting for
vsync.
Change-Id: I0a9f2e838b25459e87ca26b63467f16a936e6b9c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When panel is suspended, the vsync spin lock may be reset, ensure that
access to this lock is properly protected and avoid using this while
suspended.
CRs-Fixed: 434075
Change-Id: I6f67faed6c9af791563768333ff674b9472d9478
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to allow userspace to manage framebuffer with overlay APIs,
allow first full screen layer to be setup as framebuffer, and use the
framebuffer alpha channel for per pixel blending configuration.
CRs-Fixed: 437256
Change-Id: Iae09da427903659576dc0ee1fd2b00dccf3bd91c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add "ext-vbus" power_supply which acts as a supplier to the USB
power_supply. When MHL is detected, it will notify USB of the
online and present states, as well as set the current limit.
Currently (no pun intended) there is no specification in MHL
about specific amperage, other than minimum required for operation,
so use 700mA for now.
Change-Id: Iab5d82b29bca66330922f1da404d3bfe5d95024f
Signed-off-by: Jack Pham <jackp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add picture adjustment structure input for overlay
PP configuration, user can change PA setting via
overlay set IOCTL
Change-Id: I3b4679991ad4527565809e291fb13a73fbda2181
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Border fill setup can be used to unset MDP pipes allocated for
framebuffer replacing it with border color fill instead of contents
fetched from memory. These pipes can then be used as overlays by
userspace apps.
Change-Id: I152dd07d867fb618cea7b72980f4bd75816e3034
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Save panel on/off setting in suspend status to be used
when resume, return success as a temp workaround.
Change-Id: I10a4136d987a8dee84b2d4750699bfef919c7911
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
When mdss is in resume process, other operation needs
wait until it is done.
Change-Id: I93696bdb9a4b6ac88d88eeb32bfcede5e2f62c8e
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
MDSS needs re-request bus and clock when resuming, clear
the cached related data, as they do not reflect the hardware
status.
Change-Id: I4a4b7452f5f8d6fa586904b3badee5f6968110ea
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Schedule a workqueue, do the current job in the workqueue handler.
Block the second entry if the first one has not finished
Display commit ioctl will do what pan_display
can do, addtionally has customized setting, such
as non-blocking call
Change-Id: Iccced7d7540c6a8bb066f58fa245bbff5ed36fcb
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MSMFB_BUFFER_SYNC ioctl is added for hwc to pass
in buffer fence, driver creates release fence and
return to hwc.
Before display update, driver waits for the fence to
be signaled. Signal the release fence after update is done.
Change-Id: I3d8cd5e8df1f0415832507d19cf629f4c0432164
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
[cip@codeaurora.org: Change sync.h/sw_sync.h include location]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change stores a static flag for keeping MHL device
discovery and makes the driver flexible to function in either
one of the modes. It would be very simple to make this dynamically
configurable through boot param or module param.
Change-Id: If3915c5861e61bc572a9b4e239a6133e5e9a138b
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the histogram collection times out (usually caused by an underrun) the
hardware does not trigger a histogram done interrupt. In fact, the
histogram hardware returns to its idle state after the next frame starts to
draw. Thus, in the case where histogram times out waiting, changing the
software state to HIST_IDLE allows histogram collection to continue.
Change-Id: Ideb431209067c7d7e5a2bb94a7352ad90dd46e50
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Suspend is a special case in the update notify feature in that it is a
known state of no upcoming updates. Cause those waiting for a "no update"
notification to wake up.
Change-Id: Ie415d6c8da36d9871ed1dffad095529a20ebdf88
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Initialize the Histogram LUT during MDP probe. This is required otherwise
the first histogram LUT request shows a brief period of garbled colors.
Change-Id: I60b3077883d0f57dfe3987d7b459477a43da09a5
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On cable connect, USB driver triggers MHL's device
discovery through an API. This device discovery should inform
caller if the device is MHL or USB host mode connection
since both hold ID line low. If SII 8334 Tx discovery
routine returns a result of non-mhl then
MHL driver should notify usb of this result
else usb will not be able to proceed further with
it's worker functions and state machine.
Change-Id: Ie20e0dd517a191ed6df75050042bdcb0ebd01233
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Allocate regulator from MHL driver for 3.3V which is
required for the high speed switch to function and toggle between
usb host mode and mhl mode
Change-Id: I87a9db951ff004d0a10caa390723eefddfc0db5e
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This discovery mechanism puts the device in complete sleep
mode (D3) while leaving the device discovery disabled, and
wakes up when USB driver calls the device discovery API
from D3 mode by resetting the chip.
Change-Id: I7db8dd86c54285a4903c582ae35f6c9d4329ec48
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MHL has three power states, D3 - low power sleep,
D0 - high power MHL state, D2 - intermediate stage
which powers up the chip but doesn't activate the
MHL/TMDS lines.
Change-Id: I9282a32724e0ac4f7c23233f4bfba97f548d7ac9
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All the ID lines, D+/D- lines are configured to USB by
default in this change. All the USB interrutps will be
routed directly to USB, which will trigger interrupts
in the USB driver. All events on ID line are handled by
USB, even in the presence of MHL, USB driver triggers
the device detection mechanism through established APIs.
Change-Id: I7e70965cf46dfa5734918b2e21db5a162c570706
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds the implementation of mhl discovery
detection procedure, USB hand-off function. Three APIs
are exposed from MHL driver to USB driver: for
register/unregistering callbacks from USB and triggering
device discovery detection in MHL hardware. By default, all
the USB interrupts are directed to the USB hardware which is
detected by USB driver and at appropriate points the USB
driver triggers the MHL device discovery and uses the results
to either hand control to MHL driver or continue with it's own
detection mechanism.
Change-Id: Ic1e22bc4c446de209f2e72d5dda8b823bfd398c8
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Upon detecting HDCP authentication failures, reauthentication
attempts should be kicked off after a small delay. Instead of
using kernel timers, this is achieved by having the existing
HDCP work item as a delayed work.
Change-Id: I7d04b33b159c718cd347576d18cffd1b705bb790
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When a connected sink is operating in DVI mode, the HDMI Tx
controller should also be programmed accordingly to operate in
DVI mode.
Change-Id: I63176b55be86a0fe73b23880fc1d45f7a2272d32
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using this new interface, HDMI-Audio codec driver can retrieve
sink's audio capabilities. Based on this supported capabilities
and current playback clip, it will pass appropriate audio setup
information to HDMI driver for configuration.
Change-Id: Ia52f72d955778859c381a5e6c94aba57e40d13b2
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently the ammount of shared memory pool blocks allocated for
fetching latency lines is based on the full stride of image. There are
cases where only a small part of the image is fetched, smp blocks should
be allocated to acommodate the fetched width only, and free some memory
to be used by other surfaces.
Change-Id: Idaa7fbc583a2c4a5166f9e05010a0ae2ff56747a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Overlay flag is_fg is used to disabling fetching of buffers for a layer
and all previous blending stages. Need to consider this as part of bus
bandwidth calculations and only request bandwidth for layers that are
going to be fetched by MDP.
CRs-Fixed: 425643
Change-Id: Ie964f5e4ac77945ea6f84a47d337591ddfa1721c
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Panel driver's porch value representation is similar to VESA standard but
framebuffer API's representation is different. Correct this conversion from
one representation to other.
Change-Id: I1fdc7e664de99a5ad646beef2e74f7066a00c2e0
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
To avoid any possible freezes while waiting for vsync, add a timeout
while waiting for vsync interrupt and report a visible warning.
CRs-Fixed: 428821
Change-Id: I328ac05b98741fc77eb424c313a3b3afb3e206d2
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Wait for ping pong was used to ensure that hw is idle while programming
any double buffered registers, however most registers that really are
changing are double buffered. Remove for ping pong done as it's only
causing frame drops and some freezes in some cases.
CRs-Fixed: 428821, 426136
Change-Id: Iafebebab7faf0efcb1b3f6a8d2723d67a93d5cd9
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During device suspend, HDMI driver holds MDSS suspend context until
audio is turned off. Continuous polling for audio off results in
unnecessary delay in MDSS suspend as well as watchdog crash. To fix this
enable/disable MDSS GDSC regulator during HDMI hpd on/off. This will
make HDMI independent of MDSS module in terms of register accesses. Also
increase the sleep time between consecutive poll reads in order to
prevent watchdog crash.
CRs-Fixed: 425536
Change-Id: I7969f0ed8bcce4a356ee6a1e29ed2af76dd345ef
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Implement HDCP (High-bandwidth Digital Content Protection)
feature which is used to encrypt audiovisual content
transmitted over the HDMI link.
Change-Id: I6ab92585f979d796d1a40c0ff86d4e7363506b6a
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
[cip@codeaurora.org: Moved new file locations]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|