- 11 8月, 2018 2 次提交
-
-
由 David Collins 提交于
Introduce bindings for RPMh regulator devices found on some Qualcomm Technlogies, Inc. SoCs. These devices allow a given processor within the SoC to make PMIC regulator requests which are aggregated within the RPMh hardware block along with requests from other processors in the SoC to determine the final PMIC regulator hardware state. Signed-off-by: NDavid Collins <collinsd@codeaurora.org> Reviewed-by: NRob Herring <robh@kernel.org> Reviewed-by: NDouglas Anderson <dianders@chromium.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Mark Brown 提交于
Merge tag 'qcom-drivers-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into regulator-4.19 for RPMH Qualcomm ARM Based Driver Updates for v4.19 * Add Qualcomm LLCC driver * Add Qualcomm RPMH controller * Fix memleak in Qualcomm RMTFS * Add dummy qcom_scm_assign_mem() * Fix check for global partition in SMEM
-
- 08 8月, 2018 2 次提交
-
-
由 Krzysztof Kozlowski 提交于
Replace GPL v2.0+ license statements with SPDX license identifiers. Signed-off-by: NKrzysztof Kozlowski <krzk@kernel.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Krzysztof Kozlowski 提交于
Replace GPL v2.0 and v2.0+ license statements with SPDX license identifiers. Signed-off-by: NKrzysztof Kozlowski <krzk@kernel.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 7月, 2018 2 次提交
-
-
由 Matti Vaittinen 提交于
MFD part for bd71837 was changed during the review. Clean regulator part to match changed MFD: - renamed header file => fix include - remove unused platdata as also type definition was removed - Kconfig option for MFD part was changed => fix depends on clause - Rename Kconfig option for regulators As Kconfig option for regulators gets now used (when dependency to MFD is satisfied) change it so that it won't require new change when support for bd71847 is added. Signed-off-by: NMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Anton Vasilyev 提交于
There is no check that tps->strobes is allocated successfully in tps65217_regulator_probe(). The patch adds corresponding check. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAnton Vasilyev <vasilyev@ispras.ru> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 24 7月, 2018 5 次提交
-
-
由 Peter Geis 提交于
Added support for the CPCAP power management regulator functions on Tegra based Motorola Xoom devices. Added sw2_sw4 value tables, which provide power to the Tegra core and aux devices. Added the Xoom init tables and device tree compatibility match. Signed-off-by: NPeter Geis <pgwipeout@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Peter Geis 提交于
SW2 and SW4 use a shared table to provide voltage to the cpu core and devices on Tegra hardware. Added this table to the cpcap regulator driver as the first step to supporting this device on Tegra. Signed-off-by: NPeter Geis <pgwipeout@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Wei Yongjun 提交于
Fixes the following sparse warning: drivers/regulator/bd9571mwv-regulator.c:220:1: warning: symbol 'dev_attr_backup_mode' was not declared. Should it be static? Signed-off-by: NWei Yongjun <weiyongjun1@huawei.com> Reviewed-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Marco Felsch 提交于
Add enable/disable support for switch regulators on pfuze100. Based on commit 5fe156f1 ("regulator: pfuze100: add enable/disable for switch") which is reverted due to boot regressions by commit 464a5686 ("regulator: Revert "regulator: pfuze100: add enable/disable for switch""). Disabling the switch regulators will only be done if the user specifies "fsl,pfuze-support-disable-sw" in its device tree to keep backward compatibility with current dtb's [1]. [1] https://patchwork.kernel.org/patch/10490381/Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Marco Felsch 提交于
This binding is used to keep the backward compatibility with the current dtb's [1]. The binding informs the driver that the unused switch regulators can be disabled. If it is not specified, the driver doesn't disable the switch regulators. [1] https://patchwork.kernel.org/patch/10490381/Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 22 7月, 2018 19 次提交
-
-
由 Johan Hovold 提交于
Make sure to set the mem device release callback before calling put_device() in a couple of probe error paths so that the containing object also gets freed. Fixes: d1de6d6c ("soc: qcom: Remote filesystem memory driver") Cc: stable <stable@vger.kernel.org> # 4.15 Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NJohan Hovold <johan@kernel.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Niklas Cassel 提交于
Add missing MODULE_LICENSE(). According to the SPDX-License-Identifier, the license is GPL v2. Fixes the following warning: WARNING: modpost: missing MODULE_LICENSE() in drivers/soc/qcom/llcc-slice.o Fixes: a3134fb0 ("drivers: soc: Add LLCC driver") Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Raju P.L.S.S.S.N 提交于
The patch fixes the bug reported by Dan Carpenter. It removes the unnecessary err check for ‘tcs’ reported by static checker warning: drivers/soc/qcom/rpmh-rsc.c:111 tcs_invalidate() warn: 'tcs' isn't an ERR_PTR See also: drivers/soc/qcom/rpmh-rsc.c:178 get_tcs_for_msg() warn: 'tcs' isn't an ERR_PTR drivers/soc/qcom/rpmh-rsc.c:180 get_tcs_for_msg() warn: 'tcs' isn't an ERR_PTR https://www.spinics.net/lists/linux-soc/msg04624.html Fixes: 9a3afcfb ("drivers: qcom: rpmh-rsc: allow invalidation of sleep/wake TCS") Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Raju P.L.S.S.S.N 提交于
get_req_from_tcs introduced in patch[1] returns tcs_request from tcs_group. The size of tcs (of type - tcs_group) array in rsc_drv is TCS_TYPE_NR. So the loop index needs to be iterated up to TCS_TYPE_NR only. [1] https://patchwork.kernel.org/patch/10477547/Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Niklas Cassel 提交于
Add a dummy qcom_scm_assign_mem() to enable building drivers when CONFIG_COMPILE_TEST=y && CONFIG_QCOM_SCM=n. All other qcom_scm_* functions already have a dummy version. Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Douglas Anderson 提交于
Children of RPMh will need access to cmd_db. Rather than having each child have code to check if cmd_db is ready let's add the check to RPMh. With this we'll be able to remove this boilerplate code from clk-rpmh.c and qcom-rpmh-regulator.c. Neither of these files has landed upstream yet but patches are pretty far along. === This code is based upon v11 of Lina and Raju's RPMh series. Suggested-by: NStephen Boyd <sboyd@kernel.org> Signed-off-by: NDouglas Anderson <dianders@chromium.org> Acked-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Some RSCs may only have sleep and wake TCS, i.e, there is no dedicated TCS for active mode request, but drivers may still want to make active requests from these RSCs. In such cases re-purpose the wake TCS to send active state requests. The requirement for this is that the driver is aware that the wake TCS is being repurposed to send active request, hence the sleep and wake TCSes be invalidated before the active request is sent. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Platform drivers need make a lot of resource state requests at the same time, say, at the start or end of an usecase. It can be quite inefficient to send each request separately. Instead they can give the RPMH library a batch of requests to be sent and wait on the whole transaction to be complete. rpmh_write_batch() is a blocking call that can be used to send multiple RPMH command sets. Each RPMH command set is set asynchronously and the API blocks until all the command sets are complete and receive their tx_done callbacks. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Platform drivers that want to send a request but do not want to block until the RPMH request completes have now a new API - rpmh_write_async(). The API allocates memory and send the requests and returns the control back to the platform driver. The tx_done callback from the controller is handled in the context of the controller's thread and frees the allocated memory. This API allows RPMH requests from atomic contexts as well. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Active state requests are sent immediately to the RSC controller, while sleep and wake state requests are cached in this driver to avoid taxing the RSC controller repeatedly. The cached values will be sent to the controller when the rpmh_flush() is called. Generally, flushing is a system PM activity and may be called from the system PM drivers when the system is entering suspend or deeper sleep modes during cpuidle. Also allow invalidating the cached requests, so they may be re-populated again. Signed-off-by: NLina Iyer <ilina@codeaurora.org> [rplsssn: remove unneeded semicolon, address line over 80chars error] Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Allow sleep and wake commands to be cleared from the respective TCSes, so that they can be re-populated. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Sleep and wake requests are sent when the application processor subsystem of the SoC is entering deep sleep states like in suspend. These requests help lower the system power requirements when the resources are not in use. Sleep and wake requests are written to the TCS slots but are not triggered at the time of writing. The TCS are triggered by the firmware after the last of the CPUs has executed its WFI. Since these requests may come in different batches of requests, it is the job of this controller driver to find and arrange the requests into the available TCSes. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Sending RPMH requests and waiting for response from the controller through a callback is common functionality across all platform drivers. To simplify drivers, add a library functions to create RPMH client and send resource state requests. rpmh_write() is a synchronous blocking call that can be used to send active state requests. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Log sent RPMH requests and interrupt responses in FTRACE. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Reviewed-by: NSteven Rostedt (VMware) <rostedt@goodmis.org> [rplsssn@codeaurora.org: rebase to v4.18-rc1 & fix merge conflict] Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Add device binding documentation for Qualcomm Technology Inc's RPMH RSC driver. The driver is used for communicating resource state requests for shared resources. Cc: devicetree@vger.kernel.org Signed-off-by: NLina Iyer <ilina@codeaurora.org> Reviewed-by: NRob Herring <robh@kernel.org> [rplsssn@codeaurora.org: minor order correction for TCS type] Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Add controller driver for QCOM SoCs that have hardware based shared resource management. The hardware IP known as RSC (Resource State Coordinator) houses multiple Direct Resource Voter (DRV) for different execution levels. A DRV is a unique voter on the state of a shared resource. A Trigger Control Set (TCS) is a bunch of slots that can house multiple resource state requests, that when triggered will issue those requests through an internal bus to the Resource Power Manager Hardened (RPMH) blocks. These hardware blocks are capable of adjusting clocks, voltages, etc. The resource state request from a DRV are aggregated along with state requests from other processors in the SoC and the aggregate value is applied on the resource. Some important aspects of the RPMH communication - - Requests are <addr, value> with some header information - Multiple requests (upto 16) may be sent through a TCS, at a time - Requests in a TCS are sent in sequence - Requests may be fire-n-forget or completion (response expected) - Multiple TCS from the same DRV may be triggered simultaneously - Cannot send a request if another request for the same addr is in progress from the same DRV - When all the requests from a TCS are complete, an IRQ is raised - The IRQ handler needs to clear the TCS before it is available for reuse - TCS configuration is specific to a DRV - Platform drivers may use DRV from different RSCs to make requests Resource state requests made when CPUs are active are called 'active' state requests. Requests made when all the CPUs are powered down (idle state) are called 'sleep' state requests. They are matched by a corresponding 'wake' state requests which puts the resources back in to previously requested active state before resuming any CPU. TCSes are dedicated for each type of requests. Active mode TCSes (AMC) are used to send requests immediately to the resource, while control TCS are used to provide specific information to the controller. Sleep and Wake TCS send sleep and wake requests, after and before the system halt respectively. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Rishabh Bhatnagar 提交于
LLCC (Last Level Cache Controller) provides additional cache memory in the system. LLCC is partitioned into multiple slices and each slice gets its own priority, size, ID and other config parameters. LLCC driver programs these parameters for each slice. Clients that are assigned to use LLCC need to get information such size & ID of the slice they get and activate or deactivate the slice as needed. LLCC driver provides API for the clients to perform these operations. Signed-off-by: NChannagoud Kadabi <ckadabi@codeaurora.org> Signed-off-by: NRishabh Bhatnagar <rishabhb@codeaurora.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Reviewed-by: NRob Herring <robh@kernel.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Rishabh Bhatnagar 提交于
Documentation for last level cache controller device tree bindings, client bindings usage examples. Signed-off-by: NChannagoud Kadabi <ckadabi@codeaurora.org> Signed-off-by: NRishabh Bhatnagar <rishabhb@codeaurora.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Reviewed-by: NRob Herring <robh@kernel.org> Reviewed-by: NBjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Bjorn Andersson 提交于
The moved check for the global partition ended up in the wrong place and I failed to spot this in my review. This moves it to the correct place. Fixes: 11d2e7ed ("soc: qcom: smem: check sooner in qcom_smem_set_global_partition()") Signed-off-by: NBjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
- 21 7月, 2018 4 次提交
-
-
由 Niklas Cassel 提交于
Fix the following checkpatch error: ERROR: code indent should use tabs where possible + { }$ Fixes: ca5cd8c9 ("regulator: qcom_spmi: Add support for pmi8994") Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Niklas Cassel 提交于
Fix the following checkpatch error: ERROR: do not initialise statics to NULL +static struct regmap *saw_regmap = NULL; Fixes: 0caecaa8 ("regulator: qcom_spmi: Add support for SAW") Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Niklas Cassel 提交于
Since we have just assigned saw_regmap, and since the error message refers to saw_regmap, it feels safe to assume that it is saw_regmap, and not regmap, that should be checked for errors. Fixes: 0caecaa8 ("regulator: qcom_spmi: Add support for SAW") Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Niklas Cassel 提交于
For of_find_node_by_name(), you typically pass what the previous call returned. Therefore, of_find_node_by_name() increases the refcount of the returned node, and decreases the refcount of the node passed as the first argument. of_find_node_by_name() is incorrectly used, and produces a warning. Fix the warning by using the more suitable function of_get_child_by_name(). Also add a missing of_node_put() for the returned value, since this was previously being leaked. OF: ERROR: Bad of_node_put() on /soc/qcom,spmi@400f000/pmic@3/regulators CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.18.0-rc4-00223-gefd7b360b70e #12 Hardware name: Qualcomm Technologies, Inc. DB820c (DT) Call trace: dump_backtrace+0x0/0x1a8 show_stack+0x14/0x20 dump_stack+0x90/0xb4 of_node_release+0x74/0x78 kobject_put+0x90/0x1f0 of_node_put+0x14/0x20 of_find_node_by_name+0x80/0xd8 qcom_spmi_regulator_probe+0x30c/0x508 Fixes: 0caecaa8 ("regulator: qcom_spmi: Add support for SAW") Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 18 7月, 2018 3 次提交
-
-
由 Geert Uytterhoeven 提交于
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Acked-by: NPavel Machek <pavel@ucw.cz> Reviewed-by: NNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Geert Uytterhoeven 提交于
Extend the existing support for backup mode to toggle power switches. With a toggle power switch (or level signal), the following steps must be followed exactly: 1. Configure PMIC for backup mode, to change the role of the accessory power switch from a power switch to a wake-up switch, 2. Switch accessory power switch off, to prepare for system suspend, which is a manual step not controlled by software, 3. Suspend system, 4. Switch accessory power switch on, to resume the system. Hence the PMIC is configured for backup mode when "on" or "1" is written to the PMIC's "backup_mode" virtual file in sysfs. Conversely, writing "off" or "0" reverts the role of the accessory switch to a power switch. Unlike with momentary switches, backup mode is not enabled by default, as enabling it prevents the board from being powered off using the power switch, which may confuse the user. Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Geert Uytterhoeven 提交于
Currently the BD9571MWV PMIC driver uses the standard "wake_up" sysfs file to control enablement of DDR Backup Mode. However, configuring DDR Backup Mode is not really equivalent to configuring the PMIC as a wake-up source. To avoid confusion, use a custom "backup_mode" attribute file in sysfs instead. Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 11 7月, 2018 2 次提交
-
-
由 Kunihiko Hayashi 提交于
Initial commit to add support for regulators implemented in UniPhier SoCs. This supports USB VBUS only. Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Kunihiko Hayashi 提交于
Add DT bindings for regulators implemented in UniPhier SoCs. Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 09 7月, 2018 1 次提交
-
-
由 Dan Carpenter 提交于
The current code generates a static cehcker warnings because "rid < 0" is always false: drivers/regulator/max8997-regulator.c:169 max8997_list_voltage() warn: condition is always false The problem is that because of type promotion, if "rid" is negative the comparison against ARRAY_SIZE() is type promoted to size_t and it's treated as a very high positive value. I've changed the order of the checks so now everyone is happy. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-