04 Jan, 2021

1 commit

  • This is the 5.10.4 stable release

    * tag 'v5.10.4': (717 commits)
    Linux 5.10.4
    x86/CPU/AMD: Save AMD NodeId as cpu_die_id
    drm/edid: fix objtool warning in drm_cvt_modes()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/gpu/drm/imx/dcss/dcss-plane.c
    drivers/media/i2c/ov5640.c

    Jason Liu
     

30 Dec, 2020

6 commits

  • commit 61a6d854b9555b420fbfae62ef26baa8b9493b32 upstream.

    rpcif_enable_rpm calls pm_runtime_enable, so rpcif_disable_rpm needs to
    call pm_runtime_disable and not pm_runtime_put_sync.

    Fixes: ca7d8b980b67f ("memory: add Renesas RPC-IF driver")
    Reported-by: Geert Uytterhoeven
    Signed-off-by: Lad Prabhakar
    Reviewed-by: Sergei Shtylyov
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20201126191146.8753-3-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Greg Kroah-Hartman

    Lad Prabhakar
     
  • commit a0453f4ed066cae651b3119ed11f52d31dae1eca upstream.

    In the error path of rpcif_manual_xfer() the value of ret is overwritten
    by value returned by reset_control_reset() function and thus returning
    incorrect value to the caller.

    This patch makes sure the correct value is returned to the caller of
    rpcif_manual_xfer() by dropping the overwrite of ret in error path.
    Also now we ignore the value returned by reset_control_reset() in the
    error path and instead print a error message when it fails.

    Fixes: ca7d8b980b67f ("memory: add Renesas RPC-IF driver")
    Reported-by: Pavel Machek
    Signed-off-by: Lad Prabhakar
    Reviewed-by: Sergei Shtylyov
    Reviewed-by: Geert Uytterhoeven
    Reviewed-by: Pavel Machek (CIP)
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20201126191146.8753-2-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Greg Kroah-Hartman

    Lad Prabhakar
     
  • commit 4e6b86b409f9fc63fedb39d6e3a0202c4b0244ce upstream.

    Release the node reference by calling of_node_put(flash) in the probe.

    Fixes: ca7d8b980b67f ("memory: add Renesas RPC-IF driver")
    Reported-by: Pavel Machek
    Signed-off-by: Lad Prabhakar
    Reviewed-by: Sergei Shtylyov
    Reviewed-by: Geert Uytterhoeven
    Reviewed-by: Pavel Machek (CIP)
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20201126191146.8753-4-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Greg Kroah-Hartman

    Lad Prabhakar
     
  • commit 96999c797ec1ef41259f00b4ddf9cf33b342cb78 upstream.

    The devm_ioremap() function returns NULL on error, it doesn't return
    error pointers. This bug could lead to an Oops during probe.

    Fixes: f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the driver will use")
    Cc:
    Signed-off-by: Dan Carpenter
    Reviewed-by: Paul Cercueil
    Link: https://lore.kernel.org/r/20200803143607.GC346925@mwanda
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • [ Upstream commit 4bfa07300b9334b487ed4f3d4901c35ebb31b7ca ]

    platform_get_resource() may fail and return NULL, so we should
    better check it's return value to avoid a NULL pointer dereference
    a bit later in the code.

    This is detected by Coccinelle semantic patch.

    Fixes: 911a88829725 ("memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs")
    Signed-off-by: Zhang Changzhong
    Acked-by: Paul Cercueil
    Link: https://lore.kernel.org/r/1607070717-32880-1-git-send-email-zhangchangzhong@huawei.com
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Sasha Levin

    Zhang Changzhong
     
  • [ Upstream commit d77d22d701b0471584abe1871570bb43deb6e3c4 ]

    The driver can be compile-tested on all ARM machines, but
    causes a failure when built for ARMv7-M:

    arm-linux-gnueabi-ld: error: drivers/memory/ti-emif-sram-pm.o: conflicting architecture profiles A/M

    Limit the target machines to configurations that have ARMv7 enabled.

    Fixes: ea0c0ad6b6eb ("memory: Enable compile testing for most of the drivers")
    Signed-off-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20201203230832.1481767-1-arnd@kernel.org
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Sasha Levin

    Arnd Bergmann
     

