17 Jan, 2021

2 commits

  • commit 512d4a26abdbd11c6ffa03032740e5ab3c62c55b upstream.

    When CONFIG_COMPILE_TEST is set, it is possible to build some
    of the interconnect drivers into the kernel while their dependencies
    are loadable modules, which is bad:

    arm-linux-gnueabi-ld: drivers/interconnect/qcom/bcm-voter.o: in function `qcom_icc_bcm_voter_commit':
    (.text+0x1f8): undefined reference to `rpmh_invalidate'
    arm-linux-gnueabi-ld: (.text+0x20c): undefined reference to `rpmh_write_batch'
    arm-linux-gnueabi-ld: (.text+0x2b0): undefined reference to `rpmh_write_batch'
    arm-linux-gnueabi-ld: (.text+0x2e8): undefined reference to `rpmh_write_batch'
    arm-linux-gnueabi-ld: drivers/interconnect/qcom/icc-rpmh.o: in function `qcom_icc_bcm_init':
    (.text+0x2ac): undefined reference to `cmd_db_read_addr'
    arm-linux-gnueabi-ld: (.text+0x2c8): undefined reference to `cmd_db_read_aux_data'

    The exact dependencies are a bit complicated, so split them out into a
    hidden Kconfig symbol that all drivers can in turn depend on to get it
    right.

    Fixes: 976daac4a1c5 ("interconnect: qcom: Consolidate interconnect RPMh support")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20201204165030.3747484-1-arnd@kernel.org
    Signed-off-by: Georgi Djakov
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • commit c6174c0e058fc0a54e0b9787c44cb24b0a8d0217 upstream.

    Add an 'of_node_put()' call when a tested device node is not available.

    Fixes: f0d8048525d7 ("interconnect: Add imx core driver")
    Signed-off-by: Christophe JAILLET
    Link: https://lore.kernel.org/r/20201206121304.29381-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Georgi Djakov
    Signed-off-by: Greg Kroah-Hartman

    Christophe JAILLET
     

20 Nov, 2020

3 commits

  • of_count_icc_providers() function uses for_each_available_child_of_node()
    helper to recursively check all the available nodes. This helper already
    properly handles child nodes' reference count, so there is no need to do
    it explicitly. Remove the excessive call to of_node_put(). This fixes
    memory trashing when CONFIG_OF_DYNAMIC is enabled (for example
    arm/multi_v7_defconfig).

    Fixes: b1d681d8d324 ("interconnect: Add sync state support")
    Signed-off-by: Marek Szyprowski
    Link: https://lore.kernel.org/r/20201119103746.32564-1-m.szyprowski@samsung.com
    Signed-off-by: Georgi Djakov

    Marek Szyprowski
     
  • The following errors are noticed during boot on a QCS404 board:
    [ 2.926647] qcom_icc_rpm_smd_send mas 6 error -6
    [ 2.934573] qcom_icc_rpm_smd_send mas 8 error -6

    These errors show when we try to configure the GPU and display nodes.
    Since these particular nodes aren't supported on RPM and are purely
    local, we should just change their mas_rpm_id to -1 to avoid any
    requests being sent for these master IDs.

    Reviewed-by: Mike Tipton
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20201118111044.26056-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Some nodes are incorrectly marked as RPM-controlled (they have RPM
    master and slave ids assigned), but are actually controlled by the
    application CPU instead. The RPM complains when we send requests for
    resources that it can't control. Let's fix this by replacing the IDs,
    with the default "-1" in which case no requests are sent.

    Reviewed-by: Mike Tipton
    Link: https://lore.kernel.org/r/20201112105140.10092-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

18 Nov, 2020

2 commits

  • It has been reported that on Fairphone 2 (msm8974-based), increasing
    the clock rate for some of the NoCs during boot may lead to hangs.
    Let's restore the original behavior and not touch the clock rate of
    any of the NoCs to fix the regression.

    Reported-by: Luca Weiss
    Tested-by: Luca Weiss
    Fixes: b1d681d8d324 ("interconnect: Add sync state support")
    Link: https://lore.kernel.org/r/20201109124512.10776-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • When sync_state support got introduced recently, by default we try to
    set the NoCs to run initially at maximum rate. But as these values are
    aggregated, we may end with a really big clock rate value, which is
    then converted from "u64" to "long" during the clock rate rounding.
    But on 32bit platforms this may result an overflow. Fix it by making
    sure that the rate is within range.

    Reported-by: Luca Weiss
    Reviewed-by: Brian Masney
    Link: https://lore.kernel.org/r/20201106144847.7726-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

27 Oct, 2020

