ALSA currently supports a 16-bit register which contains
two 8-bit two's complement gain values.
This patch modifies the same callback functions as the
above register type to support an 8-bit two's complement
gain register.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
WCD9310 has four micbiases and each of them can be programmed to get its
power source from one of 3 available cfilters. Each cfilter can be
programmed to different voltage levels. Essentially, on WCD9310, a user
can have up to three different voltage levels to power various analog
microphones and digital microphones. As it is now, micbias voltage level
of WCD9310 is left to default value. Micbias and cfilter mapping is managed
by codec driver. Different board design can have different micbias
arrangement. Micbias configuration of wcd9310 CODEC for 8960 CDP/MTP/FLUID
is properly defined in this patch.
Signed-off-by: Patrick Lai <plai@codeaurora.org>
Add support to treat ghost touches as normal touches incase firmware
reports all touches as ghost touches.
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Added method to msm_charger to allow programming of max source
current. Created struct for platform data to be passed into
pmic8058_charger
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
Add caller information to memory allocation calls and
create /sys/kernel/debug/mempool/map to show the current set of
allocations across all memory pools.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Current implementation has a bug in v4l2 event subscription.
Also it is good to make the kernel to be transparent
to those notification events from daemon to HAL.
Signed-off-by: Mingcheng Zhu <mingchen@codeaurora.org>
Added more error checking code
Separate dimension specific register settings into separate structure
Code flow improvements
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
Platform data is added to the WCNSS platform device to indicate if the
board containing the WCNSS device is configured with an external 48MHz
XO. In addition a module param is added to the WCNSS driver to allow
the platform data to be overridden.
CRs-Fixed: 288847
Signed-off-by: Ankur Nandwani <ankurn@codeaurora.org>
Acked-by: Jeff Johnson <jjohnson@qca.qualcomm.com>
This patch adds the functionality for FM enable, disable,
tuning, configuration and RDS functionality for FM TX
Signed-off-by: Ankur Nandwani <ankurn@codeaurora.org>
The output of hkadc calibration steps are voltages measured at
0.625V and 1.25V. We use these to adjust the vbatt readings.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Because q6asm_write use mutex to protect the shared data, this API
should not be called from event handler. Instead, calling
q6asm_write_nolock interface.
CRs-fixed: 298006
Signed-off-by: Jay Wang <jaywang@codeaurora.org>
Implement an api to return the pmic internal charging state.
Now that we have a enum to define the states, replace the hard-coded
state numbers to enum values.
CRs-Fixed: 299629
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
These two new APIs allow a driver to specify its PWM period
and duty cycle separately using PM8058 chip specific parameters
or raw values. The API to program a duty cycle uses hardware
module's LUT (LookUpTable) to output PWM value, which can be
used to alleviate potential glitches using direct writing to
PWM register.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
A big struct of pw8058_pwm_config is not easy to manage. Split it
to smaller structs and make the period struct public.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
ALSA trigger function must be atomic. Therefore, removing the AFE APR
registering function to prepare since apr_register uses mutex
CRs-Fixed: 298122
Signed-off-by: Jay Wang <jaywang@codeaurora.org>
This patch adds the changes for search station list responce,
corresponding to the firmware change
Signed-off-by: Srinivasa Rao Uppala <uppalas@codeaurora.org>
- Create a flat directory structure for hw crypto modules
that includes all source and all header files.
- Remove msm/inc directory
- Relocate qcedev.h header file to include/linux
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
Add pm8xxx_led_configure API. It takes LED Id, mode,
and maximum current to be set.
Moreover,
1) Convert current values to actual current level using
appropriate LED current factor.
2) Check brightness values against acceptable
limits.
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
PMIC stay-on feature allows PMIC to ignore MSM PS_HOLD=low
signal so that some special functions like debugging could be
performed.
This feature should not be used in any product release.
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
Read IDR frame type from 720p core register set and
propagate it to user space using new IDR frame type
enumeration added in api header file. The IDR frame
type info is used in SYNCFRAME logic for H264 format
in userspace.
CRs-Fixed: 296738
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
ANC register writes were improperly packed into
integers. ANC register writes were not correctly
performed, as the mask was incorrectly applied.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
Initial version of LED driver for Cdp & Mdp comprise
- Enable SC628A LED Driver chip for 8960.
- Configure SX150X Gpio Expander chip.
- Restructure Camera Gpio Mux settings table
which will later be used to toggle function select for LED Flash
between Mdp & Cdp.
Signed-off-by: Nishant Pandit <npandit@codeaurora.org>
This simplies the way event is propagated. Driver only needs
to pass on the v4l2_event structure directly.
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
Added host side changes for supporting the new Bahama FM Searcher
Algorithm. This involves configuring the channel spacing as 100KHz
and enabling the 200KHz enforcer for regions that are 200KHz spaced.
Signed-off-by: Anantha Krishnan <ananthk@codeaurora.org>
The pm8921 bms driver can provide instantaneous current. Use the
current now property of the power_supply class to expose this
feature.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
For field based interlace clips, video core will generate
an error when one of field is missing in bitstream.
Driver will report this to upper layer, so that it can
take appropriate action.
CRs-fixed: 290659
Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
IPC Router looks up all compatible services during the server
lookup using the compatibility mask provided by the clients.
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
When video core generates recoverable bitstream errors,
driver will report them to upper layer.
CRs-fixed: 290659
Signed-off-by: Gopikrishnaiah Anandan <gopikr@codeaurora.org>
Slimbus can run in clock gears 1 through 10 per spec. Scheduling
algorithm tries to find the optimum clock gear depending on bandwidth
usage for messaging and active data channels.
However, not all controllers may have the ability to support all the
10 clock gears. This patch provides ability so that scheduling
algorithm will only run the bus in supported slimbus clock gear.
Controllers can specify supported minimum and maximum clock gear
during registration with the framework.
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
Device mute control is added which can mute the
respective dev_id to volume zero.
msm_device_mute() in user space will use this
control.
CRs-Fixed: 295399
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Due to hardware constraints, the SMI should not be mapped
in the kernel space when not in use. Unmap the SMI from
the kernel address space when the last allocation is freed.
Vote for bus bandwidth as well while the SMI is allocated.
CRs-Fixed: 281723
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>