14 Dec, 2020

1 commit


25 Oct, 2020

1 commit

  • Pull ARM SoC-related driver updates from Olof Johansson:
    "Various driver updates for platforms. A bulk of this is smaller fixes
    or cleanups, but some of the new material this time around is:

    - Support for Nvidia Tegra234 SoC

    - Ring accelerator support for TI AM65x

    - PRUSS driver for TI platforms

    - Renesas support for R-Car V3U SoC

    - Reset support for Cortex-M4 processor on i.MX8MQ

    There are also new socinfo entries for a handful of different SoCs and
    platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (131 commits)
    drm/mediatek: reduce clear event
    soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
    soc: mediatek: cmdq: add jump function
    soc: mediatek: cmdq: add write_s_mask value function
    soc: mediatek: cmdq: add write_s value function
    soc: mediatek: cmdq: add read_s function
    soc: mediatek: cmdq: add write_s_mask function
    soc: mediatek: cmdq: add write_s function
    soc: mediatek: cmdq: add address shift in jump
    soc: mediatek: mtk-infracfg: Fix kerneldoc
    soc: amlogic: pm-domains: use always-on flag
    reset: sti: reset-syscfg: fix struct description warnings
    reset: imx7: add the cm4 reset for i.MX8MQ
    dt-bindings: reset: imx8mq: add m4 reset
    reset: Fix and extend kerneldoc
    reset: reset-zynqmp: Added support for Versal platform
    dt-bindings: reset: Updated binding for Versal reset driver
    reset: imx7: Support module build
    soc: fsl: qe: Remove unnessesary check in ucc_set_tdm_rxtx_clk
    soc: fsl: qman: convert to use be32_add_cpu()
    ...

    Linus Torvalds
     

15 Oct, 2020

1 commit

  • Pull iommu updates from Joerg Roedel:

    - ARM-SMMU Updates from Will:

    - Continued SVM enablement, where page-table is shared with CPU

    - Groundwork to support integrated SMMU with Adreno GPU

    - Allow disabling of MSI-based polling on the kernel command-line

    - Minor driver fixes and cleanups (octal permissions, error
    messages, ...)

    - Secure Nested Paging Support for AMD IOMMU. The IOMMU will fault when
    a device tries DMA on memory owned by a guest. This needs new
    fault-types as well as a rewrite of the IOMMU memory semaphore for
    command completions.

    - Allow broken Intel IOMMUs (wrong address widths reported) to still be
    used for interrupt remapping.

    - IOMMU UAPI updates for supporting vSVA, where the IOMMU can access
    address spaces of processes running in a VM.

    - Support for the MT8167 IOMMU in the Mediatek IOMMU driver.

    - Device-tree updates for the Renesas driver to support r8a7742.

    - Several smaller fixes and cleanups all over the place.

    * tag 'iommu-updates-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (57 commits)
    iommu/vt-d: Gracefully handle DMAR units with no supported address widths
    iommu/vt-d: Check UAPI data processed by IOMMU core
    iommu/uapi: Handle data and argsz filled by users
    iommu/uapi: Rename uapi functions
    iommu/uapi: Use named union for user data
    iommu/uapi: Add argsz for user filled data
    docs: IOMMU user API
    iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate()
    iommu/arm-smmu-v3: Add SVA device feature
    iommu/arm-smmu-v3: Check for SVA features
    iommu/arm-smmu-v3: Seize private ASID
    iommu/arm-smmu-v3: Share process page tables
    iommu/arm-smmu-v3: Move definitions to a header
    iommu/io-pgtable-arm: Move some definitions to a header
    iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer
    iommu/amd: Re-purpose Exclusion range registers to support SNP CWWB
    iommu/amd: Add support for RMP_PAGE_FAULT and RMP_HW_ERR
    iommu/amd: Use 4K page for completion wait write-back semaphore
    iommu/tegra-smmu: Allow to group clients in same swgroup
    iommu/tegra-smmu: Fix iova->phys translation
    ...

    Linus Torvalds
     

