19 Nov, 2020

1 commit

  • The config for lcdif should be removed, and need to add vpu
    qos setting by default. this patch is just to add back the
    vpu qos config that is missed when resolving cherry-pick
    conflict for patch:
    3a3f54750294: MLK-19380 driver: soc: update the noc QoS setting on imx8mq

    Signed-off-by: Jacky Bai
    Reviewed-by: Anson Huang

    Jacky Bai
     

16 Nov, 2020

2 commits


23 Oct, 2020

1 commit


08 Oct, 2020

1 commit

  • * tag 'v5.4.70': (3051 commits)
    Linux 5.4.70
    netfilter: ctnetlink: add a range check for l3/l4 protonum
    ep_create_wakeup_source(): dentry name can change under you...
    ...

    Conflicts:
    arch/arm/mach-imx/pm-imx6.c
    arch/arm64/boot/dts/freescale/imx8mm-evk.dts
    arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts
    drivers/crypto/caam/caamalg.c
    drivers/gpu/drm/imx/dw_hdmi-imx.c
    drivers/gpu/drm/imx/imx-ldb.c
    drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
    drivers/mmc/host/sdhci-esdhc-imx.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/net/ethernet/freescale/enetc/enetc.c
    drivers/net/ethernet/freescale/enetc/enetc_pf.c
    drivers/thermal/imx_thermal.c
    drivers/usb/cdns3/ep0.c
    drivers/xen/swiotlb-xen.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c

    Signed-off-by: Jason Liu

    Jason Liu
     

19 Aug, 2020

1 commit

  • [ Upstream commit 1a53ce9ab4faeb841b33d62d23283dc76c0e7c5a ]

    rpmh-rsc driver is fairly core to system and should not be removable
    once its probed. However it allows to unbind driver from sysfs using
    below command which results into a crash on sc7180.

    echo 18200000.rsc > /sys/bus/platform/drivers/rpmh/unbind

    Lets prevent unbind at runtime by setting suppress_bind_attrs flag.

    Reviewed-by: Stephen Boyd
    Signed-off-by: Maulik Shah
    Link: https://lore.kernel.org/r/1592808805-2437-1-git-send-email-mkshah@codeaurora.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Sasha Levin

    Maulik Shah
     

29 Jul, 2020

1 commit

  • commit 35bb4b22f606c0cc8eedf567313adc18161b1af4 upstream.

    Adding an item into the cache should never be able to make the cache
    cleaner. Use "|=" rather than "=" to update the dirty flag.

    Reviewed-by: Matthias Kaehlcke
    Reviewed-by: Maulik Shah Thanks, Maulik
    Reviewed-by: Bjorn Andersson
    Fixes: bb7000677a1b ("soc: qcom: rpmh: Update dirty flag only when data changes")
    Reported-by: Stephen Boyd
    Signed-off-by: Douglas Anderson
    Link: https://lore.kernel.org/r/20200417141531.1.Ia4b74158497213eabad7c3d474c50bfccb3f342e@changeid
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Douglas Anderson
     

22 Jul, 2020