1 commit

  • In addition to the rest of Qcom interconnect drivers use icc_sync_state
    for SM8150/SM8250 interconnect drivers to notify the interconnect
    framework when all consumers are probed and there is no need to keep the
    bandwidth set to maximum anymore.

    Also move the BCM initialization before creating the nodes to set the
    max bandwidth in hardware for the initialization/probing stage.

    Signed-off-by: Dmitry Baryshkov
    Fixes: 7d3b0b0d8184 ("interconnect: qcom: Use icc_sync_state")
    Link: https://lore.kernel.org/r/20201027133418.976687-1-dmitry.baryshkov@linaro.org
    Signed-off-by: Georgi Djakov

    Dmitry Baryshkov
     

22 Oct, 2020

1 commit

  • Take into account the initial bandwidth from the framework and update
    the internal sum and max values before committing if needed. This will
    ensure that the floor bandwidth values are enforced until the providers
    get into sync state.

    Fixes: 7d3b0b0d8184 ("interconnect: qcom: Use icc_sync_state")
    Tested-by: Akash Asthana
    Link: https://lore.kernel.org/r/20201021155938.9223-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

15 Oct, 2020

4 commits

  • Currently if we use sync_state, by default the bandwidth is maxed out,
    but in order to set this in hardware, the BCMs (Bus Clock Managers) need
    to be initialized first. Move the BCM initialization before creating the
    nodes to fix this.

    Fixes: 7d3b0b0d8184 ("interconnect: qcom: Use icc_sync_state")
    Acked-by: Saravana Kannan
    Link: https://lore.kernel.org/r/20201013135913.29059-3-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Currently if we use sync_state, by default the bandwidth is maxed out,
    but in order to set this in hardware, the BCMs (Bus Clock Managers) need
    to be initialized first. Move the BCM initialization before creating the
    nodes to fix this.

    Fixes: 7d3b0b0d8184 ("interconnect: qcom: Use icc_sync_state")
    Acked-by: Saravana Kannan
    Link: https://lore.kernel.org/r/20201013135913.29059-2-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • When setting the initial bandwidth, make sure to call the aggregate()
    function (if such is implemented for the current provider), to handle
    cases when data needs to be aggregated first.

    Fixes: b1d681d8d324 ("interconnect: Add sync state support")
    Acked-by: Saravana Kannan
    Link: https://lore.kernel.org/r/20201013135913.29059-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • After enabling interconnect scaling for display on the db845c board,
    in certain configurations the board hangs, while the following errors
    are observed on the console:

    Error sending AMC RPMH requests (-110)
    qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
    qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
    qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
    ...

    In this specific case, the above is related to one of the sequencers
    being stuck, while client drivers are returning from probe and trying
    to disable the currently unused clock and interconnect resources.
    Generally we want to keep the multimedia NoC enabled like the rest of
    the NoCs, so let's set the keepalive flag on it too.

    Fixes: aae57773fbe0 ("interconnect: qcom: sdm845: Split qnodes into their respective NoCs")
    Reported-by: Amit Pundir
    Reviewed-by: Mike Tipton
    Tested-by: John Stultz
    Link: https://lore.kernel.org/r/20201012194034.26944-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

21 Sep, 2020

1 commit


18 Sep, 2020

5 commits

  • Common pattern of handling deferred probe can be simplified with
    dev_err_probe(). Less code and the error value gets printed.

    Signed-off-by: Krzysztof Kozlowski
    Link: https://lore.kernel.org/r/20200902172433.1138-2-krzk@kernel.org
    Signed-off-by: Georgi Djakov

    Krzysztof Kozlowski
     
  • Common pattern of handling deferred probe can be simplified with
    dev_err_probe(). Less code and the error value gets printed.

    Signed-off-by: Krzysztof Kozlowski
    Link: https://lore.kernel.org/r/20200902172433.1138-1-krzk@kernel.org
    Signed-off-by: Georgi Djakov

    Krzysztof Kozlowski
     
  • * icc-syncstate:
    interconnect: Add get_bw() callback
    interconnect: Add sync state support
    interconnect: qcom: Use icc_sync_state

    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Lowering the bandwidth on the bus might have negative consequences if
    it's done before all consumers had a chance to cast their vote. Now by
    default the framework sets the bandwidth to maximum during boot. We need
    to use the icc_sync_state callback to notify the framework when all
    consumers are probed and there is no need to keep the bandwidth set to
    maximum anymore.

    Link: https://lore.kernel.org/r/20200825170152.6434-4-georgi.djakov@linaro.org
    Reviewed-by: Saravana Kannan
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • The bootloaders often do some initial configuration of the interconnects
    in the system and we want to keep this configuration until all consumers
    have probed and expressed their bandwidth needs. This is because we don't
    want to change the configuration by starting to disable unused paths until
    every user had a chance to request the amount of bandwidth it needs.

    To accomplish this we will implement an interconnect specific sync_state
    callback which will synchronize (aggregate and set) the current bandwidth
    settings when all consumers have been probed.

    Link: https://lore.kernel.org/r/20200825170152.6434-3-georgi.djakov@linaro.org
    Reviewed-by: Saravana Kannan
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