29 Sep, 2020

1 commit

  • Previously, devfreq core support 'devfreq-events' property in order to get
    the devfreq-event device by phandle. But, 'devfreq-events' property name is
    not proper on devicetree binding because this name doesn't mean
    the any h/w attribute.

    The devfreq-event core hand over the rights to decide the property name
    for getting the devfreq-event device on devicetree. Each devfreq-event driver
    will decide the property name on devicetree binding and then pass
    the their own property name to devfreq_event_get_edev_by_phandle function.

    And change the prototype of devfreq_event_get_edev_count function
    because of used deprecated 'devfreq-events' property.

    Acked-by: Krzysztof Kozlowski
    Signed-off-by: Chanwoo Choi

    Chanwoo Choi
     

21 Sep, 2020

2 commits

  • Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.

    Along with this change, we get additionally:
    .owner = THIS_MODULE,
    .llseek = seq_lseek,

    1. The llseek method is used to change the current read/write position
    in a file which can be ignored if you don't use it.
    2. The owner is not even a method. Instead, it is a pointer to the
    module that “owns” this structure; it is used by the kernel to maintain
    the module's usage count which can be ignored.

    Signed-off-by: Qinglang Miao
    Link: https://lore.kernel.org/r/20200917125113.103550-1-miaoqinglang@huawei.com
    Signed-off-by: Krzysztof Kozlowski

    Qinglang Miao
     
  • Use DEFINE_SHOW_ATTRIBUTE macro to simplify the code.

    Signed-off-by: Qinglang Miao
    Link: https://lore.kernel.org/r/20200917125114.103598-1-miaoqinglang@huawei.com
    Signed-off-by: Krzysztof Kozlowski

    Qinglang Miao
     

18 Sep, 2020

1 commit

  • According to Tegra210 TRM, the default value of TLB_ACTIVE_LINES
    field of register MC_SMMU_TLB_CONFIG_0 is 0x30. So num_tlb_lines
    should be 48 (0x30) rather than 32 (0x20).

    Signed-off-by: Nicolin Chen
    Acked-by: Thierry Reding
    Link: https://lore.kernel.org/r/20200917113155.13438-3-nicoleotsuka@gmail.com
    Signed-off-by: Joerg Roedel

    Nicolin Chen
     

17 Sep, 2020

1 commit

  • SPARC comes without CONFIG_OF_ADDRESS thus compile testing fails on
    linking:

    /usr/bin/sparc64-linux-gnu-ld: drivers/memory/omap-gpmc.o: in function `gpmc_probe_generic_child':
    omap-gpmc.c:(.text.unlikely+0x14ec): undefined reference to `of_platform_device_create'

    Fixes: ea0c0ad6b6eb ("memory: Enable compile testing for most of the drivers")
    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Roger Quadros
    Link: https://lore.kernel.org/r/20200911143251.399-1-krzk@kernel.org

    Krzysztof Kozlowski
     

10 Sep, 2020

1 commit


09 Sep, 2020

1 commit


02 Sep, 2020

