Avoid allocating mixers LM0 and LM1 to external display and
writeback as they are allocated to primary display first.
Change-Id: I343a70dca2e664e5c9765fa2f0b933714b747b4a
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Update CCI voltage regulator voltage range to reflect the
corresponding change in pm8996_l17 on MSM8996pro.
CRs-Fixed: 1047744
Change-Id: I96c2070841b044f3ddfd19cad47f3cbc38452b6d
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
This is to support CVBS video input via adv7481 device on
MSM8996 Automotive.
CRs-Fixed: 1029211
Change-Id: I15ada5b7d69ad0759f0d4025a575598909548b7a
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Add voltage regulator configuration support for
adv7481 CCI on MSM8996 Mojave platform.
CRs-Fixed: 1021381
Change-Id: I9194d7b3b4f73afcfa37779ed4266e71b1876f56
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Add platform specific data for bridge abstraction
driver on MSM8996 auto.
CRs-Fixed: 998927
Change-Id: Ib354ce35acc69d0d636c68b29a9d59956f8ff55b
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
This patch upgrades ba driver to be compatible with the
latest v4l2 framework.
Change-Id: Id91953f7a4a075533e7e8bedab71e5c20d4da2c1
Signed-off-by: Jingtao Chen <jingtaoc@codeaurora.org>
Use dynamic allocation for debug buffer instead of static.
This is to avoid race condition which can cause buffer overflows.
Change-Id: I1b4eecb4280843064712ee3b7b52e23f55ab53c3
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
Remove signal status check during enumeration to avoid
any unnecessary polling of device status during bootup.
The single status check is done when device is open for
streaming.
CRs-Fixed: 1092315
Change-Id: I2027fe0fab0fb865071001e7400ba7672433d8f5
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Fix NULL pointer dereferencing on enabling multiple
BA profiles. It was due to improper pointer assignment.
CRs-Fixed: 1029211
Change-Id: Ibab903d8aaf4c74d0c35386778a84d9280dbb221
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Enable/Disable of bridge abstraction driver will be done
from kernel defconfig file.
CRs-Fixed: 1021381
Change-Id: Ie674de7c9c4a667a1eaeb6dd907341fef0cc34d1
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Move BA platform specific data into DT and minor cleanups.
CRs-Fixed: 998927
Change-Id: Ib68a7b16986b92a46a98beab0c35591274c334ba
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Probe function rework to have the drive capability
of reading from dts.
Change-Id: I5cc05d4e4ffd3d0f5546c1177516a2d0805be481
Signed-off-by: Domi Papoi <dpapoi@codeaurora.org>
The v4l2 event handler struct should be initialized
before added to the dev_ctxt->instances list.
The v4l2 event handler struct should be de-initialized
after we remove inst from the core->instances list.
Change-Id: I1faf6bab4232bbcd2ca567a9a11b0c8faa2f45ce
Signed-off-by: Domi Papoi <dpapoi@codeaurora.org>
Add proper locking in event handling so that invocation
of multiple events will not corrupt the event list.
Change-Id: I4499b3c0a106cbada54bbc122bb03ad5c30ed2c3
Signed-off-by: Domi Papoi <dpapoi@codeaurora.org>
Create bridge abstraction driver to provide a framework that can be
used to abstract different types of bridge chips under a common API.
The framework also allows multiple drivers to control different
functional aspects of a bridge chip.
The bridge abstraction driver is limited to bridge chips that deal
with converting audio/video data from one protocol to a different one.
Change-Id: Ib42365fb41afda8029f4f6e9b1ec27549d885659
Signed-off-by: Domi Papoi <dpapoi@codeaurora.org>
Specify a 2 A PWM vs AUTO mode load current threshold for the
BoB regulator. Also specify the initial mode as AUTO.
Consumer that require the BoB to be in PWM mode should request
2000000 uA or more.
CRs-Fixed: 2054771
Change-Id: I2d2687a9b2204f677818b639fb6650084cffd84a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
The panel used for msm8998 SKUK HDK is a special panel, brightness needs
to be sent with HS state to ensure that can be received successfully.
Change-Id: I4c0c13002de01aaea9e66e6cc011761234318a76
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
select_best_cpu() has previous CPU's cluster bias which overrides
the best_cpu with best_sibling_cpu when the power cost is same.
When the power table is configured incorrectly or static_cpu_pwr_cost/
static_cluster_pwr_cost tunables are set to a large value, the
power_cost() for all candidate CPUs can return INT_MAX. So the
stats.min_cost is never changed from it's initial value i.e INT_MAX.
In the above scenario, we find stats.best_cpu >= 0 && stats.min_cost =
stats.best_sibling_cpu_cost = INT_MAX && stats.best_sibling_cpu_cost = -1
and replace best_cpu with best_sibling_cpu i.e -1.
Change-Id: I09829e278e41daaaff959428ff50927aba29104c
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
During resolution switch, the vsync is disabled just before the switch
as part of ctrl stop, but it is not enabled back after the switch. This
change keeps track of vsync before the switch and handles it
appropriately after the switch.
Change-Id: I3eed93d7f7635217bac3c19c61f68154cacef56e
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
HDMI driver currently maps register addresses using ioremap()
but doesn't use the SDE driver utilities for register read/write.
Copy the mapped register spaces to SDE utility headers so that
other SDE APIs can be used seamlessly for HDMI.
Change-Id: I3cbe57778ff3a63ffd9176f1a2c60778238e3fe2
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Re-phrase PD notification registration debug message and
change state name of SSR/PDR to avoid confusion.
CRs-Fixed: 2057789
Change-Id: I5b800982c0d8c4d5ba627e28f3c9fa8eab7ca074
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Currently platform device is not enabled as a wakeup source, so
notifying the PM core for a wakeup event action will be no-op.
Hence enable it during driver probe.
CRs-Fixed: 2058010
Change-Id: Iefe5bcd4b498a9f02fca001ebcf8ad484f443217
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
A thread can read audio debugfs entry while another closes the
device. Protect these operations with a mutex and before read
check audio data to be a valid pointer.
Change-Id: If29a308c1a8329d7befd047d41abe5f6ab626199
Signed-off-by: Divya Ojha <dojha@codeaurora.org>
If the TE irq is alredy requested and registred with a GPIO, then
setting it to true and not continuing with further requesting of
the same.
Change-Id: Iacd1677127c2663d88826e58f1b72704b58db939
Signed-off-by: Rashi Bindra <rbindra@codeaurora.org>
Ensuring the CB size to be 128MB aligned, the bitmap will be page
aligned i.e a 4k bitmap page can represent 4*1024*8 4k page i.e
128MB memory. Hence a 128MB aligned memory will always have bitmap
at page boundary.
Change-Id: I42e07e5b6b7a8a03e4c3abd2a37f5b1c7de15669
Signed-off-by: Deepak Kushwah <dkushwah@codeaurora.org>
Add vmem clock config entries to msm8996 vmem device to fix
vmem probe failure. This will allow venus to use vmem that will
improve video usecase performance.
CRs-Fixed: 2044371
Change-Id: Id7f2797b12d93ef6d4a55cf50babdd25214747ee
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Some special panels may need high speed mode to send brightness
to avoid panel issues, adding this change can make a better user
experience using these panels.
Change-Id: Id2cd4b3652892cc7677d7c6863a67d93e24d980f
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
Currently USB driver tries to set power role as none and waits for
disconnect notification to set new mode. But there is a chance that it
might fail and stuck in infinite loop if other device is not dual-role
capable. Fix it by having timeout and bail out in case timeout happens.
Change-Id: I569356ee445c53950ed8fdd3f9994d4ae0e86131
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
debug offset comes from the user and can hold any value which can
cause unaligned access. This change fixes the unaligned access
problem on debug offset by properly aligning it.
Change-Id: Ic61c2651986ea6c98cc7d58e27af3e5fe6e42a88
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>