Add support to create connection to LE devices using
whitelist. With this, the Controller can try to connect
to multiple devices at the same time. The following
interfaces are added.
1. Add/Remove device from whitelist
2. Clear all the devices from whitelist
3. Create Connection to devices from whitelist
4. Cancel create connection to whitelist devices
CRs-fixed: 388980
Change-Id: I3900c71255e754f80bb2873ae19a41b94cca76c3
Signed-off-by: Sunny Kapdi <sunnyk@codeaurora.org>
(cherry picked from commit 93bef895b01b79f49af60ba1394c9c3f6e563212)
(cherry picked from commit 377ee2bf1fc37bcbeae872661646bdd6a5f8da31)
Send device disconnection reason to bluez on receiving the
diconnection complete event so that low energy profiles
such as proximity can decide to reconnect if the reason
is link loss.
CRs-Fixed: 378240
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
(cherry picked from commit da09d26a75ee1c7c1911dcfbe0128fd09f6631f4)
Change-Id: Iab1fede47f44342d87be6c3c5aa7590754fd950c
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
The demux is an in-kernel software component whose purpose is to take
an incoming TSIF stream and split it into multiple output channels
based on the PID field in each TS packet. Each output channel can be
used for a different purpose, such as audio, video or channel
information. In order to get good performance when moving such large
data streams around, the demux was placed in kernel-space as to
prevent copying memory buffers between kernel-space and user-space, at
least at this early stage in processing the traffic. Originally the
design of the TSPP driver was based on the earlier TSIF driver, so it
contained only a user-space API.
Signed-off-by: Joel Nider <jnider@codeaurora.org>
(cherry picked from commit 435ad8e2157eec5783a435f1e7ec47f67d759882)
Change-Id: I0dadf04ec2694c82fc8378fbed5fbf81fc889337
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
- Pass number of ps string instead of ps length
- Use proper name for radio text length
CRs-Fixed: 388115
Signed-off-by: Ayaz Ahmad <aahmad@codeaurora.org>
(cherry picked from commit 1c0db5273216ea80f3762dc5675daebac16e1e0b)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit d327e591c875450aa8ff157645974aa3fb7c0cc3)
Change-Id: I501af5c175c07f84dc117fc5e8ac410cecc8c35d
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Content adaptive backlight control (CABC) support is needed to
control backlight by external PWM. It can be enabled by setting
"cabc_en = true" in the platform data wled_cfg structure.
CRs-fixed: 379347
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
(cherry picked from commit c366d5bfc380183e1c4f9877b2c8558098bd4281)
Change-Id: Iae7940d25d8754ab539d5ce1fa3f78972b5222d1
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Enabling this feature will allow the use of
PF_WAKE_ON_IDLE, a per task flag that causes that task,
or tasks woken by that task, to wake on an idle CPU if
there is one available. Note that due to the PF_WAKE_ON_IDLE
feature this will not cause a change in behavior for tasks
that do not have the PF_WAKE_ON_IDLE flag set.
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
(cherry picked from commit dc6384ce8b9185fc354df3c5622a463da0b60044)
Change-Id: I25963ef54ac3b8f863e2787901f3acb6e4cd2c0d
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Adds support for codec config flag to be passed
to driver. This flag indicates that the buffer
associated contains codec specific data.
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
(cherry picked from commit f4bd6a3fbdb5d70b7000cdceb811557876bb7953)
Change-Id: Ib832872717adbc46bd186aa268eaa9cfa402313b
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Define logical id for display backend processing.
These ids are independent with hw implementation, could be used
for MDP4, MDP5 and future ASICs. Kernel driver implementation will
also be abstracted to the post processing user.
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
(cherry picked from commit 6a431631728d2d217447079dd636bd1e26d56ac4)
Change-Id: I27bd4e7d3803f4b356d924c65ac28e142375d1d5
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
This function is exported in blk-core.c to be used in other modules
but it's definition in h file is missing.
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
(cherry picked from commit 87c7500d26ddddf2851bbe65190f5d8970b0346d)
Change-Id: I94a1603c345db9a92237ff6696bf29e6afbe69b7
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
VADC/IADC peripheral is supported from PMIC 2.0 onwards.
Add version check to allow VADC/IADC reads if the
version is supported. Add probe defereal api for clients
who need to know if the ADC driver is ready. There is a
bug where the completion is not initialized. Fix it
by initializing it. Add support to disable the peripheral
after the ADC is read and enable it before starting a
conversion.
Add scaling functions to support reading the die temperature,
XO_THERM, batt_therm and batt_id. Add the ratiometric
calibration routine that uses the vref/gnd for calibration.
The ratiometric calibration is used for calibrating xo_therm,
batt_therm, batt_id.
Update the gain value used for calibration on the IADC
peripheral. PMIC 2.0 IADC peripheral uses 17.857mV instead
of 25mV for its gain calibration.
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
(cherry picked from commit 5ace110e2165fba66227e18154d58b0e6cbb24b2)
Change-Id: I37b02de53ea2bed913c30261624c31a1ae57131c
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Add support for communicating with the PSOC
using the supported protocol commands from
the PSOC.
The support includes communicating with the
controller to initiate and start the ADC
conversion for the selected channels. Start
and receive ADC conversion for single measurement,
buffered reads, averaging the samples and returning
the results over the set averaging period.
Other commands supported include setting/receiving
the timestamp, setting reference voltage, toggling
gpio to set triggers on set events.
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
(cherry picked from commit efddea4639f2953375fb822524fcae756ae67dc0)
Change-Id: Id519a5b9033b85953f1d6229a144f9df78910900
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Found in a rare case there is possibility that remote device
sent disconnect on a connection and DUT is trying send data
on the same. In that case accessing some released wakelock
is causing issue. The current changes are to use locking
mechanism to validate the connection before acting on the
wake lock.
CRs-Fixed: 394651
Change-Id: I6a4188a7d0d05a8cfbe66d3680473d549157917a
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
(cherry picked from commit 6aadc41fcbd28dc3899a4b5d098e5f316588a029)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
This change addresses following enhancements to debug
logging:-
1) Add data payload logging which is not currently
supported. This helps to sniff first 32 bytes of data
being sent and received. Data payload logging is
enabled by default. To disable data payload logging:-
echo 0 > /sys/module/ehci_hcd/parameters/enable_payload_log
2) Current urb submission event logging does not cover
root hub submissions, hence move urb submission logging
to hcd driver.
3) Current urb submission event logging does not return
the correct status if submission fails. Hence log the
return status of urb submission.
CRs-Fixed: 393294
Change-Id: Ic7e555e1545ec7d7b0e4042cd35235e0af26fb01
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
(cherry picked from commit 4d50a43dce8645955d8ed739d7a183e62922c721)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
HSIC controller should send SOF with in 3 msec after completing
the resume signal. If processor is in idle sleep state, the timer
interrupt generated by HSIC controller to indicate resume completion
gets delayed. If the interrupt handler is not run with in 3msec
after resume, the resume sequence is repeated. Disallow processor
idle sleep to avoid multiple resume cycles.
CRs-Fixed: 397154
Change-Id: Ibc8965ad8bcd94e0b1b1d39b5b2ad8f39cf51095
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
(cherry picked from commit 4f5dc3be7b2b9939bc7a1b9526ccb70d93b53361)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
- Sometimes user data getting corrupted and it is not available
at the kernel level
- Use the kernel buffer instead of user space buffer to copy
the data from fifo.
- Increase the STD_BUF_SIZE buffer size from 64 to 128 bytes to compatible
with Frameworks buffer size
Change-Id: I1e0fd8e59b218e7bec7820b0c27e2405d472cd56
Signed-off-by: Venkateshwarlu Domakonda <Venkateshwarlu@codeaurora.org>
(cherry picked from commit 7f095c44d4f63b168820aeba9d72b2504a879ab9)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Some buses would like to keep their devices in suspend state during system
resume. For example HSIC controller driver prevent system suspend when
HSIC device is active. If this device is resumed, during system resume
HSIC controller acquire wake lock and prevent the subsequent suspend till
HSIC device is auto suspended.
CRs-Fixed: 403975
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
(cherry picked from commit 6f199aa800253a69e5679d1057823039f1bd65c9)
Change-Id: Ic8ab631ec1f15685cc35823aa7c57d699738d5fc
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
ALSA sound jack currently only supports upto 6 key events on a single
jack. Extend sound jack to support upto 8 buttons
CRs-fixed: 390846
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit 33cca1e3db8b961f898daa776b99621def9219d6)
(cherry picked from commit c012ad9fb0a819842ecd7ff672c19bbe17bf2f82)
Change-Id: I33a46404b67b83721afde56b45defb40b529391a
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
For compressed AC3 and DTS in HDMI Input use case, new read
compressed interface is added. The opcode changed in the release
builds. Hence, update the opcode for the same.
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
(cherry picked from commit 9b2180d23ea2e9a22f66f4358f26a282165fea29)
(cherry picked from commit 4787039a3acadacf384a919c4c5f5b8f4d586b05)
Change-Id: I69cc1675405665b5432f75102678fafd0d90c344
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
All msm_ion clients need to use <linux/msm_ion.h> instead of
<linux/ion.h>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
(cherry picked from commit 71a6ac9d4fc5e88efd57c2077caaff34afa36603)
(cherry picked from commit 353fac8a22a0253e990c745232d45586adb0defb)
Change-Id: I26165047d3361802ff3957b54a645544a8e9c3b5
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Data contact detection (DCD) involves applying small amount of current on
D+ and waiting for it to go low. The D+ is pulled to low when the data
pins get contacted with the other device data pins.
The current code does not disable D+ pull-down resistor during DCD. If this
resistor is not disabled, the current applied on D+ becomes low immediately
even without connecting to any device. Fix it. Remove enable_dcd flag
from platform data as data contact detection is working reliably on all
targets supported by this driver.
(cherry picked from commit 768dcb817554a29b43e269e7cf77785a7f960754)
Change-Id: Idb34508f09dc74983fd2b55bd11f4073ec354e2f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Support is added for MPEG-2 extension and user data. With this
changes Core returns extension and user data as an extradata.
Change-Id: I66a230aa651dabafa883625ce9f687d5c35b8671
Signed-off-by: Shobhit Pandey <cshopan@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
All msm_ion clients need to use <linux/msm_ion.h> instead of
<linux/ion.h>
Change-Id: I521a079686780c117ccc9d91f27b9c59aaeafa04
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Using stored average ibat(shutdown ibat_avg) which came from
previous boot sometimes cause SoC sudden drop in boot up time.
So this patch use fixed ibat_avg value instead of shutdown ibat_avg
during 1st SoC calculation.
Change-Id: I9675652c3b4918529be40a8d6f8ee29b6dee1359
Signed-off-by: Iliyan Malchev <malchev@google.com>
Move driver callbacks to fill strings instead of using seq_files. This
will allow those values to be used in a future tracepoint patch.
Change-Id: I9b706343e35b11124141fe520e520514a32003d2
Signed-off-by: Erik Gilling <konkers@android.com>
With shared data channel architecture, SLIMBUS driver
only removes slimbus channel when all clients vote to
have channel removed. In case of subsystem restart,
client such as MDM can go down without withdrawing
vote. During CODEC path shutdown, CODEC driver will
receive slimbus slave interrupt in time indicating
port disconnection because slimbus channel has not
be been voted off. Then, CODEC driver blindly
shutdown rest of CODEC path. This results in
overflow error on Rx path and underflow error on
Tx path. In case of time out waiting for port disconnect
interrupts to arrive, force ports to disconnect
Signed-off-by: SathishKumar Mani <smani@codeaurora.org>
BUG-ID: 7313016
If a timeout is requested, a delayed work item will be
scheduled to restart the device. If the keys are released
before the timeout expires, the reset is aborted.
As expected, the reset_fn can be used to reset the device
after the timeout.
Bug: 7344361
Change-Id: I1d77cdb3dcc63f579b1250506f0a30de1e033d67
Signed-off-by: Dima Zavin <dima@android.com>
Since WLC(wireless charger) supply power to battery without PM8921 charger,
the SoC value is not accurate. This patch adjust OCV(open circuit voltage)
and max CV(constant voltage) value to compensate difference between
WLC and pm8921-charger.
Change-Id: I8fa368f706866d93451c2f663da69c010f9b2a35
The BMS driver needs to know the restart reason of the pmic. Add
an api in the pm8xxx design to provide the restart reason.
Change-Id: I0bbad22c5fed8c32dd7de387194e94c8d4b9ad75
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Display commit ioctl will do what pan_display
can do, addtionally has customized setting, such
as non-blocking call.
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
MSMFB_OVERLAY_COMMIT ioctl is used to display on external.
This is used instead of the default PAN mechanism to avoid delays in that path.
This ioctl for external also waits for DMAE thus fixing tearing.
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Signed-off-by: Arun Kumar K.R <akumarkr@codeaurora.org>
The control request will be used by the host to enable/disable USB audio
and the ioctl will be used by userspace to read the audio mode
Signed-off-by: Mike Lockwood <lockwood@google.com>
Change-Id: I48082ce473eb6577b0bf613be9ec27f2f5c19384
When the whole phone is being powered off, a poweroff request needs
to be sent to the external modem so that it can shutdown gracefully.
This request needs to be triggered from userspace before kernel drivers
start unloading so that other drivers needed to send the request are
still available. The shutdown ioctl is provided for this purpose.
The request is sent over system monitor.
Crs-Fixed: 401598
Signed-off-by: Joel King <joelking@codeaurora.org>
When battery is forced to stop charging by overheat, re-charging
should not be initiated even if re-charging condition is satisfied.
Change-Id: I0070039a186ccf3f12c0e79a8696a7aa3c61e538
Add MSMFB_BUFFER_SYNC ioctl for the communication of
the acquired and released fence fd between kernel and hwc.
Wait for acquired fence before pan display.
Release the previous released fence after pan display
Change-Id: I6534aed574a025d948581e70465f06a86b46c868
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
The Android sync point framework will replace the synchronization
previously implemented by genlock. This change implements the KGSL
component of the sync point framework by creating a fence that is
automatically signaled by KGSL when it's timestamp expires. The
fence FD is returned to the user driver so that another process
can wait for the sync point.
Change-Id: Ifee38dfde00e551f3524f7a37833938dcdb64905
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
Pablo Neira Ayuso discovered that avahi and
potentially NetworkManager accept spoofed Netlink messages because of a
kernel bug. The kernel passes all-zero SCM_CREDENTIALS ancillary data
to the receiver if the sender did not provide such data, instead of not
including any such data at all or including the correct data from the
peer (as it is the case with AF_UNIX).
This bug was introduced in commit 16e5726269
(af_unix: dont send SCM_CREDENTIALS by default)
This patch forces passing credentials for netlink, as
before the regression.
Another fix would be to not add SCM_CREDENTIALS in
netlink messages if not provided by the sender, but it
might break some programs.
With help from Florian Weimer & Petr Matousek
This issue is designated as CVE-2012-3520
Change-Id: Id4f36301d407ef5c8218c5ef9f66d299766cdf57
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Petr Matousek <pmatouse@redhat.com>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Interrupt threshold value is the maximum rate at which HSIC
controller will issue interrupts to processor. Increasing
this value results in fewer interrupts which may save power
as processor has to handle fewer interrupts. Side effect of
increasing this value is higher data latency. For fusion3,
set the ITC(interrupt threshold control) to 5 and default
for other targets. Also, allow ehci stack to set ITC value
per controller basis.
CRs-Fixed: 374661
Change-Id: I0e6bc210679ef211c2850ffbe1dfc80da2f65bf0
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>