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>
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>
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>
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>
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>
- 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>
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>
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>
This reverts commit bccb069835ef880e437c68a7fed9529c2549605f.
Since the workqueue code deletes the work before executing it,
checking for no work item being currently queued to the workqueue
is not sufficient to guarantee that all the works have finished
execution. Hence, we have moved to using a counter based solution
and so this change is no longer required.
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
Add an enable_time platform data member which can be used to specify
the board dependent enable (rise) time of each regulator.
Signed-off-by: David Collins <collinsd@codeaurora.org>
ANC is a feature which reduces noise on the near-end
by pushing anti-noise onto the audio stream heard
by the user. ANC mixes the anti-noise signal
inside of the WCD9310 codec.
Signed-off-by: Brad Rubin <brubin@codeaurora.org>
Some chargers can control their current supply for the system. Provide
facility in the msm_charger to choose which charger supplies system
current. It is guaranteed that start charging will always be called
on a charger that has been previously been asked to provide system
current.
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>