While changing the audio sampling rate, the older data in
the control register needs to cleaned before writing in
new data to avoid mixed or wrong data writing.
CRs-Fixed: 405772
Change-Id: I95d0807ea8cf544e4a0c8caed00de6cd60352efa
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Remove the kernel config parameter for HDCP since enabling or
disabling HDCP will now be controlled using a corresponding
module parameter.
Change-Id: Iae23b8fa66ca75d99423547e77f850f3c86615ee
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
This change removes the need to use HDCP feature flags in the
HDMI driver and adds the necessary support to configure HDCP
feature based on a module parameter.
Change-Id: Ie0eacc5b447230927cfdedfcb979c22d60e81981
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
This change adds a module parameter that can be used
to disable HDCP at runtime by specifying hdmi_msm.hdcp=0
on the fastboot command line.
Change-Id: Ifad5da9fcb86fb4ed663a5ef2bb14fe4dafd241e
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Currently, HPD(Hot Plug Detection, a module used for detecting
HDMI cable connection) soft debouncing logic implements around
1 sec mechanism to stabilize HPD event detection. In case of
fast HPD connect/disconnect, it is missing a real HPD event.
This change implements a new debouncing logic in driver which
will make sure the first real HPD event is correctly processed
and at the end of debouncing processing, if there is a change
in HPD state, the changed state is also processed. This way we
always process the change of HPD states.
CRs-Fixed: 384513
Change-Id: I02d9814e4a55b7eec11a8e0d134c9ed9b5747422
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
This change writes the checksum value to registers after
doing all the calculations so that the correct checksum
value is transmitted.
CRs-Fixed: 388272
Change-Id: Ia0543e458d5a11b148bd29e0d57ae355a051b2a9
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
-Add chip byte information for WCD9304 1.2 version.
This information is required for correct detection
of the codec at the codec init.
-Fix code to exit codec init with error, if codec
detection fails.
Change-Id: I6b5522f6fb4d7b18011da2bedd322c4a480a5175
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
Check for for wcd9xx read error properly during probe.
Move the determination of codec type to function and
check for interface error during read operation for
I2C. Since slimbus master is changed the slim porbe
may be called later to I2C probe. Handle proper
releasing of reset gpio in case there was error
for I2C read.
Change-Id: I6e8e271861e5bf7fee5df63b5ac265b7976f83d2
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
Don't treat as an error when no interrupt is configured.
Interrupts are not mandatory for codec driver and hardware.
Change-Id: Ic54f2cdf6f4916db89700b745d82e199bdccf48c
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
If the PMIC 8917 device is detected, then enable s8 regulator
before turning on the l23 hfpll regulator.
Use platform_data to indicate presence of pm8917.
Change-Id: Ic39b460d6de14d37b9ca477494c35d90c9468780
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
(cherry picked from commit 037d49156df9c34068c0942489c8ba24c52a4ad6)
Support detection of PMIC device type from board file.
Enable parent RPM_VREG_ID_PM8917_S8 regulator before turning on
HF_PLL/SR2 pll regulator, similar to 8960.
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
(cherry picked from commit 1a3859fad1c2c0eb6f93464b9782fc0b1cb6ab14)
Change-Id: Ic2786f5957f793db482ef09c17752e2decb34301
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Call a different set of clock initialization functions if the 8917
pmic device is detected.
Change-Id: I6e02e300c2f403248351831c2b18e620352dfcab
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
(cherry picked from commit 8fad60d97d663b8d0dd5e30c637d7433cf6b5502)
Set a platform_data parameter if pm8917 is detected.
Change-Id: Iba56e28f88162f73a2d499dfd1d9921ab29c44d0
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
(cherry picked from commit c1227cb45a8b17a10410db436a1c84893f500c34)
Modify the PM8917 LDO 1 configuration data so that no request
is sent automatically to enable LDO 1 on MSM8930 + PM8917
targets. This is an optimization which helps to achieve power
savings during XO shutdown.
Change-Id: I87f89b03c43e60727737f22205745a4c911a14df
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit bd2f4f171852ce4e93b54b9d20c59d908cd50838)
Change the configuration of PM8917 SMPS 7 for MSM8930 so that RPM
requests are sent with a force mode of 'auto'. This is needed in
order to reduce power consumption when modem and LPASS are asleep.
Change-Id: I4935cf53d9b5291291fe3ba42955af41080b0d33
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 6f250cd14c25c783c47fe35729ebc19480c45695)
Utilize the 8960_PM8917 rpm-regulator version when PM8917 is
detected so that the TCXO workaround is applied to PM8917
regulators L25, L26, L27, and L28 on APQ8064 targets.
Change-Id: Ie62f89fd534493cc74987d26c6746b2283f7963f
CRs-Fixed: 405336
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit e93ed7dda0b0cc41033d28ce325a29022a47d984)
Add support into rpm-regulator-8960 for using the TCXO workaround
on PM8917 1200mA NLDOs on MSM8960 and APQ8064. PM8917 regulators
L25, L26, L27, and L28 require that CXO be ON when they are
enabled. Configure these regulators so that they operate
correctly on systems which utilize TCXO.
Change-Id: I7c25de3f32228c9a57ba4030211acb73ea7cbf5b
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 2ac36d590ecb7d9eb10c82ee7d5801a8ba436303)
PM8917 is in the same family as PM8921. Add it in all cases of
PM8921 where it applies.
Change-Id: I2bf3937ed7e80355a8d5b330f18298bf040d585b
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit a813d5f4d82a2eedf7b8813fa03cf9e8af236a68)
PM8917 does not have speaker amplifier, hence the codec lineout
is directed to the speaker through a onboard amplifier. The
amplifier needs to be enabled in order for speaker playback
to work on a target with PM8917
Change-Id: Ic9f16d335bc1a0cef6fb1eb93c1617fd086cc5b7
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit f6d1f7261de810bb07429c25b99187328359b8c4)
All CDP platforms are powered by an external DC
supply. Hence set the has_dc_supply flag to
allow the charger driver to handle it accordingly.
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
(cherry picked from commit b7bf2c9c3fd56d70bc90676c1781300c435a40fa)
(cherry picked from commit bc24067bc9e696e4f43d555b2bba72539ceb3b35)
Change-Id: If18f0172ebcd6e081da02de3f864f35094a02efc
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Some hardware platforms can supply VPH_PWR without battery
or charger being present.
To avoid shutting down due to no connected power sources
from the perspective of software set a flag that forces
the DC supply to be online for this type of platform.
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
(cherry picked from commit a3cf943ef8c91435e2cb94b8e8bcc482dc65cb27)
Conflicts:
drivers/power/pm8921-charger.c
Change-Id: I565edb1ab797384481ce5e37aee73ee0a8e80428
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Use PM8917 GPIO 24 to enable and disable the LCD backlight on
targets which use PM8917 as WLED is not available.
Change-Id: Id2fa1bb01d174d38ee9d846261750e971a96cfd2
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 9898ac37c3cb68c0a2706b1496bb5e6c2dd8f667)
When using PMIC PM8917 along with MSM8930, the RPM resource map
changes from that which is used with stock MSM8930 + PM8038. Add
support for the new resource map.
Change-Id: I4817872022f828dab055144959dfdfbd83e99e11
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit d2a4fefd4c6ca176715cb297edd63e141d19a4fb)
MSM8930 can support PMIC8917 in leiu of PM8038. Add RPM enumeration to
support the new PMIC and use runtime detection to use the right
enumeration data.
Change-Id: Ibf287a99143ffd52934ce043be65cae0afa136c8
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
(cherry picked from commit 75b8c81615010a78c9efc309aa61afec1552b467)
Add the board file board-8930-regulator-pm8917.c to capture
regulator configuration and mappings for MSM8930 targets which
utilize a PM8917. Add code into other MSM8930 board files to
conditionally switch to the new regulator configuration values
if PM8917 is detected at runtime.
Change-Id: I68c1025bae45d77d1a04a8935dc7ecb2d857b8ef
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 4614cb939178736abca452d468bd291272afbf86)
- Allow smaller buffer size for voice call to
comply with MR1 audio HAL
Change-Id: Iaffca753ad07889b08ae4b6154e8d596950a979e
Signed-off-by: Mingming Yin <mingming@codeaurora.org>
Move all graphics device registration to one location. Always register
the 3D core. Register the 2D cores if they are present on the device.
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
(cherry picked from commit 25555d8d29aff405bbd89076f8dd3538b8c24b80)
Change-Id: I518f17f891ac86e7fde05a03c821e94683aedcf6
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
There are two versions of 8960. Set the 8960PRO chip id correctly.
Ensure 8960 clock values do not get changed when the device is 8960PRO.
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Change-Id: I1d2226c389881f3cadb9067dc1393db168cef309
Conflicts:
arch/arm/mach-msm/board-8960.c
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
The battery alarm is used in charger to switch to 19.2Mhz clock when the
battery goes low before a certain threshold. This way we prevent lockups
if a shutdown or UVLO were to happen.
Configure the low battery voltage for 8930 based hardware.
Change-Id: I33252dffcbadcdbe92e8967388ef28bce55476f3
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
(cherry picked from commit c725804b7cb90a761f75d519c866d0b184e568fc)
The battery alarm module provides interrupts when the battery
falls below or rises above a programmed threshold. This feature
is useful to wakeup the device when the battery is in low voltage
situations.
(cherry picked from commit 6d538144cb02933cf27f425ad721541d80377b43)
Change-Id: I5d17bacf363cab165156b62730ccf9c23c633b3c
CRs-Fixed: 372690
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
(cherry picked from commit 16f56979ee6876ce64f6dba8928a782825ff1275)
At suspend, turn off mdp related clocks off if clocks
are not turned off by vsync disable request.
Change-Id: I0949b00b9ee0aee05b9b553ac7318b647052d94d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
(cherry picked from commit 780557dc178fc5511f4c03b4840791d27499a5f6)
After pipe_commit() released mutex and before kickoff happens,
There has possibility that dcs command may start transmitted.
This patch add dsi_mdp_busy flag to fix this race condition.
Change-Id: I0d9a81cd0719085c91c03386117261ad3bb6b182
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
(cherry picked from commit c9427ced2ab4cf1094b61360a476305066044a54)
Add video mode dcs command list support. This patch
make sure dcs commands committed while dsi video engine
is busy so that dcs command will be transmitted at beginning
of next BLLP.
Change-Id: I11b0214ee10f3b1ef33b1da4c8e577800068cb06
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
(cherry picked from commit 7b0e0a45216714d76bf717a928a0db77bfa2868a)
Both vsync enabled and disabled are controlled by framework
through ioctl. Driver reports vsync event to framework via
sysfs. Meanwhile, mdp related clocks are enabled by frame
work at vsync enabled request and disabled by driver if there
is no any display update within specifid vsync period.
Change-Id: Ice5be3a6db5930b95bdd2f718d9256bf73936e23
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
(cherry picked from commit 3c406e4eec79b710b7f5b5b67c23db7af871be40)
The DSPS watchdog timer continues counting even after
the DSPS is shutdown. This may cause a spurious watchdog
interrupt after the DSPS is powered up, before the software
running on the processor can re-init the watchdog. Disable
the watchdog before shutting down the watchdog.
Change-Id: I169e690b82ae05617e096ac832d757a110f673a4
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
(cherry picked from commit c84f66e2f518dcb9f0931a5a1b65bc770ee23d13)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit c9b48441a43985671779dc247356cb1313573722)
Remove cross-calling limitations imposed by cpufreq. Clock drivers
and SPM driver now allow changing of frequencies from any core. Using
cpus_allowed mask to check for core affinity works well with workqueues
but do not port so well when the core requesting frequency change is a
kthread with the flag PF_TASK_BOUND not set.
Change-Id: Iab664ce8657780814440a11dff77cc925df597f8
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
(cherry picked from commit be01a17afb6b6e85456217caa1ac11eb0b6674e1)
(cherry picked from commit bd97cdfeb87eda0373721baaea744b02a27822f5)
SPM block is responsible for power collapsing the core, but also
interacts with the PMIC through hardware to change core voltage. It
would be beneficial to frequency algorithms to change frequencies and
thereby voltages of all cores running from a single core. In some
targets, the SPM is configured to set voltage only for that core. Ensure
that the core voltage is set only from that core.
Change-Id: I656e20a49d9784f08e9ce4d4e8f6c15760ba015b
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
(cherry picked from commit bcd483b93abd434d0207211c8bab7d0f7d653c27)
(cherry picked from commit 740945d7d0d4bab1d3d7674e7061fbe0acfe0d19)
Hotplug times are tracked elsewhere, and excessive logging
(especially in SCHED_FIFO context) can cause problems for
system responsiveness.
Change-Id: I82ba0cdff71e04af8c7ab4ef2a1cfe9306075ee3
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
(cherry picked from commit c430681cc22d5d0d7229dc69ea8f5302b4c57059)
(cherry picked from commit 2db00aa4e7f1feb5c40330a4df22afe16b4dca8e)
TSENS is not supported on the MSM8960 1.0 because of a
HW bug. The driver used a platform detection mechanism
through a flag. With the 8960PRO the CPU MAJOR
version resets back to major version 1. The driver
does not distinguish the PRO parts differently and
disables the driver. Change the method to detect
the CPU using the platform detection api instead
of relying on the platform data.
Change-Id: I446eb196cf81e6a29760530dfbce6910652e867c
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
(cherry picked from commit 30447fec965309e30f1eb33c0d318ee4a5365026)
(cherry picked from commit 25bb62fbbc050147ae298179d7abe4ad08f78371)
When A2 turns on, queue_rx() is first run from the SMSM thread, and
attempts to allocate 32 2kB-buffers with GFP_KERNEL for DMA transactions.
If the system is low on memory, the allocation could put the thread to
sleep while the memory allocator scavenges for enough memory to satisfy
the request. This is not desired as it stalls a critical system thread
that is communicating with a real-time system.
Instead, use GFP_NOWAIT which will return immediately if no memory is
available for the allocation request so that bam_dmux may handle the
situation gracefully and possibly reschedule the allocations for a later
time.
CRs-Fixed: 406946
Change-Id: I645acd29f7e0fa27883a27c043fc951cbdd91b84
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
(cherry picked from commit ad75d8d57e70aab72d1c0c1411f58d1d3028da40)
(cherry picked from commit bcbb7dda88b66d69c2ebb6c31b5a6083f4df6518)
The LTE Coexistence bit has been renamed to just SMSM_PROC_AWAKE since
it is now being used for more general is-processor-awake signaling.
Change-Id: I9007c6c91ce3338c790864bf09318edbcb6d50c0
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
(cherry picked from commit 8cb30f55fe05f9e59824941bb9ffe8f904b5f3ce)
(cherry picked from commit 18f84bf8c7c86bd5305aad31eee27e8294434c92)
Export a function from sch_api.c that will look up
desired qdisc and call it's registered change function
to enable/disable flow.
Change-Id: I5b6dc7a6fd2b09b796c92b3770ba83423d19c864
CRs-Fixed: 355156
Acked-by: Jimi Shah <jimis@qualcomm.com>
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
(cherry picked from commit b8419fe690053b76658d49565c57ac654faf2eaa)
(cherry picked from commit 3a30e7aa4487f56a74f12c12f11cece6ce1f2100)
This ioctl provides a shorter route to enable/disable flow
on a given qdisc when compared to the traditional NETLINK
based communication. It is known to improve throughput when
data flow is throttled at a higher rate.
Change-Id: I8533887c8a7caffe3b17320dc044f28388ba8b83
CRs-Fixed: 355156
Acked-by: Jimi Shah <jimis@qualcomm.com>
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
(cherry picked from commit 747a936d6fd1d49331b0891df6797144eec56e23)
(cherry picked from commit cfa440e0faf9b6cd8bc313c750fd0713490f3d94)
Several of the iommu virtual address space functions may
need to be accessed by modules. Export the symbol.
Change-Id: Ief99cbb63f729943b6d8b45ce9aed071d84decd1
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
(cherry picked from commit 33b30bee472264ecf5b7d06d842349bbe593d0fc)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit 67c19b8a6c2a8a4e27df324516ecddbf758c379c)
Rather than forcing authors of reverts to truncate the summary line
because the "Revert" prefix added pushes it over the character limit,
excuse reverts from this rule.
Change-Id: I395dfff3327e360ef935d4a685c38df6577e3867
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
(cherry picked from commit 3c09aeb415d542b08257021992aadd965fcb3902)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit 952824addcec8487b8c800b0ef18ede547711381)