5 commits

  • commit 38427e5a47bf83299da930bd474c6cb2632ad810 upstream.

    When there are more than one WAKE TCS available and there is no dedicated
    ACTIVE TCS available, invalidating all WAKE TCSes and waiting for current
    transfer to complete in first WAKE TCS blocks using another free WAKE TCS
    to complete current request.

    Remove rpmh_rsc_invalidate() to happen from tcs_write() when WAKE TCSes
    is re-purposed to be used for Active mode. Clear only currently used
    WAKE TCS's register configuration.

    Fixes: 2de4b8d33eab (drivers: qcom: rpmh-rsc: allow active requests from wake TCS)
    Signed-off-by: Maulik Shah
    Reviewed-by: Douglas Anderson
    Reviewed-by: Stephen Boyd
    Link: https://lore.kernel.org/r/1586703004-13674-7-git-send-email-mkshah@codeaurora.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Maulik Shah
     
  • commit 15b3bf61b8d48f8e0ccd9d7f1bcb468b543da396 upstream.

    For RSCs that have sleep & wake TCS but no dedicated active TCS, wake
    TCS can be re-purposed to send active requests. Once the active requests
    are sent and response is received, the active mode configuration needs
    to be cleared so that controller can use wake TCS for sending wake
    requests.

    Introduce enable_tcs_irq() to enable completion IRQ for repurposed TCSes.

    Fixes: 2de4b8d33eab (drivers: qcom: rpmh-rsc: allow active requests from wake TCS)
    Signed-off-by: Raju P.L.S.S.S.N
    [mkshah: call enable_tcs_irq() within drv->lock, update commit message]
    Signed-off-by: Maulik Shah
    Reviewed-by: Douglas Anderson
    Reviewed-by: Stephen Boyd
    Link: https://lore.kernel.org/r/1586703004-13674-6-git-send-email-mkshah@codeaurora.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Raju P.L.S.S.S.N
     
  • commit f5ac95f9ca2f439179a5baf48e1c0f22f83d936e upstream.

    TCSes have previously programmed data when rpmh_flush() is called.
    This can cause old data to trigger along with newly flushed.

    Fix this by cleaning SLEEP and WAKE TCSes before new data is flushed.

    With this there is no need to invoke rpmh_rsc_invalidate() call from
    rpmh_invalidate().

    Simplify rpmh_invalidate() by moving invalidate_batch() inside.

    Fixes: 600513dfeef3 ("drivers: qcom: rpmh: cache sleep/wake state requests")
    Signed-off-by: Maulik Shah
    Reviewed-by: Douglas Anderson
    Reviewed-by: Stephen Boyd
    Link: https://lore.kernel.org/r/1586703004-13674-4-git-send-email-mkshah@codeaurora.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Maulik Shah
     
  • commit bb7000677a1b287206c8d4327c62442fa3050a8f upstream.

    Currently rpmh ctrlr dirty flag is set for all cases regardless of data
    is really changed or not. Add changes to update dirty flag when data is
    changed to newer values. Update dirty flag everytime when data in batch
    cache is updated since rpmh_flush() may get invoked from any CPU instead
    of only last CPU going to low power mode.

    Also move dirty flag updates to happen from within cache_lock and remove
    unnecessary INIT_LIST_HEAD() call and a default case from switch.

    Fixes: 600513dfeef3 ("drivers: qcom: rpmh: cache sleep/wake state requests")
    Signed-off-by: Maulik Shah
    Reviewed-by: Srinivas Rao L
    Reviewed-by: Evan Green
    Reviewed-by: Douglas Anderson
    Reviewed-by: Stephen Boyd
    Link: https://lore.kernel.org/r/1586703004-13674-3-git-send-email-mkshah@codeaurora.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Maulik Shah
     
  • commit 27a344139c186889d742764d3c2a62b395949cef upstream.

    Looks like SoC ID is not exported to sysfs for some reason.
    This patch adds it!

    This is mostly used by userspace libraries like Snapdragon
    Neural Processing Engine (SNPE) SDK for checking supported SoC info.

    Fixes: efb448d0a3fc ("soc: qcom: Add socinfo driver")
    Reviewed-by: Stephen Boyd
    Signed-off-by: Srinivas Kandagatla
    Link: https://lore.kernel.org/r/20200319121418.5180-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Srinivas Kandagatla
     

22 Jun, 2020