8 commits

  • platform_get_irq() returns -ERRNO on error. In such case comparison
    to 0 would pass the check.

    Fixes: 54afbec0d57f ("memory: Freescale CoreNet Coherency Fabric error reporting driver")
    Signed-off-by: Krzysztof Kozlowski
    Link: https://lore.kernel.org/r/20200827073315.29351-1-krzk@kernel.org

    Krzysztof Kozlowski
     
  • If CONFIG_OF is not set, make W=1 warns:

    drivers/memory/omap-gpmc.c:987:12: warning: ‘gpmc_cs_remap’ defined but not used [-Wunused-function]
    drivers/memory/omap-gpmc.c:926:20: warning: ‘gpmc_cs_get_name’ defined but not used [-Wunused-function]
    drivers/memory/omap-gpmc.c:919:13: warning: ‘gpmc_cs_set_name’ defined but not used [-Wunused-function]

    Move them to #ifdef CONFIG_OF block to fix this.

    Signed-off-by: YueHaibing
    Acked-by: Roger Quadros
    Link: https://lore.kernel.org/r/20200901112832.3084-1-yuehaibing%40huawei.com
    Signed-off-by: Krzysztof Kozlowski

    YueHaibing
     
  • Commit 63a613fdb16c ("memory: tegra: Add gr2d and gr3d to DRM IOMMU
    group") added the GPU to the DRM IOMMU group, which doesn't make any
    sense. This causes problems when Nouveau tries to attach to the SMMU
    and causes it to fall back to using the DMA API.

    Remove the GPU from the DRM groups to restore the old behaviour. The
    GPU should always have its own IOMMU domain to make sure it can map
    buffers into contiguous chunks (for big page support) without getting
    in the way of mappings from the DRM group.

    Cc:
    Fixes: 63a613fdb16c ("memory: tegra: Add gr2d and gr3d to DRM IOMMU group")
    Reported-by: Matias Zuniga
    Signed-off-by: Thierry Reding
    Reviewed-by: Dmitry Osipenko
    Link: https://lore.kernel.org/r/20200901153248.1831263-1-thierry.reding@gmail.com
    Signed-off-by: Krzysztof Kozlowski

    Thierry Reding
     
  • 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/20200828153747.22358-2-krzk@kernel.org

    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
    Acked-by: Florian Fainelli
    Acked-by: Markus Mayer
    Link: https://lore.kernel.org/r/20200828153747.22358-1-krzk@kernel.org

    Krzysztof Kozlowski
     
  • Add missing kerneldoc to struct exynos5_dmc and correct the existing
    kerneldoc in other places to fix W=1 warnings like:

    drivers/memory/samsung/exynos5422-dmc.c:107: warning: Function parameter or member 'freq_hz' not described in 'dmc_opp_table'
    drivers/memory/samsung/exynos5422-dmc.c:154: warning: Function parameter or member 'dev' not described in 'exynos5_dmc'
    drivers/memory/samsung/exynos5422-dmc.c:357: warning: Excess function parameter 'param' description in 'exynos5_set_bypass_dram_timings'
    drivers/memory/samsung/exynos5422-dmc.c:630: warning: Function parameter or member 'flags' not described in 'exynos5_dmc_get_volt_freq'
    drivers/memory/samsung/exynos5422-dmc.c:962: warning: cannot understand function prototype: 'struct devfreq_dev_profile exynos5_dmc_df_profile = '
    drivers/memory/samsung/exynos5422-dmc.c:1011: warning: Function parameter or member 'reg_timing_row' not described in 'create_timings_aligned'
    drivers/memory/samsung/exynos5422-dmc.c:1011: warning: Excess function parameter 'idx' description in 'create_timings_aligned'
    drivers/memory/samsung/exynos5422-dmc.c:1345: warning: Excess function parameter 'set' description in 'exynos5_dmc_set_pause_on_switching'

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Lukasz Luba
    Link: https://lore.kernel.org/r/20200822163218.21857-3-krzk@kernel.org

    Krzysztof Kozlowski
     
  • The struct exynos5_dmc members bypass_rate, mx_mspll_ccore_phy,
    mout_mx_mspll_ccore_phy and opp_bypass are not actually used.

    Apparently there was a plan to store the OPP for the bypass mode in
    opp_bypass member, but driver fails to do it and instead always sets
    target voltage during bypass mode.

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

    Krzysztof Kozlowski
     
  • The driver has file-scope arrays defining fields of timing registers
    (e.g. struct timing_reg timing_row) and actual values for these
    registers per each OPP in state container (struct
    exynos5_dmc.timing_row). The meanings of these are different so use
    different names to avoid confusion.

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Lukasz Luba
    Link: https://lore.kernel.org/r/20200822163218.21857-1-krzk@kernel.org

    Krzysztof Kozlowski
     

28 Aug, 2020

2 commits

  • Callers are generally not supposed to check the return values from
    debugfs functions. Debugfs functions never return NULL so this error
    handling will never trigger. (Historically debugfs functions used to
    return a mix of NULL and error pointers but it was eventually deemed too
    complicated for something which wasn't intended to be used in normal
    situations).

    Delete all the error handling.

    Signed-off-by: Dan Carpenter
    Acked-by: Santosh Shilimkar
    Link: https://lore.kernel.org/r/20200826113759.GF393664@mwanda
    Signed-off-by: Krzysztof Kozlowski

    Dan Carpenter
     
  • If CONFIG_OF is n, gcc fails:

    drivers/memory/omap-gpmc.o: In function `gpmc_omap_onenand_set_timings':
    omap-gpmc.c:(.text+0x2a88): undefined reference to `gpmc_read_settings_dt'

    Add gpmc_read_settings_dt() helper function, which zero the gpmc_settings
    so the caller doesn't proceed with random/invalid settings.

    Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
    Signed-off-by: YueHaibing
    Acked-by: Roger Quadros
    Link: https://lore.kernel.org/r/20200827125316.20780-1-yuehaibing@huawei.com
    Signed-off-by: Krzysztof Kozlowski

    YueHaibing
     

27 Aug, 2020

1 commit

  • These comparisons should be >= instead of > to prevent reading one
    element beyond the end of the gpmc_cs[] array.

    Fixes: cdd6928c589a ("ARM: OMAP2+: Add device-tree support for NOR flash")
    Fixes: f37e4580c409 ("ARM: OMAP2: Dynamic allocator for GPMC memory space")
    Signed-off-by: Dan Carpenter
    Acked-by: Roger Quadros
    Link: https://lore.kernel.org/r/20200825104707.GB278587@mwanda
    Signed-off-by: Krzysztof Kozlowski

    Dan Carpenter
     

24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

23 Aug, 2020

1 commit

  • We would overrun the error_text array if we hit a TIMEOUT condition,
    because we were using the error code "ETIMEDOUT" (which is 110) as an
    array index.

    We fix the problem by correcting the array index and by providing a
    function to retrieve error messages rather than accessing the array
    directly. The function includes a bounds check that prevents the array
    from being overrun.

    Link: https://lore.kernel.org/linux-arm-kernel/38d00022-730c-948a-917c-d86382df8cb9@canonical.com/
    Link: https://lore.kernel.org/r/20200822205000.15841-1-mmayer@broadcom.com
    Fixes: 2f330caff577 ("memory: brcmstb: Add driver for DPFE")
    Reported-by: Colin Ian King
    Signed-off-by: Markus Mayer
    Acked-by: Florian Fainelli
    Signed-off-by: Krzysztof Kozlowski

    Markus Mayer
     

21 Aug, 2020

1 commit

  • In brcmstb_dpfe_download_firmware(), memory is allocated to variable fw by
    firmware_request_nowarn(), but never released. Fix up to release fw on
    all return paths.

    Cc:
    Fixes: 2f330caff577 ("memory: brcmstb: Add driver for DPFE")
    Signed-off-by: Alex Dewar
    Acked-by: Markus Mayer
    Acked-by: Florian Fainelli
    Link: https://lore.kernel.org/r/20200820172118.781324-1-alex.dewar90@gmail.com
    Signed-off-by: Krzysztof Kozlowski

    Alex Dewar
     

20 Aug, 2020

1 commit

  • According to Tegra X1 (Tegra210) TRM, the APEW field is between
    [23:16] so the shift bit for apew should be 16 accordingly.

    Signed-off-by: Nicolin Chen
    Link: https://lore.kernel.org/r/20200818095121.13645-1-nicoleotsuka@gmail.com
    Signed-off-by: Krzysztof Kozlowski

    Nicolin Chen
     

18 Aug, 2020

8 commits