Initialize the clock scaling frequency table with the platform specific
frequencies while preparing it. So that the frequencies supported by
the card can be compared against the frequencies supported by the
platform and then the table can be updated with the optimal frequencies
to match with both card and platform.
Without resetting these values to default values, this table contains
the frequencies updated for the last used card. These old values would
be used instead of platform-specific values to compare against the
frequencies of the newly inserted card. This can result in limiting
the max frequency to a lower frequency than what actually card can support.
Say if an high-speed card is used first and then a ultra-high-speed card,
the max scaling frequency would get set to the max of high-speed card
instead of max of the ultra-high-speed card.
Change-Id: I09a36e36c189e1d1fc317d798a0e3ff899f4e560
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Use a separate table to store the platform specific clock-scaling
frequencies.
The generic table where these frequencies used to be stored, would
get updated (in some cases) during clock scaling initialization.
But when a new card is inserted (In the case of a removable card),
the frequencies supported by the card should be compared against the
platform specific frequencies.
By storing these values in a separate table, these values would
remain intact and this table can be used for initializing the
generic table during clock-scaling initialization.
Change-Id: I5729f18a975f849bc2965a946473a9cdbd81e94a
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
When calling smmu mapping, if iova is specified directly by user, not
allocated dynamically in dma-mapping.c, smmu driver needs to provide
support for this. This is needed in early display case. In this scenario,
LK has set physical memory to display hardware for fetching, so if iova
is not explicitly specified in kernel, but instead dynamically produced
by "alloc_iova" in dma-mapping.c, display hardware has no chance to know
this new iova, then smmu fault will happen if enabling the iommu stage-1
translation.
To fix this smmu fault problem, add re-routing to the right path when
iova specified by user is not 0 in smmu map/unmap function.
Change-Id: I062b04d7eec65af1c106a5caa09ec787b5d26d0d
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
USB connector HW based thermal regulation is active which will throttle
the input current on USBIN-USBIN configurations. This was enabled for
MID-MID configurations to enable the comparator output for USB connector
temperature mitigation, but since the input is bypassed it does not
throttle the input current. The comparator output is no longer used
since the ADC values are used directly, so neither configuration needs
this HW feature to be enabled.
Remove the write to enable this HW feature.
Change-Id: Ia7f6b3812ae222fbd8233d07dd6daa67e65ce08b
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
As per USB PD 3.0 specification the 2-bit Specification Revision field
of a GoodCRC Message does not carry any meaning and Shall be considered
as don't care by the recipient of the Message. Hence set spec revision
to USBPD_REV_20 for GoodCRC message. PD protocol message header defaults
to USBPD_REV_20 which gets updated USBPD_REV_30 if PD 3.0 source capabale
of programmable power supply.
Change-Id: I5209bb00c437f3c959d093a972f1ac75233cbcf9
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Sigdet under low power (LP) mode will use a less accurate local reference
generation, which is expected to have a little more variation than a
precise reference (normal mode). Update PCIe PHY sigdet to use normal
mode instead of LP to increase accuracy and make sigdet more robust.
Change-Id: If9cad9ac9b5a6a736e3af653ac3b3b5e30cfefb4
Signed-off-by: Tony Truong <truong@codeaurora.org>
Update device tree nodes to support audio on guest virtual machine.
Change-Id: Id2e12b466cff43d8ddcb5c01ecd7bb1a7f0ba04c
CRs-fixed: 2047317
Signed-off-by: King Tam <kingt@codeaurora.org>
Allow re-configuring the DSI, DP and HDMI RCGs even if their
current configuration matches that of the requested frequency.
This is to work around the MM RCGs being latched to run off of
XO by default after an MM GDSC power collapse.
Change-Id: Idf5f1f25df6d6a8ef29eb8c15086deba1017584e
Signed-off-by: Deepak Katragadda <dkatraga@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>
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>