2 commits

  • Export APIs to support i.MX8 SoCs clock driver to be built as module.

    Signed-off-by: Anson Huang
    Reviewed-by: Jacky Bai

    Anson Huang
     
  • commit 5098e2b95e8e6f56266c2d5c180c75917090082a upstream.

    I have hit the following build error:
    armv7a-hardfloat-linux-gnueabi-ld: drivers/soc/tegra/pmc.o: in function `pinconf_generic_dt_node_to_map_pin':
    pmc.c:(.text+0x500): undefined reference to `pinconf_generic_dt_node_to_map'
    armv7a-hardfloat-linux-gnueabi-ld: drivers/soc/tegra/pmc.o:(.rodata+0x1f88): undefined reference to `pinconf_generic_dt_free_map'

    So SOC_TEGRA_PMC should select GENERIC_PINCONF.

    Fixes: 4a37f11c8f57 ("soc/tegra: pmc: Implement pad configuration via pinctrl")
    Cc: stable
    Signed-off-by: Corentin Labbe
    Signed-off-by: Thierry Reding
    Signed-off-by: Greg Kroah-Hartman

    Corentin Labbe
     

19 Jun, 2020

1 commit

  • * tag 'v5.4.47': (2193 commits)
    Linux 5.4.47
    KVM: arm64: Save the host's PtrAuth keys in non-preemptible context
    KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
    ...

    Conflicts:
    arch/arm/boot/dts/imx6qdl.dtsi
    arch/arm/mach-imx/Kconfig
    arch/arm/mach-imx/common.h
    arch/arm/mach-imx/suspend-imx6.S
    arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
    arch/powerpc/include/asm/cacheflush.h
    drivers/cpufreq/imx6q-cpufreq.c
    drivers/dma/imx-sdma.c
    drivers/edac/synopsys_edac.c
    drivers/firmware/imx/imx-scu.c
    drivers/net/ethernet/freescale/fec.h
    drivers/net/ethernet/freescale/fec_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/phy_device.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/usb/cdns3/gadget.c
    drivers/usb/dwc3/gadget.c
    include/uapi/linux/dma-buf.h

    Signed-off-by: Jason Liu

    Jason Liu
     

11 Jun, 2020

1 commit


03 Jun, 2020

1 commit

  • [ Upstream commit 34c4e4072603ff5c174df73b973896abb76cbb51 ]

    Return error code to client if send message fail,
    so that client has chance to error handling.

    Fixes: 576f1b4bc802 ("soc: mediatek: Add Mediatek CMDQ helper")
    Signed-off-by: Dennis YC Hsieh
    Reviewed-by: CK Hu
    Link: https://lore.kernel.org/r/1583664775-19382-6-git-send-email-dennis-yc.hsieh@mediatek.com
    Signed-off-by: Matthias Brugger
    Signed-off-by: Sasha Levin

    Dennis YC Hsieh
     

11 May, 2020

1 commit

  • When the nvmem subsystem is not initialised at boot, the probe
    will fail and an error message will be displayed.
    In this case the message should not be printed as the driver will
    be probed later.

    This patch checks the error code from nvmem before printing the
    message.

    It also fixes the cleaning path as the driver was not exiting
    properly.

    Signed-off-by: Franck LENORMAND
    Reviewed-by: Iuliana Prodan

    Franck LENORMAND
     

04 May, 2020

1 commit


02 May, 2020

1 commit

  • commit d0384eedcde21276ac51f57c641f875605024b32 upstream.

    The firmware driver is optional, but the power driver depends on it,
    which needs to be reflected in Kconfig to avoid link errors:

    aarch64-linux-ld: drivers/soc/xilinx/zynqmp_power.o: in function `zynqmp_pm_isr':
    zynqmp_power.c:(.text+0x284): undefined reference to `zynqmp_pm_invoke_fn'

    The firmware driver can probably be allowed for compile-testing as
    well, so it's best to drop the dependency on the ZYNQ platform
    here and allow building as long as the firmware code is built-in.

    Fixes: ab272643d723 ("drivers: soc: xilinx: Add ZynqMP PM driver")
    Signed-off-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200408155224.2070880-1-arnd@arndb.de
    Signed-off-by: Michal Simek
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

23 Apr, 2020

1 commit

  • [ Upstream commit e0ea2d11f8a08ba7066ff897e16c5217215d1e68 ]

    Currently we wait only until the PGC inverts the isolation setting
    before disabling the peripheral clocks. This doesn't ensure that the
    reset is properly propagated through the peripheral devices in the
    power domain.

    Wait until the PGC signals that the power up request is done and
    wait a bit for resets to propagate before disabling the clocks.

    Signed-off-by: Lucas Stach
    Signed-off-by: Shawn Guo
    Signed-off-by: Sasha Levin

    Lucas Stach
     

17 Apr, 2020

1 commit

  • [ Upstream commit fe8fe7723a3a824790bda681b40efd767e2251a7 ]

    The dpio irqs must be registered when you can actually
    receive interrupts, ie when the dpios are created.
    Kernel goes through NULL pointer dereference errors
    followed by kernel panic [1] because the dpio irqs are
    enabled before the dpio is created.

    [1]
    Unable to handle kernel NULL pointer dereference at virtual address 0040
    fsl_mc_dpio dpio.14: probed
    fsl_mc_dpio dpio.13: Adding to iommu group 11
    ISV = 0, ISS = 0x00000004
    Unable to handle kernel NULL pointer dereference at virtual address 0040
    Mem abort info:
    ESR = 0x96000004
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    Data abort info:
    ISV = 0, ISS = 0x00000004
    CM = 0, WnR = 0
    [0000000000000040] user address but active_mm is swapper
    Internal error: Oops: 96000004 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 2 PID: 151 Comm: kworker/2:1 Not tainted 5.6.0-rc4-next-20200304 #1
    Hardware name: NXP Layerscape LX2160ARDB (DT)
    Workqueue: events deferred_probe_work_func
    pstate: 00000085 (nzcv daIf -PAN -UAO)
    pc : dpaa2_io_irq+0x18/0xe0
    lr : dpio_irq_handler+0x1c/0x28
    sp : ffff800010013e20
    x29: ffff800010013e20 x28: ffff0026d9b4c140
    x27: ffffa1d38a142018 x26: ffff0026d2953400
    x25: ffffa1d38a142018 x24: ffffa1d38a7ba1d8
    x23: ffff800010013f24 x22: 0000000000000000
    x21: 0000000000000072 x20: ffff0026d2953400
    x19: ffff0026d2a68b80 x18: 0000000000000001
    x17: 000000002fb37f3d x16: 0000000035eafadd
    x15: ffff0026d9b4c5b8 x14: ffffffffffffffff
    x13: ff00000000000000 x12: 0000000000000038
    x11: 0101010101010101 x10: 0000000000000040
    x9 : ffffa1d388db11e4 x8 : ffffa1d38a7e40f0
    x7 : ffff0026da414f38 x6 : 0000000000000000
    x5 : ffff0026da414d80 x4 : ffff5e5353d0c000
    x3 : ffff800010013f60 x2 : ffffa1d388db11c8
    x1 : ffff0026d2a67c00 x0 : 0000000000000000
    Call trace:
    dpaa2_io_irq+0x18/0xe0
    dpio_irq_handler+0x1c/0x28
    __handle_irq_event_percpu+0x78/0x2c0
    handle_irq_event_percpu+0x38/0x90
    handle_irq_event+0x4c/0xd0
    handle_fasteoi_irq+0xbc/0x168
    generic_handle_irq+0x2c/0x40
    __handle_domain_irq+0x68/0xc0
    gic_handle_irq+0x64/0x150
    el1_irq+0xb8/0x180
    _raw_spin_unlock_irqrestore+0x14/0x48
    irq_set_affinity_hint+0x6c/0xa0
    dpaa2_dpio_probe+0x2a4/0x518
    fsl_mc_driver_probe+0x28/0x70
    really_probe+0xdc/0x320
    driver_probe_device+0x5c/0xf0
    __device_attach_driver+0x88/0xc0
    bus_for_each_drv+0x7c/0xc8
    __device_attach+0xe4/0x140
    device_initial_probe+0x18/0x20
    bus_probe_device+0x98/0xa0
    device_add+0x41c/0x758
    fsl_mc_device_add+0x184/0x530
    dprc_scan_objects+0x280/0x370
    dprc_probe+0x124/0x3b0
    fsl_mc_driver_probe+0x28/0x70
    really_probe+0xdc/0x320
    driver_probe_device+0x5c/0xf0
    __device_attach_driver+0x88/0xc0
    bus_for_each_drv+0x7c/0xc8
    __device_attach+0xe4/0x140
    device_initial_probe+0x18/0x20
    bus_probe_device+0x98/0xa0
    deferred_probe_work_func+0x74/0xa8
    process_one_work+0x1c8/0x470
    worker_thread+0x1f8/0x428
    kthread+0x124/0x128
    ret_from_fork+0x10/0x18
    Code: a9bc7bfd 910003fd a9025bf5 a90363f7 (f9402015)
    ---[ end trace 38298e1a29e7a570 ]---
    Kernel panic - not syncing: Fatal exception in interrupt
    SMP: stopping secondary CPUs
    Mem abort info:
    ESR = 0x96000004
    CM = 0, WnR = 0
    EC = 0x25: DABT (current EL), IL = 32 bits
    [0000000000000040] user address but active_mm is swapper
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    Data abort info:
    ISV = 0, ISS = 0x00000004
    CM = 0, WnR = 0
    [0000000000000040] user address but active_mm is swapper
    SMP: failed to stop secondary CPUs 0-2
    Kernel Offset: 0x21d378600000 from 0xffff800010000000
    PHYS_OFFSET: 0xffffe92180000000
    CPU features: 0x10002,21806008
    Memory Limit: none
    ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---

    Signed-off-by: Laurentiu Tudor
    Signed-off-by: Grigore Popescu
    Signed-off-by: Li Yang
    Signed-off-by: Sasha Levin

    Grigore Popescu
     

08 Apr, 2020

1 commit

  • commit ce35e21d82bcac8b3fd5128888f9e233f8444293 upstream.

    Mediatek CMDQ driver have a mechanism to do TXDONE_BY_ACK,
    so we should set knows_txdone.

    Fixes:576f1b4bc802 ("soc: mediatek: Add Mediatek CMDQ helper")

    Cc: stable@vger.kernel.org # v5.0+
    Signed-off-by: Bibby Hsieh
    Reviewed-by: CK Hu
    Signed-off-by: Matthias Brugger
    Signed-off-by: Greg Kroah-Hartman

    Bibby Hsieh
     

26 Mar, 2020

1 commit


18 Mar, 2020

1 commit


14 Mar, 2020

2 commits


12 Mar, 2020

1 commit

  • commit f10e58a5d20e1cf3a39a842da92c9dd0c3c23849 upstream.

    The imx SC api strongly assumes that messages are composed out of
    4-bytes words but some of our message structs have odd sizeofs.

    This produces many oopses with CONFIG_KASAN=y.

    Fix by marking with __aligned(4).

    Fixes: 73feb4d0f8f1 ("soc: imx-scu: Add SoC UID(unique identifier) support")
    Signed-off-by: Leonard Crestez
    Signed-off-by: Shawn Guo
    Signed-off-by: Greg Kroah-Hartman

    Leonard Crestez
     

08 Mar, 2020

1 commit

  • Merge Linux stable release v5.4.24 into imx_5.4.y

    * tag 'v5.4.24': (3306 commits)
    Linux 5.4.24
    blktrace: Protect q->blk_trace with RCU
    kvm: nVMX: VMWRITE checks unsupported field before read-only field
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6sll-evk.dts
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
    drivers/clk/imx/clk-composite-8m.c
    drivers/gpio/gpio-mxc.c
    drivers/irqchip/Kconfig
    drivers/mmc/host/sdhci-of-esdhc.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/can/flexcan.c
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    drivers/net/ethernet/mscc/ocelot.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/realtek.c
    drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/tee/optee/shm_pool.c
    drivers/usb/cdns3/gadget.c
    kernel/sched/cpufreq.c
    net/core/xdp.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c
    sound/soc/sof/core.c
    sound/soc/sof/imx/Kconfig
    sound/soc/sof/loader.c

    Jason Liu
     

05 Mar, 2020

1 commit

  • [ Upstream commit 6f4ecbe284df5f22e386a640d9a4b32cede62030 ]

    If only Tegra194 support is enabled, the tegra30_fuse_read() and
    tegra30_fuse_init() function are not declared and cause a build failure.
    Add Tegra194 to the preprocessor guard to make sure these functions are
    available for Tegra194-only builds as well.

    Link: https://lore.kernel.org/r/20200203143114.3967295-1-thierry.reding@gmail.com
    Reported-by: kbuild test robot
    Signed-off-by: Thierry Reding
    Signed-off-by: Olof Johansson
    Signed-off-by: Sasha Levin

    Thierry Reding
     

28 Feb, 2020

2 commits


26 Feb, 2020

2 commits

  • The imx SC api strongly assumes that messages are composed out of
    4-bytes words but some of our message structs have sizeof "6" and "7".

    This produces many oopses with CONFIG_KASAN=y:

    BUG: KASAN: stack-out-of-bounds in imx_mu_send_data+0x108/0x1f0

    It shouldn't cause an issues in normal use because these structs are
    always allocated on the stack.

    Also upstream: https://patchwork.kernel.org/patch/11376909/

    Reported-by: Iuliana Prodan
    Signed-off-by: Leonard Crestez
    Reviewed-by: Jason Liu
    Reviewed-by: Aisheng Dong
    Signed-off-by: Dong Aisheng
    (cherry picked from commit 8ca6d9eb2725152404a5764fc8916f77ee82aa29)

    Leonard Crestez
     
  • The dpio irqs must be registered when you can actually
    receive interrupts, ie when the dpios are created.
    Kernel goes through NULL pointer dereference errors
    followed by kernel panic because the dpio irqs are
    enabled before the dpio is created.

    Tested-by: Grigore Popescu
    Reviewed-by: Ioana Ciornei
    Signed-off-by: Laurentiu Tudor
    Signed-off-by: Grigore Popescu
    (cherry picked from commit 50722e6685488ddadf15804c85b6da0a107d6847)

    Grigore Popescu
     

24 Feb, 2020

1 commit

  • [ Upstream commit 2d9ea1934f8ef0dfb862d103389562cc28b4fc03 ]

    Trying to read out Chip ID before APBMISC registers are mapped won't
    succeed, in a result Tegra124 gets a wrong address for the HW straps
    register if machine uses an old outdated device tree.

    Fixes: 297c4f3dcbff ("soc/tegra: fuse: Restrict legacy code to 32-bit ARM")
    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Thierry Reding
    Signed-off-by: Sasha Levin

    Dmitry Osipenko
     

15 Feb, 2020

1 commit

  • commit 5d0d4d42bed0090d3139e7c5ca1587d76d48add6 upstream.

    The 'active_only' attribute was accidentally never set to true for any
    power domains meaning that all the code handling this attribute was
    dead.

    NOTE that the RPM power domain code (as opposed to the RPMh one) gets
    this right.

    Acked-by: Rajendra Nayak
    Reviewed-by: Stephen Boyd
    Fixes: 279b7e8a62cc ("soc: qcom: rpmhpd: Add RPMh power domain driver")
    Signed-off-by: Douglas Anderson
    Link: https://lore.kernel.org/r/20190214173633.211000-1-dianders@chromium.org
    Signed-off-by: Bjorn Andersson
    Signed-off-by: Greg Kroah-Hartman

    Douglas Anderson
     

13 Feb, 2020

1 commit


06 Feb, 2020

1 commit

  • [ Upstream commit 03729cfa0d543bc996bf959e762ec999afc8f3d2 ]

    Any user of wkup_m3_ipc calls wkup_m3_ipc_get to get a handle and this
    checks the value of the static variable m3_ipc_state to see if the
    wkup_m3 is ready. Currently this is populated during probe before
    rproc_boot has been called, meaning there is a window of time that
    wkup_m3_ipc_get can return a valid handle but the wkup_m3 itself is not
    ready, leading to invalid IPC calls to the wkup_m3 and system
    instability.

    To avoid this, move the population of the m3_ipc_state variable until
    after rproc_boot has succeeded to guarantee a valid and usable handle
    is always returned.

    Reported-by: Suman Anna
    Signed-off-by: Dave Gerlach
    Acked-by: Santosh Shilimkar
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin

    Dave Gerlach
     

26 Jan, 2020

2 commits

  • commit a4e55ccd4392e70f296d12e81b93c6ca96ee21d5 upstream.

    snoop_file_poll() is defined as returning 'unsigned int' but the
    .poll method is declared as returning '__poll_t', a bitwise type.

    Fix this by using the proper return type and using the EPOLL
    constants instead of the POLL ones, as required for __poll_t.

    Link: https://lore.kernel.org/r/20191121051851.268726-1-joel@jms.id.au
    Fixes: 3772e5da4454 ("drivers/misc: Aspeed LPC snoop output using misc chardev")
    Signed-off-by: Luc Van Oostenryck
    Reviewed-by: Joel Stanley
    Reviewed-by: Andrew Jeffery
    Signed-off-by: Joel Stanley
    Signed-off-by: Olof Johansson
    Signed-off-by: Greg Kroah-Hartman

    Luc Van Oostenryck
     
  • commit 4194b583c104922c6141d6610bfbce26847959df upstream.

    If the DTB for a device with an RZ/A2 SoC lacks a device node for the
    BSID register, the ID validation code falls back to using a register at
    address 0x0, which leads to undefined behavior (e.g. reading back a
    random value).

    This could be fixed by letting fam_rza2.reg point to the actual BSID
    register. However, the hardcoded fallbacks were meant for backwards
    compatibility with old DTBs only, not for new SoCs. Hence fix this by
    validating renesas_family.reg before using it.

    Fixes: 175f435f44b724e3 ("soc: renesas: identify RZ/A2")
    Signed-off-by: Geert Uytterhoeven
    Link: https://lore.kernel.org/r/20191016143306.28995-1-geert+renesas@glider.be
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven