In resume_scaling, the host current clock is compared with max clock
of the card to adjust the current-scaling clock.
If max clock supported by the card is more than the max clock that the
host can support, then the above-mentioned comparison is resulting in
setting the current-scaling clock to scale-down clock frequency even
though current host clock is at the maximum clock. This will lead to
skipping of scaling down to lower clock in low load use-cases. So clock
would remain at max clock till next time clock is scaled up and then
scaled down.
To prevent this scenario, compare the host current clock with max clock
that host can be scaled-up instead of max clock of the card.
Change-Id: Ibbed4bb374f1cbb5aee21cfca4e7e97d8f999d51
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
USB 3.1 super speed compliance equipment may be detected as floating
charger by PMI as it may leave D+/D- lines floating (High speed data
lines). PD Policy engine does not start USB stack which results into
compliance failure as compliance expects USB stack to be started. Add
module parameter usb_compliance_mode to start USB stack on cable
connect (w/o depending on charger type).
Change-Id: Ieb33057a85b4bcff9c1e7c32c256663dd23f17ef
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Add CEC notifier support which allows HDMI driver to
inform CEC driver with the new physical address. With
this information the CEC adapter driver does not need
to manually set the physical address from userspace.
CRs-Fixed: 2041335
Change-Id: I5b5707ad40ee381b5cd67f1e89f0d2397a9a7bb2
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Support the CEC notifier framework, simplifying drivers that
depend on this.
Change-Id: I911181db4dc082befa625ce0acc3993ff6f3a1a3
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: e3a93adcc4f6c3b538f3d617fc48a87979d4548b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Add support for CEC notifiers, which is used to convey CEC physical address
information from video drivers to their CEC counterpart driver(s).
Based on an earlier version from Russell King:
https://patchwork.kernel.org/patch/9277043/
The cec_notifier is a reference counted object containing the CEC physical address
state of a video device.
When a new notifier is registered the current state will be reported to
that notifier at registration time.
Change-Id: I00697db780b127a52512a6e55cabac745d8ebfa3
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: 6917a7b774133d60e0cfd8f9ac8bb62ae6ba10aa
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
[rayz@codeaurora.org: resolve merge conflicts by discarding the MAINTAINERS
change.]
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Enable CEC adapter driver in mediabox config. This is required
to support HDMI CEC functionality.
CRs-Fixed: 2041335
Change-Id: I006ccd85a6467841c32343372d83771482d0efcd
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Align partial update roi start and height to 256 pixels
for nt35597 panel.
Change-Id: I56e78d1adab769c4d226d88cfb5badcfe7eb6dc2
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
In the current implementation, 5Ghz channel frequencies and txpower of
world regulatory rules are not in par with the Micahel Green's
master sheet.
To address this, modify the frequency ranges and associate tx powers.
CRs-Fixed: 2052854
Change-Id: I119ceda704bea4681d373e72ccedddd3619e6e2f
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
With the current SIGDET value of 0x6E there
seems to be NOP timeouts seen frequently.
Hence, change the SIGDET value to 0x6C as per
updated Hardware Programming Guide.
Change-Id: I46426382033603c4727de6b0a485015eed690f34
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Regulator HW has the programmable voltage upper and lower limit
registers and doesn't allow voltage set points outside the pre-
configured voltage limits. Add a check in driver that throws an
error if the SW specified voltage range is not within the pre-
configured limits in HW.
CRs-Fixed: 2044789
Change-Id: I3593ebf8e88824a0cfcb068686673a00051a11f0
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add support for PMIC FTSMPS 426 type regulators. These have a
4 mV step size and a voltage control scheme consisting of two
8-bit registers defining a 16-bit voltage set point in units of
millivolts.
Also address the mode register configuration differences between
FTSMPS 426 type regulators and other regulators supported in
spm-regulator driver file.
CRs-Fixed: 2037603
Change-Id: Ide54c8c9dd8113ab4588979ec97915403b3ecab1
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Different COPPs can be mixed into one POPP when recording
data. Use ADM_CMD_SET_PSPD_MTMX_STRTR_PARAMS_V5 cmd to support
this requirement.
Change-Id: If079b586fafe84f7dec7732c7037af2f59f063c7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
When fd is requested during get_metadata call, create fd
using O_CLOEXEC flag.
CRs-Fixed:2030638
Change-Id: I1c874f713a3ebada63ba2c85f021aa78b04af44b
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
Specify a 2 A PWM vs AUTO mode load current threshold for the
PMI8998 BoB regulator. Also specify the initial mode as AUTO.
Consumer that require the BoB to be in PWM mode should request
2000000 uA or more.
CRs-Fixed: 2054771
Change-Id: Icb6ff634359c8ae12c36dcda127bffa247c6eb71
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add support to request PWM or AUTO mode for BoB and SMPS type
regulators based upon the aggregated consumer load current. This can
be used in cases where a consumer needs to force PWM mode operation.
CRs-Fixed: 2054771
Change-Id: Iaf4353fb60468c91f958a968d844b3c1c012e54c
Signed-off-by: David Collins <collinsd@codeaurora.org>
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Neutrino reset GPIO need to be be disabled at bootup.
It will be enabled by driver in its probe.
CRs-Fixed: 1072096
Change-Id: Ie4a0428523b0764e0234f0ae51a90c250166cca9
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
In case of unmap call, regulator is enabled/disabled. This may introduce
additional delay. For clients who do not detach, it's not possible to keep
regulator vote while smmu is attached.
Add support for regulator deferred disable. The time delay for deferred
disable can be set using dt property qcom,deferred-regulator-disable-delay
in ms.
Change-Id: I462e1999bd81f6332169b24749632d7b247c75c5
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Use per CPU NOCB threads to process RCU callbacks, rather than processing
the callbacks in softirq context. Processing large number of callbacks
in softirq context may result in delayed execution of other softirqs, so
remove processing of callbacks from softirq context.
Change-Id: I90d070ad824d2df0f3e1ee29da1b48ae2887b64b
Signed-off-by: Wei Li <weili@codeaurora.org>
The driver waits 20mS after setting ICL to a step lower
than settled value before increasing it back to the effective
value. That 20mS delay is not required and causes PR_SWAP compliance
tests to fail. Remove it.
Change-Id: I8bd43a885c554df3590499ddf2a219e816e28734
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
wil6210 devices can have different PCIe bar size, hence get the
bar size from PCIe device instead of using a constant bar size.
Change-Id: I02fe3f05e184b141c9a5519dd97c3f2d2eb99baf
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: d86d47164b227f01c3ec34c3f5a1613977d563eb
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Added vendor commands for low level control over
RF sectors. It allows user space a fine-grained control
over RF characteristics for TX and RX, such as direction
and gain of TX/RX. Main usages are debugging and diagnostics,
but also operational use cases.
API includes getting/setting a specific RF sector
configuration, as well as getting/setting the selected
sector which is used to communicate with a station.
Change-Id: I2b1f2bab4f0fdc3d0177b19b7072c19f9ffa78bd
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 0216a895946fa683ea51b842501e66106c0f1017
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
[merez@codeaurora.org: fixed merge conflicts]
Signed-off-by: Maya Erez <merez@codeaurora.org>
msleep is not accurate for small delays. Use usleep_range
for accuracy.
CRs-Fixed: 1117121
Change-Id: I9a076f843875bd83a21c96d4e4ea0510e82ce352
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Add CEC device which provides HDMI CEC support for msm8998.
CEC is a protocol that provides high-level control functions
for the communication between various audiovisual devices.
CRs-Fixed: 2041335
Change-Id: If65798efa28e4b1eaeff5b6fa9b6f92318e7c91f
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
This CEC adapter driver using CEC framework provides CEC
support for SDE hardware. CEC is a protocol that provides
high-level control functions between various audiovisual
products. This adapter is the hardware implementation of
CEC protocol, and its major functionality is to send and
to receive CEC messages.
CRs-Fixed: 2041335
Change-Id: I73bc9c63b78d61f5449a37cadcfeda976d5456b0
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
The bottom up search of drm_mm hole nodes is
currently broken. It does not correctly look
for the first hole (smallest address) that fits
the allocation from the bottom up. Use an RB tree
to record hole nodes with their address as key,
so that the hole with the smallest address that
satisfies the request can be looked up.
Change-Id: Ie3020cb4e8b6db13a35d0fe5caaa8781cb6ced9f
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
SVM buffer objects share the same virtual address on
both the CPU and GPU. Register for notifications when
SVM address ranges are unmapped on the CPU. When such
a notification is received, unmap the corresponding
SVM objects from the SMMU, after waiting on the most
recent fence that uses them. The notifier struct is
reference counted starting with the creation of the
first SVM bo in the process and is released when the
last SVM bo is freed.
Change-Id: I01f590d21fd1d146f5324539e5041f03653f858a
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
The reference count on a buffer object was being
decremented before it was initialized. Fix the
error path clean-up to put the reference only
after the kref has been initialized. Also, avoid
passing the object by reference when possible.
Change-Id: Ifbb1874deb5db9ae3fb2fbd40a58162998284e96
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>