Add support in encoder for programming early fetch in the
vertical front porch.
Change-Id: I60fcf4a4e6aea80292b590ee14506579123f372d
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
Split SDE encoder into virtual and physical encoders. Virtual
encoders are containers, one per logical display that contain
one or more physical encoders. Physical encoders manage the
INTF hardware.
Change-Id: I6342511c59568c76278a519b84f93338157e59fa
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
Controller Instance ID differentiates between INTFs of the same type.
E.g. which DSI INTF is primary, which is secondary.
Change-Id: Icc47df59a24faa2a019ab190d6c835a0ac93024d
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
Implement basic crtc, encoder, and plane support that
implements DRM atomic call sequence, queries hardware, and
enumerates resources as DRM objects. This includes basic
color format support, as well as querying of displays
to create appropriate encoders, crtcs. Also includes
supporting clock control logic.
Change-Id: I25a9c74b92262d81986b3441c89d51bff2d14dbb
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
Add msm_smmu driver to support mapping buffers to
arm smmu memory. msm_smmu adds the hooks to support
drm hooks. Current change only supports the unsecure
domain memory. msm_gem object is also updated to attach
the new msm_smmu driver.
Change-Id: I4899bd74d8b41b864ed5e0dec2da11e929c7fa95
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Krishna Srinivas Kundurthi <kskund@codeaurora.org>
The change adds a synchronization mechanism to avoid concurrent
access to the TZ App.
CRs-Fixed: 1110588
Change-Id: I1ec37133eb7fe8c3fda498e6fe6661198163e07d
Signed-off-by: Alexander Kolesnikov <akolesni@codeaurora.org>
Add LMH DCVSh mitigation support for Kernel thermal driver for sdm660.
It enables KTM to request frequency mitigation to LMH DCVSh hardware
block.
Change-Id: I15258a8afea51421bc39d554ec96e2134924a3a6
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Enable LMH DCVSh driver for sdm660. It adds information about
the interrupt generated by the LMH DCVSh block for sdm660.
Change-Id: I6cd07ef4825aaa57cf3d58ea239c9fbc05c4e442
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
For all rpm clocks, max rate request is going to RPM
during handoff which always shows max requested rate
value from APSS so fix the same.
Change-Id: I4f184ea053fc1a40830eb9f555c24fdf17ba3fa1
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
Update qrng block address and interrupt number for crypto hardware
for SDM660.
Change-Id: I5f0066a1d2086830747156d8c65746a2dac87feb
Signed-off-by: Brahmaji K <bkomma@codeaurora.org>
Enable watchdog node for sdm660 which is
used to detect system hang.
Change-Id: I463f7320a068b678370b295558689c37d8073fb7
CRs-fixed: 1056777
Signed-off-by: Amey Telawane <ameyt@codeaurora.org>
If download mode disabled, msm-poweroff driver compilation will
throw errors.
Fix them by moving download mode support under the flag.
Change-Id: I7a3f946d72cb4e500e3e762e4a6a5f2c8b90cb8c
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Add device nodes for I2C, SPI, UART and also Audio and QCA slimbus
which are disabled by default. Need to enable along with slave instances.
Change-Id: I8e9486b6774a993c14c1363adaa62435e8c0d58b
Signed-off-by: Shrey Vijay <shreyv@codeaurora.org>
For set rate, dp_pixel_clk_src rcg requires the correct parent
source to configured so add support for the same.
Change-Id: I9c8ae2904b47dbe0bc6845e2ca38fbd2f126a7e5
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
Use correct property name for passing voltage values for voting
core_ldo which is required for QMP PHY.
Change-Id: I042905f5971c653f580a6f4388555744ff3160cc
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Update vdd-current-level as per latest hardware documentation
and interrupt related properties of sdhc2 for sdm660.
Change-Id: I93fa440bc7ae0f72cb19949fdb9e4c5f6322d253
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
There are few compiler errors and warnings when CFS_BANDWIDTH
config is enabled but not SCHED_HMP.
Change-Id: Idaf4a7364564b6faf56df2eb3a1a74eeb242d57e
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
HMP scheduler boost feature related functions are referred in SMP
load balancer. Add the nop functions for the same to fix the
compiler errors with !SCHED_HMP.
Change-Id: I1cbcf67f728c2cbc7c0f47e8eaf1f4165649dce8
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
PMI GPIO1 is used to enable and disable WLED for msm8998 QVR,
we should also invert the gpio level according to HW design.
CRs-Fixed: 1101647
Change-Id: If29e41d12a697d7fd6671f1134a1e798c80c3523
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
Added attributes for forcing a buffer mapped as coherent or
non-coherent by using the DMA_ATTR_FORCE_COHERENT and
DMA_ATTR_FORCE_NON_COHERENT.
Change-Id: Ifecad81dd96b99ab63854bddce378ff775c22d38
Acked-by: Viswanatham Paduchuri <vpaduchu@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
This reverts commit c996cdd384 ("USB: rndis:
Free the rndis response queue during REMOTE_NDIS_RESET_MSG"). RNDIS host
sends GET_ENCAP_RESP for every RESP_AVAILABLE_NOTIFICATION from device.
As result if REMOTE_NDIS_RESET_MSG comes device rndis driver frees all the
previous responses and once notify request gets completed for previous
RNDIS request message it sends reset message completion resonse. When
response available request corresponding to RNDIS reset message gets
completed host RNDIS driver sends GET_ENCAP_RESP and device sends stall
because all RNDIS responses are freed due to RNDIS reset message.
Change-Id: I8a785d1ea8175c5c6aa08cda5cdd00cfd0c561b5
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
When SSR happens at WLAN driver, the cfg80211 stop AP can fail at driver.
Make sure that the beacon interval is reset, even when this API fails.
Change-Id: I459f55ce5f4bc44c4d0e20170bd50a83c2d609b4
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
CRs-fixed: 1078172
Add support for routing between VoiceMMode1 downlink and
QUAT_TDM_RX_2 as well as VoiceMMode1 uplink and QUAT_TDM_TX_0.
CRs-fixed: 1027757
Change-Id: I52ba1cbe8f80abbf5b60eca7a312f23c126a157c
Signed-off-by: Honghao Liu <honghaol@codeaurora.org>
Avoid race condition in driver when encoding param by
reading contents from a local copy instead of msg buffer
itself which can be mapped to user space.
Change-Id: I405ca6c7fcb0afa112e0851907b5dca805ac5411
Signed-off-by: Ahmed Sheikh <ahmedsh@codeaurora.org>
When rotator job finished, driver needs to send out done signaling to
notify fbdev driver to perform a commit. However, there are occasions
that the SMMU disabling take quite long time and delaying the fbdev
commit time. To reduce this unpredict latency, move the SMMU disabling
much later in the rotator done handling, and also remove unnecessary
SMMU disabling call during commit phase.
CRs-Fixed: 1100633
Change-Id: I76ad017661aa6f760a2adc3579f59a7b66ab8e40
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
If read function is waiting for interrupt and after that
NFCC goes to recovery, MW will call ioctl (0) and ioctl (1),
In ioctl (0) call we are disabling interrupt so read function
was waiting for interrupt and ioctl call has disabled interrupt,
now there is no possibility interrupt will be enabled again
because only read function enables the interrupt.
Enabled interrupt in ioctl (1) so that we can receive data
after reset/recovery.
Change-Id: I1677a50129534b1eaa4b8c20820a15db299cd9c1
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
Add support for AAC LATM clips. Define macro for AAC LATM format
and configure media format block with this value for AAC LATM clips.
CRs-Fixed: 1108268
Change-Id: I10cf2db9fc7e4d40d2bf910e162b3c2d95d8a03c
Signed-off-by: Surendar karka <sukark@codeaurora.org>
Vote minimum possible voltage corner on system regulator in
regulator disable path when the CPR controller manages an
underlying LDO of type LDO300.
Also, fix the regulator get failure print when vdd-supply
not specified for CPRh controllers.
CRs-Fixed: 1108988
Change-Id: Ic1c7b6fd4bf93dd213b2f639aa21b47890906478
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Properly initialize local variable in the SDE rotator WB done handler.
Under error condition, it is possible that the handler access the
uninitialized variable.
CRs-Fixed: 1110015
Change-Id: I4c76fd6400c528f5dd7773aa9b3718dd86b2b01a
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Some platforms don't configure qcom,secondary-pon-reset like 8998.
So set boot_reason when "qcom,system-reset" node exists to avoid
setting a wrong value to boot_reason.
CRs-Fixed: 1102732
Change-Id: I9e9ff2f2d0ffac6baa5d0663664001eb30638e87
Signed-off-by: Mao Jinlong <c_jmao@codeaurora.org>
Add IPA stats support on AP+STA mode for V2 driver
when CNE queries. Also add metering funtionality
on WIFI interface to stop the data transfer
when quota reached on WIFI-case.
Change-Id: I51a771423e6a35ea0453b978be484d0464bddf14
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
Do not send CMD13 after sending switch command for HS, HS_DDR,
HS200 and HS400 modes. It seems that below problem can occur -
1. After sending switch CMD6, card will switch to mentioned bus speed
mode.
2. At this moment the controller will be in different bus speed mode,
unless the timing of the controller is switched to match with that of
card.
During this time, if CMD13 follows CMD6 to switch the bus speed
mode in card. Then it may cause timeouts or other errors because
of mismatch in timing of controller and card.
Thus send CMD13 to see the status once both controller and card are
switched to same timings.
Change-Id: If796c8cfce2cbdc1bce460460e3276886ae1be0c
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Update size of memory allocated for param to avoid out of bound
memory access in adm_get_params_v2.
CRs-Fixed: 1104324
Change-Id: I8cecc7312975ff82d780216b9ba622787c8a09b3
Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
When mod_delayed_work() is concurrently executed, there a potential
live lock scenario due to pool->lock contention.
Lets say both CPU#0 and CPU#4 calls mod_delayed_work() on the same
work item with 0 delay on a bounded workqueue. This workitem has
run on CPU#4 previously. CPU#0 wins the work item PENDING bit race
and proceeds to queueing. As this work has previously run on CPU#4,
it tries to acquire the corresponding pool->lock to check if it is
still running there. In the meantime, CPU#4 loops in
try_to_grab_pending() for the workitem to be linked with a pwq so
that it can steal it from pwq->pool->worklist. The CPU#4 essentially
acquires and releases the pool->lock in a busy loop and CPU#0 may
never gets this lock.
---------------- --------------------
CPU#0 CPU#4
--------------- --------------------
blk_run_queue_async()
mod_delayed_work_on() queue_unplugged()
--> try_to_grab_pending() returns blk_run_queue_async()
0 indicating PENDING bit is set
now.
__queue_delayed_work() mod_delayed_work_on()
__queue_work() try_to_grab_pending()
{
--> waiting for the CPU#4's acquire pool->lock()
pool->lock release pool->lock()
}
Change-Id: I9aeab111f55a19478a9d045c8e3576bce3b7a7c5
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Return an error code to ensure length value is valid.
CRs-fixed: 1102987
Change-Id: I6a679d08342d1da58c20b5c3d4e436dd335764ae
Signed-off-by: kunleiz <kunleiz@codeaurora.org>
Add ring buffer to enable tracing of significant events
of eMMC in both CQ and Legacy mode for debug purpose.
CONFIG_MMC_RING_BUFFER should be enabled to use ring
buffer logging.
Change-Id: Iceb404d77fca19e133c319bc66ec15b2d77c7c54
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
nt36850 wqhd command panel will be used for sdm660 QRD,
so enable it for sdm660 QRD.
CRs-Fixed: 1107352
Change-Id: Ia7a691949bfef8777f78e846b6fb92e01658441f
Signed-off-by: Yahui Wang <yahuiw@codeaurora.org>
Range checking is added to prevent buffer overflow.
CRs-Fixed: 1098363
Change-Id: I5871a3a11ec5f5106a386bf149d7ec22605f3db8
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Range checking is added to prevent buffer overflow that due to inputs
can be set by user space.
CRs-Fixed: 1098363
Change-Id: I057261291806240ee6d7b8106a5e83a7665e013d
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Add TLB dump entries to setup memory space for the cpuss dump
driver to dump TLB entries.
Change-Id: I7514969c1540d18d2102088b43d959adec68152f
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Codec check is added to distinguish between Tavil and other codecs
before SLIMBUS configuration. It prevents a possible buffer overflow
in SLIMBUS configuration.
CRs-Fixed: 1104194
Change-Id: Ib4e5d8ec9212016064c719fdd1f3188b68bd8801
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
When perf_group_detach is called on a group leader,
it should empty its sibling list. Otherwise, when
a sibling is later deallocated, list_del_event()
removes the sibling's group_entry from its current
list, which can be the now-deallocated group leader's
sibling list (use-after-free bug).
Bug: 32402548
Change-Id: I99f6bc97c8518df1cb0035814368012ba72ab1f1
Signed-off-by: John Dias <joaodias@google.com>
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit: 6b6cfb2362f09553b46b3b7e5684b16b6e53e373
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>