Related tasks are grouped together based on their sched_group_id.
The userspace implementation requires world write permissions to
this /proc/<PID>/sched_group_id file.
Change-Id: I92e6fd3ca693387aeb0664cc75afde06f75d4a9f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add a flag to the trace event that indicates why we picked a particular
CPU. This is very useful information/statistic that can be used to
analyse the effectiveness of the scheduler.
Change-Id: Ic9462fef751f9442ae504c09fbf4418e08f018b0
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
notify_migration() is a HMP specific function that relies on all
of its contents to be stubbed out for !CONFIG_SCHED_HMP. However,
it still maintains calls to rcu_read_lock/unlock(). In the !HMP
case these calls are simply redundant. Move the function under
CONFIG_SCHED_HMP and add a stub when the config is not defined so
that there is no overhead.
Change-Id: Iad914f31b629e81e403b0e89796b2b0f1d081695
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Most code pertaining to CONFIG_SCHED_HMP has been moved to a separate
file "hmp.c" in order to facilitate kernel upgrades. Fewer changes in
the original scheduler files means fewer conflicts. Some parts of code,
however, could not be moved to the separate file either because of
dependencies with other non-HMP code or because the changes are specific
only to the scheduling classes where the code resides.
Change-Id: Ib067ac75e5a494008dcb3c67586b622c1b3962ce
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Code sections found either CONFIG_SCHED_HMP or !CONFIG_SCHED_HMP
have become quite fragmented over time. Some of these fragmented
sections are necessary because of the code dependencies. Others
fragmented sections can easily be consolidated. Do so in order
to make kernel upgrades a lot simpler.
Change-Id: I6be476834ce70274aec5a52fd9455b5f0065af87
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Fix compile issues observed when CONFIG_SCHED_HMP is not turned on.
There are still targets that may want that config option turned off.
Change-Id: I29e69356da8d003d13d8cd3927a0b166cc1ef95e
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
The config option has been removed. Update all defconfigs to reflect
that.
Change-Id: Ia1aa0405e8d7c7c48fe8023691b57fba00c6a22b
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
With the SMMU attached, need to provide
netdev name when calling dma_map_single
instead of passing NULL to prevent DMA
allocation errors.
Change-Id: Ic126739d20ff6cd148b2f424746555419fcfca70
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Derive extradata plane size using internal MACRO rather
than getting from Venus. This helps to keep clients and
driver in sync.
CRs-Fixed: 1011881
Change-Id: I2b3536f5eb2742d6b6855140c40724f6425d1578
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
CONFIG_SCHED_FREQ_INPUT was created to keep parts of the scheduler
dealing with frequency separate from other parts of the scheduler
that deal with task placement. However, overtime the two features
have become intricately linked whereby SCHED_FREQ_INPUT cannot be
turned on without having SCHED_HMP turned on as well. Given this
complex inter-dependency and the fact that all old, existing and
future targets use both config options, remove this unnecessary
feature separation. It will aid in making kernel upgrades a lot
simpler and faster.
Change-Id: Ia20e40d8a088d50909cc28f5be758fa3e9a4af6f
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
The QHMP version of the scheduler is no longer available from this
kernel vesion onwards. sched-zone.txt should be used instead for
the upgraded zone scheduler. Remove the original sched-hmp.txt
and reuse the name for sched-zone.txt.
Change-Id: I9b033101b903dc49b8683025602d2af395501daa
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
While tracking C-states makes sense under CONFIG_SMP as well, cstate
information is currently unused under CONFIG_SMP. Move it under
CONFIG_SCHED_HMP for now since that is the only place it is relevant
at the moment.
Change-Id: Ifc5812cfe14ebf2b4d447100dcd87f02ab29ff7a
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
PELT extensions for HMP have never been used since the early days
of the HMP scheduler. Furthermore, changes to PELT itself in newer
kernel versions render some of the code redundant or incorrect. These
extensions have not been tested for a long time and are practically
dead code. Remove it so that future upgrades become easier.
Change-Id: I029f327406ca00b2370c93134158b61dda3b81e3
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Migration notifiers were created to aid the CPU-boost driver manage
CPU frequencies when tasks migrate from one CPU to another. Over time
with the evolution of scheduler guided frequency, the scheduler now
directly manages load when tasks migrate. Consequently the CPU-boost
driver no longer makes use of this information. Remove unused code
pertaining to this feature.
Change-Id: I3529e4356e15e342a5fcfbcf3654396752a1d7cd
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
GFX retention mode does not save GFX rail power. The feature
increased MX rail power. Fixing the problem requires more overhead
than removing it. The feature has never been enabled in any targets.
So remove the feature.
CRs-Fixed: 1053516
Change-Id: I5f118138eca307f7cc16405ff9c8897ecd510c12
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add DCVS plan to support new GPU frequencies and voltage corners
on msmcobalt v2.
CRs-Fixed: 1056661
Change-Id: Ie0bde4d908189da86077b69be52c51f2a35596a8
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add separate voter clocks for controlling the mmss_camss_jpeg0_clk
from two clients on MSMCOBALT.
CRs-Fixed: 1049594
Change-Id: I530e35054fd512574bca9e5937317099f58d2bb6
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Adapt IPA driver code where it has different handling
according to IPA H/W version, to support IPAv3.5 and
IPAv3.5.1 H/W versions.
Change-Id: I2e5bd023d643d2fbba32f226c5eb85c39b620f3b
CRs-fixed: 1055677
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
The kernel panic could happen in CPU interrupt context. CPR3 panic
callback function does ioremap which cannot be executed in an interrupt
context. Fix the issue by doing a ioremap during driver initialization.
CRs-Fixed: 1056786
Change-Id: I191127fafb26bcf10ea25f972fe5af122debf292
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add initial device trees for msmcobalt QRD SKUK board.
Change-Id: I9426d3651c704fbef302c6d49170c9e996cb9179
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Add support for USB atomic notifier callbacks when host controller
drivers reports death of controller on some fatal error.
Current implementation doesn't help to recover from this condition.
Controller platform drivers can register for this callback and take
necessary steps to reset and add hcd again.
CRs-fixed: 1048766
Change-Id: Ie9064e669424096fee8c35cddccab29faf60cc6b
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Get msmfalcon defconfigs up to date with msmcobalt
defconfigs, in order to bring in all the latest changes.
Change-Id: Ia670dab963bd337bf3aa395e15f4ec8e8f213e1c
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Add null pointer exception check for pointers which
may be NULL after memory allocation failure and may
be deferenced.
This patch is propagated from msm-3.18 kernel.
'commit 5c6aa1bb97a3 ("input: ft5x06_ts: add NULL
pointer check")'
Change-Id: Ied34d548bff27f8f6da9f4c81896e4505cdce218
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
If Hibern8 enter/exit fails and we also see some UIC errors at the same
time, we would see following 2 recovery paths running in parallel to
restore the host and device communication.
Context-1: ufshcd_uic_hibern8_exit() -> ufshcd_link_recovery() ->
ufshcd_reset_and_restore()
Context-2: ufshcd_err_handler()->ufshcd_reset_and_restore()
This change fixes this race by making the ufshcd_link_recovery() to wait
for the already scheduled ufshcd_err_handler() to finish running and then
schedule the error handler again to make sure that host-device link is
reestablished.
While we are fixing the above race, similar race could happen between
ufshcd_eh_host_reset_handler() and ufshcd_err_handler() hence fix the
error handling in ufshcd_eh_host_reset_handler() same way as fixed in
ufshcd_link_recovery().
CRs-fixed: 1037647
Change-Id: Ic7a17a907e70122968c324e3cbe6e0421c28a2c9
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
When device switch to suspend state the gpio and pinctrl need to be
configured properly to prevent the touch controller current leakage in
device suspend state. The pinctrl must be configure first before
the gpio configuration. Select the pinctrl sleep state and after that
in gpio configuration part free both IRQ and reset gpio, and also set
direction of reset gpio to be input. If the gpio and pinctrl is not in
proper state the touch controller will not switch to the deep sleep state
and it will start consume current during the device suspend state.
To prevent this leakage current issue, pinctrl and gpio must be
configured properly.
This patch is propagated from msm-3.18 kernel.
'commit 494eae39f2a4 ("input: ft5x06_ts: pinctrl and gpio config in
suspend/resume path")'
Also cleared checkpatch errors on msm-3.18 kernel.
Change-Id: I0ec72bbbf12320ad22608522d1250614c6686fe3
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
The uapi directory should only contain userspace visible
definitions, move everything else to the regular include directory.
Change-Id: I33a2f4511eef540c979a3880e7926cbe6cadafe6
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
devm_pinctrl_get() does not release the ownership of mux function
of pins in the associated pin-group whenever a failure occurs in
driver probe routine. i.e struct pin_desc's mux_owner field is
still marked as being in use after a failure occurs in probe.
As a result of this, if another driver tries to acquire the
ownership of same pin, it gets an error while applying that
setting. To fix this, explicitly release the mux function
ownership of the the pin, by adding a new pin-group in pinctrl
DT and a new pinctrl state in touch device's DT node. This new
pin-group does not have a function setting (qcom,pin-func property).
This new state is explicitly activated during a probe failure
and driver remove routine to release the mux function ownership.
The patch also reorganizes the pinctrl related code in driver.
This patch is propagated from msm-3.18 kernel.
'commit f09a0560dde9 ("input: focaltech: release pinctrl resources
on probe failure")'
Change-Id: I16a97fefc64dd171deb800b481aa74a797c9ad55
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Focaltech touch controller does not go to sleep in suspend because
the pinctrl operation inadvertently resets the touch controller.
Remove the pinctrl operation in suspend and resume callback to
prevent this spurious reset.
This patch is propagated from msm-3.18 kernel.
'commit 7e2ea02b16de ("input: ft5x06_ts: fix the Focaltech CTP
current leakage issue")'
CRs-Fixed: 1046961
Change-Id: Ifa02c0287195d7ce55fb2d8ac49ec1c8ae5baec9
Signed-off-by: Mao Li <maol@codeaurora.org>
Migrate the Focaltech driver to use pinctrl framework for GPIO
configuration so that driver is compatible with targets that
use and targets that don't use pinctrl framework.
This patch is propagated from 3.18 kernel
'commit 266d1fe0f630 ("input: ft5x06_ts: add support for
pinctrl framework")'
Change-Id: I84fc2a6d30f831b4b054780b107ce105614855ea
Signed-off-by: Mao Li <maol@codeaurora.org>
Upgrade the firmware only if same vendor id is found both in existing
fw and new fw to be upgraded.
This patch is propagated from 3.18 kernel
'commit dba19fc86781 ("input: ft5x06_ts: check vendor id before
upgrade FT firmware")'
Change-Id: Idfc50da45891a1475ac6b35d80c7d725607cbf81
Signed-off-by: Mao Li <maol@codeaurora.org>
upgarde firmware on the touch controller when the new firmware
version is geater than the current firmware version. Update the
firmware version id after successful firmware update. skip
firmware update when device is in suspend state.
This patch is propagated from msm-3.18 kernel
'commit 8399308e570e ("input: touchscreen: change the focaltech
firmware upgrade method")'
CRs-Fixed: 1046961
Change-Id: Ic462f6483887a3654665852e58ae9891de9f5eff
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
The firmware image format is changed in CTP FT6436. Also vendor
id and version id are read from fw image from a different offset
as compared to previous controllers. The driver is updated to
support the new image format.
This patch is propagated from msm-3.18 kernel
'commit 6146c68f81b4 ("input: ft5x06_ts: add support for firmware
update for CTP FT6X36")'
Change-Id: I465fdfa73e56e8fc4bbfdde980c558e4715d6d08
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
This patch removes the usage of deprecated apis like
usleep(), __devexit_p, etc.
This is a propagated patch from 3.18 kernel
'commit 20482b216b8a ("input: ft5x06_ts: remove
deprecated apis in 3.18 kernel")'
Change-Id: I77cedabdb234a643f96427f051038faad31bfdcf
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
When CONFIG_PM is not defined, there are some compilation errors,
because it introduces undeclared touch suspend and resume function.
This patch is propagated from 3.18 kernel
'commit a144428c6e02 ("input: ft5x06: add support when CONFIG_PM
is not defined")'
Change-Id: I869bd41270ea240c671e5478126a61d4ff2088dc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Threaded IRQs without primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail. This patch adds the
IRQF_ONESHOT to the focaltech touchscreen driver where it is
missing.
This patch is propagated from 3.18 kernel
'commit 4e8b58e99bf7 ("input: touchscreen: request threaded-only
IRQs with IRQF_ONESHOT")'
Change-Id: I429f48126bd5d28c6dbf6ba846175d5e643dd436
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Force firmware update cannot work when touchscreen controller
cannot report correct family ID. If touchscreen is does not work
in correct state and it reports wrong family ID, it cannot be
recovered by force update, this change use family ID from device
tree instead of read from controller register to fix this issue.
This patch is propagated from 3.18 kernel
'commit a85789530620 ("input: touchscreen: ft5x06: fix firmware
force update issue")'
Change-Id: I85d24bfc68a7777053c15f28a84027260c68cebd
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
FT5336 use new firmware bootloader, current driver cannot update
its firmware. Driver needs update to support this new firmware
bootloader.
This patch is propagated from 3.18 kernel
'commit 740d7b108461 ("input: touchscreen: ft5x06: add FT5336
firmware update support")'
CRs-Fixed: 1046961
Change-Id: I5c210097a6b3daedce52c4dda806c698cda63968
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Use the external display as a wrapper for operations making
it necessary for clients to only need a pointer to the external
display platform device. The external display will implement the
book keeping required to map operations to the correct display
interface.
CRs-Fixed: 1009284
Change-Id: I1f817e0c720dda0a9b1778f6aad653218ff9be60
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Fix the OFF path for display-port driver when cable is
disconnected. Check for link clock status before accessing
any of the mainlink registers. Use common mutex for
DP_ON and DP_OFF sequence. Remove the resource vote
when PLL is diabled.
Change-Id: I9b81f79043b4ea7355b99ba9d8347d79bed10153
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Add support for multi-part hdcp2p2 messages which will be used
by the Display Port (DP) driver to communicate with the sink. For
each message sent/received, the HDCP library will add information
related to how message is broken down into parts. This
information is used by the DP driver during the authentication
process.
Change-Id: I22cc2f3fee518fa3d29af11fa277dad4da4db728
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
IPA v3.5 and v3.5.1 introduces changes to several IPA registers.
Some registers have new fields, some fields are shifted and
others are removed.
This change updates IPAHAL to support these changes.
CRs-fixed: 1055677
Change-Id: I2046318ba40beca75bdc2f40554fc9a458da5581
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Add IPA MHI test suite to IPA driver. Different
tests are being added to cover different IPA
MHI functionalities.
Change-Id: If97793a3af6c2d460468432c7bee93583cc34a55
CRs-Fixed: 1040200
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Fixing IPA unclocked access when reading IPA_SHARED_MEM_SIZE
register. The read is part of a debug logic to print the
content of different registers.
CRs-fixed: 1052110
Change-Id: I2f04d861d98af2cf4009a1f746d91e9e9923ce42
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Enable smcinvoke driver so that TZ apps and client can communicate
using new MINK architecture.
Change-Id: I4e869d276ce4e8ecfe35a9ffe6892a6b586fe372
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
SMCInvoke driver is a misc driver to support communication between
secure and non-secure world, based on new capability based model.
Earlier, QSEECom driver had several problems such as exposing many
interfaces to accomplish various tasks on secure world side. Ideally,
driver should work as transparent as possible and provide just
tunnel to communicate between secure and non secure world. SMCInvoke
driver aims to achieve that.
Change-Id: I439f8ad817ba66210c934115979c276577194c11
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
Add qfprom and hdcp register addresses to display port
device so that it can run the hdcp 1.x protocol.
Change-Id: Ib28eb08cc3c8a45a0e87ae1c4f84c904e66652f6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
This change is to enable native DSD playback and enable native playback
of clips with sampling rate multiple of 44.1KHz.
Add slimbus_2_rx backend dai-link for native DSD (Direct Stream Digital)
audio and 44.1KHz multiples playback.
CRs-Fixed: 1056422
Change-Id: Ib038cf81f29e00c08def789f8f186ca4615d45fc
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>