15 Sep, 2020

1 commit

  • These structures aren't modified at runtime. Mark them const so they get
    moved to read-only memory. We have to cast away const in one place when
    we store into the data member of struct icc_node. This is paired with a
    re-const of the data member when it is extracted in qcom_icc_set().

    Signed-off-by: Stephen Boyd
    Reviewed-by: Evan Green
    Link: https://lore.kernel.org/r/20200914182112.513981-1-swboyd@chromium.org
    Signed-off-by: Georgi Djakov

    Stephen Boyd
     

08 Sep, 2020

14 commits

  • Add Epoch Subsystem (EPSS) L3 interconnect provider support on
    SM8250 SoCs.

    Signed-off-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200801123049.32398-6-sibis@codeaurora.org
    Signed-off-by: Georgi Djakov

    Sibi Sankar
     
  • Lay the groundwork for adding Epoch Subsystem (EPSS) L3 support on
    SM8250.

    Signed-off-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200801123049.32398-4-sibis@codeaurora.org
    Signed-off-by: Georgi Djakov

    Sibi Sankar
     
  • Add Operation State Manager (OSM) L3 interconnect provider support on
    SM8150 SoCs.

    Signed-off-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200801123049.32398-3-sibis@codeaurora.org
    Signed-off-by: Georgi Djakov

    Sibi Sankar
     
  • Use the qcom_icc_xlate_extended() in order to parse tags, that are
    specified as an additional arguments to the path endpoints in DT.

    Signed-off-by: Sibi Sankar
    Tested-by: Matthias Kaehlcke
    Reviewed-by: Matthias Kaehlcke
    Link: https://lore.kernel.org/r/20200903133134.17201-7-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Sibi Sankar
     
  • Use the qcom_icc_xlate_extended() in order to parse tags, that are
    specified as an additional arguments to the path endpoints in DT.

    Tested-by: Sibi Sankar
    Reviewed-by: Sibi Sankar
    Reviewed-by: Matthias Kaehlcke
    Link: https://lore.kernel.org/r/20200903133134.17201-5-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Implement a function to parse the arguments of the "interconnects" DT
    property and populate the interconnect path tags if this information
    is available.

    Tested-by: Sibi Sankar
    Reviewed-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200903133134.17201-4-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Currently there is the xlate() callback, which is used by providers for
    mapping the nodes from phandle arguments. That's fine for simple mappings,
    but the phandle arguments could contain an additional data, such as tag
    information. Let's create another callback xlate_extended() for the cases
    where providers want also populate the path tag data.

    Tested-by: Sibi Sankar
    Reviewed-by: Sibi Sankar
    Reviewed-by: Matthias Kaehlcke
    Tested-by: Matthias Kaehlcke
    Link: https://lore.kernel.org/r/20200903133134.17201-2-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     
  • Currently, bcm-voter always assumes requests are made in KBps and that
    BCM HW always wants them in Bps, so it always scales the requests by
    1000. However, certain use cases and BCMs may use different units.
    Thus, add support for BCM-specific scaling factors.

    Signed-off-by: Mike Tipton
    Link: https://lore.kernel.org/r/20200903192149.30385-7-mdtipton@codeaurora.org
    Signed-off-by: Georgi Djakov

    Mike Tipton
     
  • Change the default TCS wait behavior to only wait for completion in AMC
    and WAKE. Waiting isn't necessary in the SLEEP TCS, since votes are only
    being removed in this case. Resources can be safely disabled
    asynchronously in parallel with the rest of the power collapse sequence.
    This reduces the sleep entry latency.

    Signed-off-by: Mike Tipton
    Link: https://lore.kernel.org/r/20200903192149.30385-6-mdtipton@codeaurora.org
    Signed-off-by: Georgi Djakov

    Mike Tipton
     
  • Currently, all bcm-voters set tcs_cmd::wait=true for the last VCD
    command in each TCS (AMC, WAKE, and SLEEP). However, some bcm-voters
    don't need the completion and instead need to optimize for latency. For
    instance, disabling wait-for-completion in the WAKE set can decrease
    resume latency and allow for certain operations to occur in parallel
    with the WAKE TCS triggering. This is only safe in very specific
    situations. Keep the default behavior of always waiting, but allow it to
    be overridden in devicetree.

    Signed-off-by: Mike Tipton
    Link: https://lore.kernel.org/r/20200903192149.30385-5-mdtipton@codeaurora.org
    Signed-off-by: Georgi Djakov

    Mike Tipton
     
  • Add generic qcom interconnect bindings that are common across platforms. In
    particular, these include QCOM_ICC_TAG_* macros that clients can use when
    calling icc_set_tag().

    Signed-off-by: Mike Tipton
    Acked-by: Rob Herring
    Link: https://lore.kernel.org/r/20200903192149.30385-3-mdtipton@codeaurora.org
    Signed-off-by: Georgi Djakov

    Mike Tipton
     
  • Add driver for the Qualcomm interconnect buses found in SM8250 based
    platforms. The topology consists of several NoCs that are controlled by
    a remote processor that collects the aggregated bandwidth for each
    master-slave pairs.

    Based on SC7180 driver and generated from downstream dts.

    Signed-off-by: Jonathan Marek
    Reviewed-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200728023811.5607-6-jonathan@marek.ca
    Signed-off-by: Georgi Djakov

    Jonathan Marek
     
  • Add driver for the Qualcomm interconnect buses found in SM8150 based
    platforms. The topology consists of several NoCs that are controlled by
    a remote processor that collects the aggregated bandwidth for each
    master-slave pairs.

    Based on SC7180 driver and generated from downstream dts.

    Signed-off-by: Jonathan Marek
    Reviewed-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200728023811.5607-5-jonathan@marek.ca
    Signed-off-by: Georgi Djakov

    Jonathan Marek
     
  • There are drivers which just need to get multiple interconnect paths,
    request some predefined amounts of bandwidth and then just toggle the
    paths between enabled/disabled state.

    The aim of this patch is simplify the above and to allow drivers to put
    all the path names and bandwidth data into a single static icc_bulk_data
    table and call the icc_bulk_* functions on that table in order to scale
    all the interconnect paths in parallel.

    Suggested-by: Evan Green
    Suggested-by: Bjorn Andersson
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20200729123439.9961-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov

    Georgi Djakov
     

