Age | Commit message (Collapse) | Author |
|
With 3.18 kernel, get_session_time command to
DSP is updated to new command. This
command is not supported on older targets as
they have an older DSP version. To have backwards
compatibility, based on DSP version choose which
command to use.
CRs-Fixed: 978676
Change-Id: I76b0cfcd84df90d7a206690cb8aa1eb773fdc53d
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
|
|
A50x GPU RBBM_CLOCK_HYST_UCHE idle setting recommended value is 0x00FFFFF4.
Update accordingly to reflect the same.
Change-Id: I95d79040c645e418ed26ea72ba84af2c2c7efce9
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
|
|
Update logic to print VADC peripheral register content
in case adc conversions are met with error condition.
Change-Id: Ic4e2cf7b9bfc7b2a647aa773fbcafb6bd0c6019e
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
|
|
Move spin lock init for no wait que before apr registration.
If apr registration fails asm free client will free
the no wait que by acquiring spin lock. Hence spin lock
init for no wait que should happen before apr registration.
CRs-Fixed: 979701
Change-Id: I5ef85e39ab5e3babfb2e097005c0d1553cc38f51
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
|
|
Add support to enable Bluetooth A2DP playback
via DSP.
CRs-Fixed: 978676
Change-Id: I02f2af671bed10e45b764af5cc9a0977a3d9e66e
Signed-off-by: Ramlal Karra <rkarra@codeaurora.org>
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
|
|
Check cmap data size before copying the
userdata to avoid null access.
Change-Id: If75c0339cf5e0ace6a35abc625f02283cc99298c
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
|
This is the reference driver source code for synaptics touch driver,
the version is 2.6.
All the new files are copied from the git commit:
7b6b9d126aca1f371e8abf3ae56d7a5a4e538f13
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_active_pen.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_active_pen.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.h
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.h;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_fw_update.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_gesture.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_gesture.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_proximity.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_proximity.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_dev.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_dev.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_hid_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_hid_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_spi.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_spi.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_test_reporting.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_test_reporting.c
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_video.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_video.c
include/linux/input/synaptics_dsx_v2_6.h
is copied from
kernel/include/linux/input/synaptics_dsx.h
Change-Id: Ifda2c38ca5b4a82c3363d8c59ae9da3839568e82
Signed-off-by: Mao Li <maol@codeaurora.org>
|
|
Add the OSM CPU clock device node to support CPU clock scale requests.
Include the initial set of frequencies supported by the two clusters
in the msmcobalt chip along with necessary configuration parameters
required by the OSM controllers.
Change-Id: I2ac6fbac62633973e9c40d89d01583be10b51fc0
CRs-Fixed: 967319
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
|
|
The Operating State Manager is a hardware block which deals with
performing voltage and frequency change operations in the CPUSS. Two
instances exist, one for each cluster, in the msmcobalt chip.
Introduce the OSM clock driver to perform the required OSM hardware
block initialization and support DCVS scale requests.
Change-Id: I3e155db5cd580e371ca1791815e4942f442a3d20
CRs-Fixed: 967319
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
|
|
Introduce the CPRh regulator devices to manage the two VDD_APC supplies
powering the CPU clusters of the msmcobalt chip.
Change-Id: I3f63d2d89be631156635d1628d7687b6ef209846
CRs-Fixed: 967275
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
|
|
We're currently registering for some interrupts that don't exist, and
we're not registering for some interrupts that we should be. This
results in error messages like:
d80000.arm,smmu-jpeg: found 4 context interrupt(s) but have \
3 context banks. assuming 3 context interrupts.
b40000.arm,smmu-kgsl: found 4 context interrupt(s) but have \
2 context banks. assuming 2 context interrupts.
This could also result in us missing some interrupts.
Clean all of these up based on the interrupt information from the
hardware docs.
CRs-Fixed: 975201
Change-Id: I33e309ecb700bdead6a0a82a231f3d199c3d34f0
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
|
|
IPC Router binds any port as a control port and moves it from the client
port list to control port list. Misbehaving clients can exploit this
incorrect behavior.
IPC Router to check if the port is a client port before binding it as a
control port.
CRs-Fixed: 974577
Change-Id: I9f189b76967d5f85750218a7cb6537d187a69663
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
|
|
Add Tx route to support voice call over SEC MI2S ports.
CRs-Fixed: 964328
Change-Id: Ifda4334dc89d28c51478f8748b43035e3ae855c5
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
|
|
Enable MHI channel and event configuration for MSM8996
and APQ8096 fused platforms so they can communicate with
MDM devices. Host will be able to bring up the MDM and
initiate data traffic between the two.
Change-Id: Id9b676051547e91aa7f7e047e7d7a0e38051fba4
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
Signed-off-by: Tony Truong <truong@codeaurora.org>
|
|
Update AXI only when both ISPs issue
reg update interrupt.
CRs-Fixed: 955803
Change-Id: I8b7090e2b45de5a84e5ceca02aa083aefc6af600
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
|
|
Add device specific GPU properties for Cobalt.
Add GPU DCVS and bus DCVS plan
CR-fixed: 973565
Change-Id: I6c51be7eeb50c41d4cfa9f9548ebd48888ee1ac5
Signed-off-by: Lokesh Batra <lbatra@codeaurora.org>
Signed-off-by: George Shen <sqiao@codeaurora.org>
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
|
|
xhci_stop_device() is calling xhci_queue_stop_endpoint() multiple time
and doesn't check return value. xhci_queue_stop_endpoint() can return
error if xhci is already halted or not able to queue command.
xhci_stop_device() waits for stop command completion using
wait_for_completion which wouldn't be interrupted or completed if
queueing of command fails. It results into possible deadlock condition
where usb_disconnect() waits for this udev->lock which is already
acquired by caller of xhci_stop_device() which is set_port_feature().
Fix this issue by handling error condition and making sure that
xhci_stop_device() doesn't wait if queueing of command is failed.
Change-Id: Ica4db17afcd39a7e89fcf985f41760efd2756653
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
|
|
As per the hardware documentation, update the voltage regulator
configurations needed for 8996AU CDP. This overrides the settings
done in msm8996-regulator.dtsi.
CRs-Fixed: 978343
Change-Id: I250e5c6e7f6d80ab1415b873c9ed6e405aae0c4c
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
|
Halo HL7509 external buck converter powers VDD_GFX voltage rail
on 8996 automotive CDP. Specify the necessary configuration for
it.
Disable closed-loop CPR operation for graphics CPR controller
until it is verified with this external buck configuration.
CRs-Fixed: 978343
Change-Id: I7d9bdce4c0b381942c6201f80b0970cad8d82ab5
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
|
Halo hl7509 buck converter will be powering the VDD_GFX voltage
rail of 8996 automotive platforms. HL7509 requires an enable gpio
to turn on the external buck. Support it through a fixed
regulator.
Add them to the list of regulators for msm8996. Keep them
disabled by default so that they can be enabled in board specific
files.
CRs-Fixed: 978343
Change-Id: Ib8006e640206a92ac6f227a4a180efbe7d15026f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
|
Add SET and GET parameter APIs to query speaker
parameters in feedback speaker protection FTM mode.
CRs-Fixed: 974621
Change-Id: I1a51e5033d7836c0c996621593cd2f4dd6982dcd
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
|
|
Post processing driver clients can program the dither table in mdp.
If length of the dither table is set to 0, driver will program the
default table. If driver client would like to program the table it needs
to update the length field as per mdp hardware version.
CRs-fixed: 983164
Change-Id: I5e6aaa3d9376884e5ea1fe153cdf2798e3a52d1e
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
|
|
Add support for CEC commands to suspend and resume the device.
The HDMI core must be kept on when the CEC wakeup feature is
enabled and the device is going into suspend state. Furthermore,
interrupts must be enabled in this state to capture CEC commands.
This allows the device to be resumed later on via CEC wakeup commands.
Change-Id: Ie6fcbc666e4f40335ab8faaa969d4b03aa83e17c
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
|
|
In the current implementation, the DSI PLL codes are copied from
a CMA memory which has a no-map attribute. Update the logic by
reading the pre-calibrated DSI PLL codes from physical memory
which is re-mapped to virtual memory allocated in kernel using
ioremap_page_range. Once the DSI PLL codes are stored, free the
reserved CMA memory back to kernel.
Change-Id: Iaa0bbd600dd1a18497cd4dfd7830a9bf88ab0ead
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
|
|
When DSI panel in unblanked, the driver configures the sources for all
the DSI branch clocks based on the current HW configuration. This
assumes that the clocks would be off when the panel is unblanked. This
may not be true when transitioning to ON state from any of the panel low
power states (LP1 or LP2). This can lead to warnings when trying to set
the clock source while the clock is enabled. Fix this by ensuring that
the clock source is configured only if the panel is not on.
Change-Id: I97f40eaedad203c5aaa0c645105bea2ff962e81d
CRs-Fixed: 975819
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
|
|
Add xlog entry when BTA DONE interrupt is received. And add
proper error messages before panic in few places, to make it
easy to identify the reason and place of the crash.
Change-Id: Ie9e24d2caeff12601058ea3c76af4e3dca0cd09c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
|
Added mixer controls for HPF cut-off frequency on the RX interpolator
mix-in paths.
CRs-fixed: 963405
Change-Id: I4ca4a554c0a83d4053301ca5dd2afb8b09fa5194
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
|
|
Codec reset gpio configuration needs to be updated
before slimbus master component is initialized otherwise
codec cannot be enumerated on the bus. Add a new platform
device driver to update the codec reset gpio configuration
to valid state (output, drive-strength) before slimbus
is initialized.
CRs-Fixed: 968161
Change-Id: I7227212e6b846d58196718255aa4b0923352d120
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
|
|
Update the clock framework to support the setting of post_div for
debug mux so as to divide the clock by post_div.
CRs-Fixed: 977413
Change-Id: I7299bdb0953dcf65fbf2a38b7578e2e54446c0d7
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
|
|
There is a line corruption on top of hx8394f panel, which is a
specific issue of hx8394f panel configuration. Update hx8394f
init sequence to fix this issue.
Change-Id: If28cc8dc0c7fa9d979ada92685c1abb6c93ccccb
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
|
|
Dump the call stack if there is no memory available from the prealloc
pool in order to get the source of the memory allocation.
Change-Id: I0b523e82638410ea679f1d9d3f4bb56703ed9100
Signed-off-by: Yue Ma <yuem@codeaurora.org>
|
|
Some platforms support multiple GPU clock plans based on the speed
bin in the efuse. Specify the wake up frequency of each speed bin
individually to wake the gpu at the correct powerlevel.
CRs-Fixed: 967494
Change-Id: I9890b8a710d7055c30f9ae7612b092af8fa8a9f5
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
|
|
While producing snapshot disable all HWCG branches, not only top level.
CRs-Fixed: 978122
Change-Id: I4b01224a0ba46c276115a284a0da6207c7968f72
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
|
|
The cluster id flag is passed in from the userspace through ioctl
interface. Ensure correctness of cluster id to avoid out of bounds array
accesses.
CRS-fixed: 977508
Change-Id: I778b962d347b90488b983a15087b13e90ad06688
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
|
|
Create sysfs nodes to enable/disable hardware clock gating.
CRs-Fixed: 973565
Change-Id: If5f0215e0d7f3d7be1a0cf00fbd8789c6adf2f0f
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
|
|
Make PM QoS request API generic to pass the type of latency
requirement needed by the client instead of hard coding
latency type. Add latency type as a function parameter.
CRs-Fixed: 972761
Change-Id: Ic912148d2068fe8a758b6a4b3be570ccf870f03a
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
|
To avoid memory leakage, make change to release ION memory if qseecom
failed to unload TZ app, which is allocated when starting app.
CRs-Fixed: 977073
Change-Id: Ic4c9a7d7a118ff5026ce6ce7769a4c053906ed2d
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
|
|
Change d743524091501ae60c76b272c45048a17144cc22 ("ARM: dts: msm:
add PM8994 LDO 18 pin control regulator for msm8996") added a new
rpm-smd-regulator device for the pin control version of the
PM8994 LDO 18 regulator. Unfortunately, it specified the same
device node name as used for the original LDO 18 regulator. This
had the effect of removing the original LDO 18 regulator and
switching all of its consumers to the pin control version.
Correct this by changing the name of the LDO 18 pin control
device to regulator-l18-pin-ctrl.
Change-Id: I2311b7c54afa98365e497598f7fb4be787141860
CRs-Fixed: 978138
Signed-off-by: David Collins <collinsd@codeaurora.org>
|
|
There is a possible race condition that runtime suspend is being
called after device path bringup. To avoid this race condition,
add a mutex lock during device path bringup to serialize runtime
suspend and resume.
CRs-Fixed: 967442
Change-Id: I268a25b05799c66fc019e19e46939286e54fb514
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
|
|
8996 automotive CDP is using different SD card detect GPIO than normal
CDP, update the GPIO number accordingly.
CRs-fixed: 977653
Change-Id: I1b9365e305636f80905604aa9d6cf0a37e815924
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
|
|
With USB device mode, USB driver votes for nominal SNOC bus frequency
which prevents system going into SVS. This change reduces SNOC vote
from 120 MHz to 100 MHz to allow SVS.
CRs-Fixed: 975648
Change-Id: I13492cddd8af3f9dea4244e24485556c0efac29e
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
|
|
adreno_spin_idle spins for a timeout checking for gpu to idle.
Sometimes due to race conditions the timeout can occur before the
loop is executed. Change the logic to a do-while loop and add an
extra idle check after the timeout before returning failure.
CRs-Fixed: 978122
Change-Id: Idb92a0180dd8cc3e662b1ccf44d69e4bbafb29f1
Signed-off-by: Suman Tatiraju <sumant@codeaurora.org>
|
|
wlan driver transport layer pdev handler needs 128kb pre allocated
memory in a single block memory allocation for transmit/receive
descriptor initialization in wlan startup for the wlan module with
high latency(SDIO) based hardware interface.
CRs-Fixed: 978073
Change-Id: I0dbe047a7b64e96bf32470702d1b3e3088bffcf7
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
|
|
If an ahash request is not final, the result variable of ahash_request
may not exist. In the completion callback function, then, do not
copy the digest result to result variable of ahash_request, if it not
final. Otherwise, crash may happen.
Change-Id: I169218e8658500539b19408eca3afeabcaa4816b
Acked-by: Che-Min Hsieh <cheminh@qti.qualcomm.com>
Signed-off-by: Sivanesan Rajapupathi <srajap@codeaurora.org>
|
|
cma regions can be allocated for secure use cases where
the virtual mapping is removed. kmemleak scan can try to
scan through this mapping causing mmu faults. Hence free
cma regions from kmemleak scan.
Change-Id: I2cc66423ec9ec539905cc8d07bbc40fa43e695bd
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
|
|
Add cpu enter and cpu exit log into lpm debug for 32bit.
Change-Id: I88973dbc4f9ffc08f8201059a82a3133fa0db330
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
|
|
The worker thread can either be stopped through kthread_stop or could
return from the function on some conditions. Since thread has two exit
points, this is causing a race condition where kthread_stop indefinitely
waits for the thread to exit. Make the thread standalone and always call
do_exit itself to exit instead of stopping it through kthread_stop.
CRs-fixed: 972943
Change-Id: If95cbd6ee895d566887453e98421d1514147441b
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
|
|
Add split DSI display support for MSM8996 AU CDP board. It's
using NT25597 dual DSI video panel.
CRs-fixed: 977619
Change-Id: Ibeee5fa903c152c8242a2b27be3d9df9670b762e
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
|
|
Set the recommended high bit bank value for all of the various GPUs
that will be programmed into registers by the kernel and/or the
user mode driver.
CRs-Fixed: 970272
Change-Id: Ic0dedbadcd02dd37afce0807ac1118fe7bf10b5d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
|
|
On 5XX targets we need to program the bit of the highest DDR bank
into a number of registers, one of which is protected which would
cause problems if the user mode driver tried to write to it.
Specify the high bank bit in the device tree files, set the
problematic register in the kernel and then pass the value up to
the user mode driver as a property and let them program the
other registers. This makes the device tree the authoratative
source of the high bit value which is exactly how it should be.
If the value isn't specified by the device tree for whatever reason
return an error for the property request - that will give the UMD
a clue that the value wasn't specified and they should just set a
default.
CRs-Fixed: 970272
Change-Id: Ic0dedbad830321329b74da7fa3e172fdaf765c4d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
|