Add support to report INPUT_SUSPEND state in case of slave charger
configuration. This is used by user-space to determine parallel
charger state.
Change-Id: I97a7c18180c0aceddd2b90177949f87487aad22b
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Add support to early mount vendor partition so that venodr modules
can be loaded during early init.
Change-Id: I668a7c3b1716816d497b7f170b554dfe8960701c
Signed-off-by: Imran Khan <kimran@codeaurora.org>
Skip VMA_LOCKED vmas from being reclaimed. Not doing so results
in pages in unevictable lrus to be passed for reclaim which can
cause issues. In one such reported problem, the trylock_page in
shrink_page_list fails and reclaim path decides to keep the page
and hits VM_BUG_ON_PAGE since PageUnevictable is set.
Change-Id: I58947faeb5226cf8578541d7fdcd474a24f8c40f
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
For video mode panels, when secure display has ended and non-secure
layers are being committed, check if secure display is still enabled.
Ideally there should be a NULL commit before non-secure content starts,
to clean up the secure display. If this isn't the case, add code to
detect, validate, and return failure.
Change-Id: I574547307073e38a19a42ff21679b17e1ec29b3b
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
trigger_ssr_write directly accesses user buffer, which can lead
to crash. Copy user buffer to kernel memory before access.
Also, set initial value for ssr_trigger_val, and use kstrtoul
instead of sscanf, with proper checking of return code.
Change-Id: I94b1c14a8ae4628cb6ac0ee7f3bd38b0c79f088b
Signed-off-by: Surajit Podder <spodder@codeaurora.org>
With ESR discharge timer retry, max having same value, ESR pulse
can fire frequently when battery FET is open past charge
termination. This frequent ESR pulses increase power consumption
when the device is idle.
Upon charge termination, change the ESR discharging timer retry
to 0 so that ESR pulse can fire less frequently saving power.
Add support for this through fg_esr_timer_config() based on end
of charge and sleep conditions.
Currently, retry/max for ESR charging and discharging timers are
configured with the same value specified through device tree.
Extend the device tree property to take in different retry/max
values for those timers.
Change-Id: Ib30b8ae7d893b5cab00ed83dd7318b53e3b63ac1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
The cycle counter read is a bit of an expensive operation and requires
locking across all CPUs in a cluster. Optimize this by returning the
same value if the delta between two reads is zero (so if two reads are
done in the same sched context) or if the last read was within a
specific time period prior to the current read.
Change-Id: I99da5a704d3652f53c8564ba7532783d3288f227
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
We observe that while PR_SWAP is done from PD stack, the typeC
block could be running its tCC debounce timer. This causes the
driver to prematurely declare that the cable is removed.
Fix this by reducing the tCC debounce time to 20mS while in
PR_SWAP.
Change-Id: Ie8b3628cd6931ff2da92d95c153d0d2c7ddb20b2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
These are all driver changes needed for disablement of
CONFIG_CC_OPTIMIZE_FOR_SIZE. CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
is enabled by default once CONFIG_CC_OPTIMIZE_FOR_SIZE is disabled.
Change-Id: Ia46a1f24e8a082a29ea6151e41e6d3a85a05fd4f
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Sridhar Parasuram <sridhar@codeaurora.org>
At a higher level, all objects are created with definite size i.e. 0 is
illegal. In forthcoming patches, this assumption is dependent upon in
the drm_mm range manager, i.e. trying to create a drm_mm node with size
0 will have undefined behaviour. Add a couple of WARNs upon creating the
drm_mm node to prevent later bugs.
Change-Id: Ieb81a8ef5a05a32dd37dfc040ea3f78243b59161
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470248788-30873-1-git-send-email-chris@chris-wilson.co.uk
Git-commit: aafdcfd3f9aa3c9f77ae4e9385f21bf9ae120d3e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
As we always add this to the drm_mm->hole_stack as our first operation,
we do not need to initialise the list node.
Change-Id: If2e9e06141bdb9a9411ef875cb83e41a48e5f1a9
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470236651-678-3-git-send-email-chris@chris-wilson.co.uk
Git-commit: a787900564ffc6eebbcb7086b45e04a0bc3370f0
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
In addition to the last-in/first-out stack for accessing drm_mm nodes,
we occasionally and in the future often want to find a drm_mm_node by an
address. To do so efficiently we need to track the nodes in an interval
tree - lookups for a particular address will then be O(lg(N)), where N
is the number of nodes in the range manager as opposed to O(N).
Insertion however gains an extra O(lg(N)) step for all nodes
irrespective of whether the interval tree is in use. For future i915
patches, eliminating the linear walk is a significant improvement.
v2: Use generic interval-tree template for u64 and faster insertion.
Change-Id: Iddcb7891480ca7d6e0469c8d394fcd1962ed4583
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470236651-678-1-git-send-email-chris@chris-wilson.co.uk
Git-commit: 202b52b7fbf70858609ec20829c7d69a13ffa351
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>