When AD backlight attenuation feature is not enabled, the backlight
send to panel doesn't need to go through the backlight linearization
and inverse linearization.
Also set ad_bl_level to the current panel backlight level when AD
is enabled the first time and reset the ad_bl_level to 0 when AD
is disabled.
Change-Id: If96eccd817ecee6eae5fcc56fda29197b8b9f50d
Signed-off-by: Ping Li <pingli@codeaurora.org>
The continuous splash screen use case requires that we don't touch the
MMSS SMR registers during probe. Enable the option for skipping the
check for msmcobalt.
CRs-Fixed: 1037857
Change-Id: I1d522796d1dc0c73f7fe068c0964a9b5d1a09285
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
When continuous splash screen feature is enabled, the display needs to
be kept alive during the kernel boot up. For video mode panels, frame
data needs to be continuously fetched from the framebuffer memory which
requires BIMC SMMU GDSC to remain on. Add proxy vote for this GDSC to
prevent it from being turned off until the display driver hand off can
be executed.
CRs-Fixed: 1037857
Change-Id: Idef763153cdce4e59684da872520eb0cb0b1434d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
When continuous splash screen feature is enabled, the DSI PLL
is configured in the bootloader and left on when the kernel boots
up. When the PLL clocks are handed off, the VCO rate needs to be
computed back from the registers. Fix bugs in the current
implementation for calculating the VCO rate.
CRs-Fixed: 1037857
Change-Id: I8905b91f26a66d26959fb109480f0390851cbdb4
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
USB bus suspend with remote wakeup allowed case:
1. SUSPEND interrupt received from controller on USB bus suspend
2. gsi_suspend() blocks ringing of doorbell by USB controller to IPA GSI
and schedule usb_ipa_w work with event EVNT_SUSPEND
3. ipa_work_handler() work handler makes sure that USB GSI interface is
into IDLE state and calls ipa_usb_xdci_suspend() to put IPA GSI related
channel into suspend state and allow turning of IPA's clock
5. ipa_work_handler() decrements PM usage count, allow USB to go into LPM
6. USB controller driver turns off USB clocks and put into LPM
USB bus resume with remote wakeup allowed case:
1. WAKEUP interrupt received from controller on USB bus resume
2. USB controller driver turns on USB clocks
3. gsi_resume() increments PM usage count and schedule usb_ipa_w work with
event EVENT_RESUME
4. ipa_work_handler() work handler calls ipa_usb_xdci_resume() to resume
IPA GSI related channel and turning on IPA's clock
5. ipa_work_handler() unblocks ringing of doorbell by USB controller to
IPA GSI
In above USB bus resume case using specific host with ECM functionality,
host is able to send PING or data packets equal to prepared number of TRBs
(currently 7) on USB EP OUT successfully before above resume step 5 then
GSI ignores rang doorbell as WRITE pointer updating last consumed TRB is
already gone through full cycle. This results into data stall. Hence to fix
this issue increase number of TRBs used with USB OUT endpoint from 7 to 31
for USB ECM function with GSI accelerated path. This helps to have always
pending TRBs with USB controller and ringing of doorbell is not missed by
GSI once above resume step 5 is completed.
Also ECM doesn't support aggregation. Hence fix out aggregation size param.
CRs-Fixed: 1023149
Change-Id: Ife0f265b65fda92a99f5170154da6cb4c6b113b7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This allows APPS USB XHCI driver to offload the USB audio
ISOC data transfer to remote processor. USB audio QMI driver
starts a QMI service to communicate with remote processor to
exchange audio stream related information.
Change-Id: Ib771c685b3245878413cd78d20451a0dcfdfda63
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Disable deprecated UID_STATS configuration in
preparation for removing the option from KConfig.
Change-Id: I496093bbc2125afbac58e83e38113af90858f1e7
CRs-Fixed: 1035969
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
Add suspend/resume support in ICNSS driver.
CRs-Fixed: 1040309
Change-Id: I2776af4b633832ea8a930275481593f4b9d3bce3
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Update the open-loop and closed-loop voltage margin adjustments
for the VDD_APC1 rail in agreement with hardware characterization.
For open-loop, add 8 mV margin for LowSVS and 52 mV margin for
Turbo fused corners. For closed-loop, add 50 mV margin for
the Turbo fused corner.
CRs-Fixed: 1039620
Change-Id: Ib4ee0e9432bb6f2916416e2826d5590e98f9d426
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
In order to reduce an audible pop on bring-up of ANC headset
path, keep AMICs supplying ANC noise data muted and ANC block
in reset until after headset amps are enabled. Also synchronize
the PA enables.
CRs-fixed: 990915
Change-Id: Ifb6b7849ec60fa1b5e3fd56c1d45631af1c18fd8
Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org>
Print resource bandwidth and total bandwidth in ipa resource
manager for debugging purpose.
Change-Id: Ib639cd850a7cafa5f1176f0fa09efac8ad8738d5
Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
If the instant bitrate during playback is higher than
the max supported bitrate, then driver should ensure
that venus core is scaled at max frequency. Without this
change we will see frame drops if instant bitrate is
higher than max supported.
CRs-Fixed: 1038427
Change-Id: Id76865085285e2d8b92dba6aa456b972374789ac
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Configure the default CMA region size in DT instead
of using CONFIG_CMA_SIZE_MBYTES.
This is better because it allows alloc-ranges to be set and
is easier to configure per target.
CRs-Fixed: 1024204
Change-Id: Ie3bff2a43cfc2ea16543a3e9322a10f42c4bd923
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Remove the leds_off label and move the switch node disable
sequence into a separate function. Also take this opportunity
to move the flash-led structs from header file to driver file.
CRs-Fixed: 1024187
Change-Id: I5d4eb58f5ed3ace03190f3c48b98f0d88e8b8965
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
The camera driver needs to be able to independently control
the front led and the rear leds from separate camera devices.
Update the pmicobalt flash-led device to support two switch
nodes, one of which controls the two rear leds and the other
controls the front led. Also update the camera device to use
the new switch node phandle.
CRs-Fixed: 1024187
Change-Id: I13d5a64fc35ca80e928d6da689d7b19cbbdb8fe5
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Since multiple devices may need to use the flash module,
each will need its own switch node to be able to
independently control the different leds. Add support for
this functionality.
CRs-Fixed: 1024187
Change-Id: Ibeebaff8456d8d338ac9bebb50e205e1196ce8a6
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add support for the DP pixel clocks on MSMCOBALT.
Change-Id: Iab59a45da4bbca19b2eaebc63d827768ae86eec8
CRs-Fixed: 1028725
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add a new RCG op specific for the DP pixel clock source.
CRs-Fixed: 1028725
Change-Id: I65dcac9f4d17d30dfa1a00f4edabef33a3d75c6a
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Add support for using 64bit dma_mask on ipa3 with
smmu dev attached both in bypass and full mode.
Change-Id: I955d81bffc957c4d93a1a90eb974e558e7b5d123
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
No support for pbss results in a memory leak for the acl_data
(if parse_acl_data succeeds). Fix this by moving the ACL parsing later.
Cc: stable@vger.kernel.org
Fixes: 34d505193bd10 ("cfg80211: basic support for PBSS network type")
Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/jberg/mac80211.git
Git-commit: 6e8ef842223b90a33efd570128bb566a9ae6f5ad
CRs-fixed: 1024951
Change-Id: I5750ae9091ca349e98bba4b24c78ef9446278c5a
Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
In order to share the usb audio qmi device iova with lpass usb audio
driver, attach usb audio qmi device to lpass q6 iommu using sid 12.
Change-Id: Iec7a0d5472136f55e31723ce2f4d681a9b67c140
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Modify FE ID check to use > instead of >= since
MSM_FRONTEND_DAI_MM_MAX_ID is defined as
MSM_FRONTEND_DAI_MULTIMEDIA16 which is a valid
FE ID.
Change-Id: I0ba4d62e3723841c3dfccdca210c80cd220f78f7
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
Adding the device tree files for RUMI platform.
Change-Id: I980e39b8c072fc2ec35d84b8698c40c770f7f041
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
Layerwise bitrate with predefined distribution table is applied
if HP is enabled. This is wrong (since client may configure
custom distribution) and unnecessary (client may not configure
layerwise distribution and use cumulative).
CRs-Fixed: 1023504
Change-Id: I053587ae85b36ce0b08fdb5918c0f6b9d678dd24
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
When unloading a TA, the operations to check ref_cnt,
scm_call to unload TA, free app list entry should be
within one critical section. Otherwise, if another
thread comes in and tries to load TA, TA status will
be out-of-sync. so move __qseecom_cleanup_app()
and __qseecom_reentrancy_check_if_no_app_blocked()
to the beginning of qseecom_unload_app(), as these
functions may release app_access mutex for a short
period.
Change-Id: I3e961f4fe1728a32314a3acf7af719374c90d01f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
LMH DCVSh will retain the mitigation till it clears the Low
threshold. With mitigation happening at 95C, configuring the
low threshold as 65C will hold the mitigation till it clears 65C,
which will impact the performance.
Instead of configuring the low threshold, configure the ARM threshold
from HLOS and low threshold will be configured 2C less than the
high threshold in the trust zone.
CRs-Fixed: 1024370
Change-Id: Ifb303d7266c98eb94c5eb6f806b7c5e1d95236d3
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
This corrects rotator irq enable mismatch by moving enable/disable
sequence to resource allocation/deallocation time. This will
eliminate race condition between regdma start and wait for done,
which causes unacknowledged rotator interrupt to continuosly trigger
MDSS main interrupt handler, ending in watchdog reset.
CRs-Fixed: 1035411
Change-Id: I597b58b478a35e9c3e3afb1a2ddd20ad87961c1a
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Providing additonal linear format support for v4l2 rotator in mdss 3.x
hardware.
CRs-Fixed: 1032294
Change-Id: Ie8a19341831d4ffaea36898a80c71ab25f5daf3c
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Add dts mpm2-sleep-counter node which is used by the boot_stats driver.
This dt node gives imem offset to read boot stats written by the
bootloader.
CRs-Fixed: 1037982
Change-Id: I4f8ec495ae02908d1d8cd7e86148a6d4bd38b198
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Some MFD PMIC configurations do not support interrupts. Make the interrupt
controller optional to support these PMIC configrations.
Without an interrupt controller this driver simply passes a regmap to
its children.
CRs-Fixed: 1037797
Change-Id: I52b909dd226494987c79ed106ffdf9892d966ef1
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Following the convention like MTP and CDP, create a separate dtsi file
for msmcobalt qrd platform.
CRs-Fixed: 1036660
Change-Id: I8ccbbc9ef0795397614ad0644fd1f2b5e31e3780
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Update MPM interrupt mapping to bypass some of the interrupts as per the
HW specification.
CRs-fixed: 1032455
Change-Id: I60c60470a649eecd5bacf0b39b20dff58c910897
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Configure the size of the default CMA region in DT.
Configuring the default CMA region in the DT is cleaner than using
CONFIG_CMA_SIZE_MBYTES since it is easier to configure per target
and the alloc ranges can be specified in DT.
CRs-Fixed: 1024204
Change-Id: I7d999382dcb6223d84424173a1726c250520ad04
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Not all of the pIMEM Vault memory carveout is being used in msmcobalt.
Return unused portion of the pIMEM Vault carveout memory to HLOS.
CRs-Fixed: 1024170
Change-Id: Ie0cfab09192ca6b09ec4fe171aaf544e3fb5f08f
Signed-off-by: Liam Mark <lmark@codeaurora.org>
ISOC data transfer for audio device is offloaded to remote
usb audio driver entity. This requires remote entity to access
device context info, event ring, transfer rings and transfer
buffers allocated by APPS XHCI device. Hence add a platform
device which maps the XHCI device physical memory to virtual
memory and shares with remote processor's iommu. All the memory
info is then sent over QMI to remote entity.
Change-Id: I1abc80652a167cefa667b914b3a80a87326c3d44
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Upon usb audio device enumeration remote entity
communicates with usb audio qmi server to enable
or disable particular audio stream on usb audio
device. This off loades ISOC data transfer
operations to remote entity and allows APQ to go
to power collapse more frequently for better
power saving.
Change-Id: I2c9b0ba0837f8fec5c320e3117aa3b2f553db6b2
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
When continuous splash screen feature is enabled, the display needs to
be kept alive during the kernel boot up. Add proxy vote for all the
regulator supplies needed to keep the display panel alive over the DSI
interface until the display driver hand off can be executed.
CRs-Fixed: 1037857
Change-Id: I95544aaf607887ae34eace8a9b1f18a1375c5c6d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Add support for the DP link and crypto clocks on MSMCOBALT.
CRs-Fixed: 1028725
Change-Id: I6cdb366499f9589dff9a42491c7ff357e98d65c5
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
The flash-led switch node must vote on the pmicobalt BoB
regulator. Hence, add this regulator node to that.
CRs-Fixed: 1024187
Change-Id: Ic4ec03e4fd545d44118c2225a3f8e26901ca1d81
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add support to control regulators required for
flash-led. The pmicobalt_bob regulator is one
such regulator required by the flash-led device.
CRs-Fixed: 1024187
Change-Id: I1515fba2fb04c0b4d21828af3cea6d322262ab14
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Flash LED is a high energy aggregator from system as it is capable
to provide current up to 3750mA for illumination. Therefore, it
should be used with caution especially when battery state of charge
is low. Therefore, add a function which can be used by clients like
camera to query the flash current limit before using flash LED. This
protects the system from a possible UVLO condition.
CRs-Fixed: 964855
Change-Id: I17fa4f28cc151e3a3ad89d284995a3fa770bec68
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Flash LED module supports various kinds of strobe support. Strobe
type can be hardware or software, active high or low, and level or
edge trigger. Add support for configuring strobe type through
device tree properties.
CRs-Fixed: 1024187
Change-Id: Ief6a610c82b7f645966c596f543a1d30f7a40dcc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
During SSR(subsystem restart), add a delay when ADSP state
is not yet ready. This will avoid excessive logging when
ADSP state is not ready.
Change-Id: I7e127d97cdd22409d4e70788a7cf2013593d3bfe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
It is possible that core service can register with APR in
different contexts and may result in apr_register returning
EALREADY error while core service gets a NULL handle.
Avoid the race condition by holding command lock to ensure
that apr_handle does not get overwritten.
Change-Id: I8863185651fde8d29b5b8d8f183544bf0f215dbe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Increase the maximum video buffers to 64 as with camera 64
buffers are allocated and used.
CRs-Fixed: 1039456
Change-Id: I37d91c4f7e5d98333cf6be3c75168e134ae78060
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
With smmu enabling, ipa3_pre_init is actually
probed twice and causing the crash, the fix
is to do only once.
Change-Id: I20bd718c8cb70029c4dd46c52dbece326b90ef80
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>