Add the ioctl IOCTL_KGSL_CFF_USER_EVENT to write data to cff dump.
Define a new CFF packet cff_op_user_event for this generic user
event.
Write the surface parameter data packet and verify mem file
packet to cff dumps
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Register handler for SMSM_RESET notifications and watchdog
interrupts from the DSPS. And add support for reset via
IOCTL from user-mode application.
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
The pmic charger can take measures such as reducing charing
current if the input charger voltage falls below certain point.
Create api to use this feature.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Provide mechanism to set trickle, weak voltage and currents via
board file. These settings are used to configure the hardware
controlled auto trickle charging.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
pm8921 has a special hardware to monitor the battery temperature. Use
this block to program the cool and warm thresholds and reduce charging
current accordingly.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
BTM (Battery Temperature Module) thermistor lookup
table is computed based on the resistor divider's
used on the board and the specifications of the
thermistor. Its a function of temperature vs the
ADC code for PM8921 ADC and is used to set the
cool/warm thresholds on the BTM.
CRs-Fixed: 299646
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Use adc reading on the battery_id resistor to check if a battery
is valid. If it is not disable charging.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Implement API's to
- set maximum battery charging current
- disable drawing current from the source
- detect if battery is being charged and which charger source
is charging the battery
- get battery temperature
- detect battery is present
- detect usb is present
- detect dc is present
- set max trickle charging time
- set max auto charging time
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Add api to enable/disable battery charging. This api will help
start/stop current flowing in the battery for charging purposes, but
it does not affect the current the device draws from a charger source.
CRs-Fixed: 300786
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This ioctl is needed to track memory writes done from userspace
so that this data is correctly captured in the dump.
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
MMC bus suspend/resume was using legacy method. In system entering
S3 patch, the suspend/resume function cannot be called since MMC
bus also implemented the new suspend/resume method (dev_pm_ops struct).
So if dev_pm_ops is defined but .suspend/.resume callbacks not implemented,
mmc_queue will not be suspended/resumed.
This patch will remove the legacy suspend/resume method and change to
use the new method totally.
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Sujith Reddy Thumma <sthumma@codeaurora.org>
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>