The highmem code provides kmap_flush_unused to ensure all kmap
mappings are really removed if they are unused. This code does not
handle kmap_atomic mappings since they are managed separately.
This prevents an issue for any code which relies on having absolutely
no mappings for a particular page. Rather than pay the penalty of
having CONFIG_DEBUG_HIGHMEM on all the time, add functionality
to remove the kmap_atomic mappings in a similar way to kmap_flush_unused.
Change-Id: I9d73abad693c18f2daa1647353e7592b255475b0
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
The DMA_ATTR_NO_KERNEL_MAPPING is used to make sure that CMA
pages have no kernel mapping. Add support to make sure that
highmem pages have no mapping.
Change-Id: Ife76df126ecfedf0dba81a35e0de8a1787355b3d
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Currently, capacity learning begins based on SOC threshold and
battery temperature. Since the SOC threshold to begin cannot be
qualified in certain low battery conditions, add another minimum
SOC threshold for a better qualification.
CRs-Fixed: 2225348
Change-Id: If916c0a04cec785dc25f3c70d0ea1643d598f479
Signed-off-by: Vamshi Krishna B V <vbv@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
When placement boost is active, the CPUs in the highest capacity
sched group are only considered for task placement. The
find_best_target()->skip_sg() skips lower capacity sched groups.
This is a problem for the tasks whose affinity allows them to run
only on lower capacity sched group.
Change-Id: I935ff3dc3daa98c636885312216a68323aac3ce1
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: trivial changes to fix compilations issues]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
When SCHED_CORE_ROTATE config is enabled, the CPUs that are
eligible for isolation are kept rotated for every system
suspend and resume cycle. cluster->set_cur holds this eligible
mask. It is also reconfigured when min_cpus tunable is changed.
The CPUs that are part of this eligible mask are only isolated
in try_to_isolate(). A CPU that is part of this mask but is busy
at that time left isolated. Since the new need is same as the
last need, eval_need() does not kick core_ctl thread next time
when the CPU becomes idle. To fix this issue, kick the core_ctl
thread when there more active CPUs than currently needed. The kicks
are rate limited by an existing tunable called offline_delay_ms.
Change-Id: I9d3815c6c6bede4b93a708ae6edb15f94d296399
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
If a smp2p change occurs while a virtual interrupt is disabled, smp2p
should be able to resend that interrupt on enablement.
This functionality requires the CONFIG_HARDIRQS_SW_RESEND to be enabled
to reschedule the interrupts. To ensure the mask and unmask functions
are called during enabled and disable, set the flag to disable lazy
IRQ state handling (IRQ_DISABLE_UNLAZY).
Change-Id: I75c662c61a9705c05278d238ca51f7a2e74806d8
Signed-off-by: Chris Lew <clew@codeaurora.org>
* quic/dev/msm-4.14-display:
msm: sde: fix linear 32bit type formats for rotator
drm/msm/sde: reset clt path after timing engine disabled
drm/msm/sde: turn on mdp clock before rsc mode_2 exit
drm/msm/sde: turn on clock before esd failure mitigation
drivers/misc/hdcp: add error handling for failed app initialization
ARM: dts: qcom: remove inline rotator configs from SDE for SM8150
drm/msm: update flag for seamless dynamic framerates
drm: edid: add support for parsing additional EDID blocks
drm: edid: HDMI 2.0 HF-VSDB block parsing
ARM: dts: msm: enable display rsc for sm8150
drm/msm: vote for mdss core in disp rsc during probe
drm/msm/sde: update qsync for intf te
drm/msm/sde: add support for qsync cmd mode
drm/msm: Fix the format prints in display driver
drm/msm/dp: validate power/aux submodule pointers in unbind path
Change-Id: Ibf515e5f799dd2a52c86f4bf39990e44a790ac79
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
While mtp_read is being executed and mtp_function_disable
is called then all the eps will be disabled which will
lead to NULL pointer dereference in usb_ep_align_maybe
function which will subsequently try to access endpoint
descriptors.
Add spinlock protection in mtp_function_disable to
avoid race between mtp_read and mtp_function_disable.
Change-Id: If7f00ff2a98f75d2782e6bb35ad5fe59e4db6734
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change reorders linear 32bit format color component order.
Change-Id: I97159322b104cb62f7165d0acaf786c9a64a4247
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
For MDP rev 5.0, CTL path reset is required after timing engine
is disabled for video mode interface. The reset includes 3d_merge,
active_intf, layer mixer and ctl path after timing engine is
disabled. This reset call does not need to wait for vsync because
timing engine is already disabled. It may lead to continuous underrun
if reset sequence is not followed and same ctl path is used for
different resolution display.
Change-Id: I06492a0c12e860616aa09e462e34717592f2f9e3
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>