04 Sep, 2020

1 commit

  • Small BW votes that translate to less than a single BCM unit are
    currently truncated to zero. Ensure that non-zero BW requests always
    result in at least a vote of 1 to BCM.

    Fixes: 976daac4a1c5 ("interconnect: qcom: Consolidate interconnect RPMh support")
    Signed-off-by: Mike Tipton
    Link: https://lore.kernel.org/r/20200903192149.30385-2-mdtipton@codeaurora.org
    Signed-off-by: Georgi Djakov

    Mike Tipton
     

03 Sep, 2020

1 commit

  • For disabled paths the 'interconnect_summary' in debugfs currently shows
    the orginally requested bandwidths. This is confusing, since the bandwidth
    requests aren't active. Instead show the bandwidths for disabled
    paths/requests as zero.

    Signed-off-by: Matthias Kaehlcke
    Reviewed-by: Evan Green
    Link: https://lore.kernel.org/r/20200729104933.1.If8e80e4c0c7ddf99056f6e726e59505ed4e127f3@changeid
    Signed-off-by: Georgi Djakov

    Matthias Kaehlcke
     

06 Aug, 2020

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the large set of char and misc and other driver subsystem
    patches for 5.9-rc1. Lots of new driver submissions in here, and
    cleanups and features for existing drivers.

    Highlights are:
    - habanalabs driver updates
    - coresight driver updates
    - nvmem driver updates
    - huge number of "W=1" build warning cleanups from Lee Jones
    - dyndbg updates
    - virtbox driver fixes and updates
    - soundwire driver updates
    - mei driver updates
    - phy driver updates
    - fpga driver updates
    - lots of smaller individual misc/char driver cleanups and fixes

    Full details are in the shortlog.

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (322 commits)
    habanalabs: remove unused but set variable 'ctx_asid'
    nvmem: qcom-spmi-sdam: Enable multiple devices
    dt-bindings: nvmem: SID: add binding for A100's SID controller
    nvmem: update Kconfig description
    nvmem: qfprom: Add fuse blowing support
    dt-bindings: nvmem: Add properties needed for blowing fuses
    dt-bindings: nvmem: qfprom: Convert to yaml
    nvmem: qfprom: use NVMEM_DEVID_AUTO for multiple instances
    nvmem: core: add support to auto devid
    nvmem: core: Add nvmem_cell_read_u8()
    nvmem: core: Grammar fixes for help text
    nvmem: sc27xx: add sc2730 efuse support
    nvmem: Enforce nvmem stride in the sysfs interface
    MAINTAINERS: Add git tree for NVMEM FRAMEWORK
    nvmem: sprd: Fix return value of sprd_efuse_probe()
    drivers: android: Fix the SPDX comment style
    drivers: android: Fix a variable declaration coding style issue
    drivers: android: Remove braces for a single statement if-else block
    drivers: android: Remove the use of else after return
    drivers: android: Fix a variable declaration coding style issue
    ...

    Linus Torvalds
     

04 Aug, 2020

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "A couple of subsystems have their own subsystem maintainers but choose
    to have the code merged through the soc tree as upstream, as the code
    tends to be used across multiple SoCs or has SoC specific drivers
    itself:

    - memory controllers:

    Krzysztof Kozlowski takes ownership of the drivers/memory subsystem
    and its drivers, starting out with a set of cleanup patches.

    A larger driver for the Tegra memory controller that was
    accidentally missed for v5.8 is now added.

    - reset controllers:

    Only minor updates to drivers/reset this time

    - firmware:

    The "turris mox" firmware driver gains support for signed firmware
    blobs The tegra firmware driver gets extended to export some debug
    information Various updates to i.MX firmware drivers, mostly
    cosmetic

    - ARM SCMI/SCPI:

    A new mechanism for platform notifications is added, among a number
    of minor changes.

    - optee:

    Probing of the TEE bus is rewritten to better support detection of
    devices that depend on the tee-supplicant user space. A new
    firmware based trusted platform module (fTPM) driver is added based
    on OP-TEE

    - SoC attributes:

    A new driver is added to provide a generic soc_device for
    identifying a machine through the SMCCC ARCH_SOC_ID firmware
    interface rather than by probing SoC family specific registers.

    The series also contains some cleanups to the common soc_device
    code.

    There are also a number of updates to SoC specific drivers, the main
    ones are:

    - Mediatek cmdq driver gains a few in-kernel interfaces

    - Minor updates to Qualcomm RPMh, socinfo, rpm drivers, mostly adding
    support for additional SoC variants

    - The Qualcomm GENI core code gains interconnect path voting and
    performance level support, and integrating this into a number of
    device drivers.

    - A new driver for Samsung Exynos5800 voltage coupler for

    - Renesas RZ/G2H (R8A774E1) SoC support gets added to a couple of SoC
    specific device drivers

    - Updates to the TI K3 Ring Accelerator driver"

    * tag 'arm-drivers-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (164 commits)
    soc: qcom: geni: Fix unused label warning
    soc: qcom: smd-rpm: Fix kerneldoc
    memory: jz4780_nemc: Only request IO memory the driver will use
    soc: qcom: pdr: Reorder the PD state indication ack
    MAINTAINERS: Add Git repository for memory controller drivers
    memory: brcmstb_dpfe: Fix language typo
    memory: samsung: exynos5422-dmc: Correct white space issues
    memory: samsung: exynos-srom: Correct alignment
    memory: pl172: Enclose macro argument usage in parenthesis
    memory: of: Correct kerneldoc
    memory: omap-gpmc: Fix language typo
    memory: omap-gpmc: Correct white space issues
    memory: omap-gpmc: Use 'unsigned int' for consistency
    memory: omap-gpmc: Enclose macro argument usage in parenthesis
    memory: omap-gpmc: Correct kerneldoc
    memory: mvebu-devbus: Align with open parenthesis
    memory: mvebu-devbus: Add missing braces to all arms of if statement
    memory: bt1-l2-ctl: Add blank lines after declarations
    soc: TI knav_qmss: make symbol 'knav_acc_range_ops' static
    firmware: ti_sci: Replace HTTP links with HTTPS ones
    ...

    Linus Torvalds
     

27 Jul, 2020

1 commit


23 Jul, 2020

1 commit

  • The buswidth of the pcnoc_s_* nodes is actually not 8, but
    4 bytes. Let's fix it.

    Reported-by: Jun Nie
    Reviewed-by: Mike Tipton
    Fixes: 30c8fa3ec61a ("interconnect: qcom: Add MSM8916 interconnect provider driver")
    Link: https://lore.kernel.org/r/20200709130004.12462-1-georgi.djakov@linaro.org
    Signed-off-by: Georgi Djakov
    Cc: stable
    Link: https://lore.kernel.org/r/20200723083735.5616-3-georgi.djakov@linaro.org
    Signed-off-by: Greg Kroah-Hartman

    Georgi Djakov