26 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
     

31 Aug, 2020

2 commits


11 Aug, 2020

1 commit

  • [ Upstream commit 2a1658bf922ffd9b7907e270a7d9cdc9643fc45d ]

    Recent kernels have been reported to panic using the bochs_drm
    framebuffer under qemu-system-sparc64 which was bisected to
    commit 7a0483ac4ffc ("drm/bochs: switch to generic drm fbdev emulation").

    The backtrace indicates that the shadow framebuffer copy in
    drm_fb_helper_dirty_blit_real() is trying to access the real
    framebuffer using a virtual address rather than use an IO access
    typically implemented using a physical (ASI_PHYS) access on SPARC.

    The fix is to replace the memcpy with memcpy_toio() from io.h.

    memcpy_toio() uses writeb() where the original fbdev code
    used sbus_memcpy_toio(). The latter uses sbus_writeb().

    The difference between writeb() and sbus_memcpy_toio() is
    that writeb() writes bytes in little-endian, where sbus_writeb() writes
    bytes in big-endian. As endian does not matter for byte writes they are
    the same. So we can safely use memcpy_toio() here.

    Note that this only fixes bochs, in general fbdev helpers still have
    issues with mixing up system memory and __iomem space. Fixing that will
    require a lot more work.

    v3:
    - Improved changelog (Daniel)
    - Added FIXME to fbdev_use_iomem (Daniel)

    v2:
    - Added missing __iomem cast (kernel test robot)
    - Made changelog readable and fix typos (Mark)
    - Add flag to select iomem - and set it in the bochs driver

    Signed-off-by: Sam Ravnborg
    Reported-by: Mark Cave-Ayland
    Reported-by: kernel test robot
    Tested-by: Mark Cave-Ayland
    Reviewed-by: Daniel Vetter
    Cc: Mark Cave-Ayland
    Cc: Thomas Zimmermann
    Cc: Gerd Hoffmann
    Cc: "David S. Miller"
    Cc: sparclinux@vger.kernel.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20200709193016.291267-1-sam@ravnborg.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20200725191012.GA434957@ravnborg.org
    Signed-off-by: Sasha Levin

    Sam Ravnborg
     

24 Jul, 2020

1 commit


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
     

19 May, 2020

1 commit


10 May, 2020

1 commit

  • [ Upstream commit 83a196773b8bc6702f49df1eddc848180e350340 ]

    Analogix_dp driver acquires all its resources in the ->bind() callback,
    what is a bit against the component driver based approach, where the
    driver initialization is split into a probe(), where all resources are
    gathered, and a bind(), where all objects are created and a compound
    driver is initialized.

    Extract all the resource related operations to analogix_dp_probe() and
    analogix_dp_remove(), then call them before/after registration of the
    device components from the main Exynos DP and Rockchip DP drivers. Also
    move the plat_data initialization to the probe() to make it available for
    the analogix_dp_probe() function.

    This fixes the multiple calls to the bind() of the DRM compound driver
    when the DP PHY driver is not yet loaded/probed:

    [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
    exynos-drm exynos-drm: bound 14400000.fimd (ops fimd_component_ops [exynosdrm])
    exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops [exynosdrm])
    exynos-dp 145b0000.dp-controller: no DP phy configured
    exynos-drm exynos-drm: failed to bind 145b0000.dp-controller (ops exynos_dp_ops [exynosdrm]): -517
    exynos-drm exynos-drm: master bind failed: -517
    ...
    [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
    exynos-drm exynos-drm: bound 14400000.fimd (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 14450000.mixer (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 145b0000.dp-controller (ops hdmi_enable [exynosdrm])
    exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_enable [exynosdrm])
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    Console: switching to colour frame buffer device 170x48
    exynos-drm exynos-drm: fb0: exynosdrmfb frame buffer device
    [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 1
    ...

    Signed-off-by: Marek Szyprowski
    Acked-by: Andy Yan
    Reviewed-by: Andrzej Hajda
    Signed-off-by: Andrzej Hajda
    Link: https://patchwork.freedesktop.org/patch/msgid/20200310103427.26048-1-m.szyprowski@samsung.com
    Signed-off-by: Sasha Levin

    Marek Szyprowski
     

07 May, 2020

1 commit


29 Apr, 2020

1 commit


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
     

13 Feb, 2020

1 commit

  • This allows the HDP i.MX8QM driver to load the firmware on init
    and resume. In order to have backward compatibility, if there is
    no firmware-name property defined in the hdmi node, the driver
    probing sequence skips the firmware loading.

    Also, if u-boot has loaded already a firmware, we run with that
    but when probing the driver, the request_firmware_nowait is used
    to locate and keep safe the firmware for when suspend/resume happens.

    This leads to 4 possible scenarios:

    1. u-boot loads the firmware, the kernel driver finds the firmware
    when rootfs is mounted. This is the most desirable scenario. Also
    this is the only scenario that allows the hdmi to work after resume.

    2. u-boot loads the firmware, the kernel driver _doesn't_ find
    the firmware in rootfs. If there is no suspend ever happening,
    the kernel driver will keep using the firmware that was loaded by
    u-boot. On the first suspend/resume, the firmware is lost
    because the HDMI IP gets powered down.

    3. u-boot doesn't load the firmare, the kernel driver probing
    tries to load the firmware, assuming this is available
    (see CONFIG_EXTRA_FIRMWARE).

    4. u-boot doesn't load the firmware and the kernel driver is not
    able to find it either. The probing fails and there is no HDMI
    available in linux.

    Signed-off-by: Abel Vesa
    Reviewed-by: Sandor Yu

    Abel Vesa
     

19 Jan, 2020

1 commit


31 Dec, 2019

1 commit

  • [ Upstream commit 268de6530aa18fe5773062367fd119f0045f6e88 ]

    Spec says[1] Allocated_PBN is 16 bits

    [1]- DisplayPort 1.2 Spec, Section 2.11.9.8, Table 2-98

    Fixes: ad7f8a1f9ced ("drm/helper: add Displayport multi-stream helper (v0.6)")
    Cc: Lyude Paul
    Cc: Todd Previte
    Cc: Dave Airlie
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Lyude Paul
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829165223.129662-1-sean@poorly.run
    Signed-off-by: Sasha Levin

    Sean Paul
     

25 Dec, 2019

1 commit

  • In DRM framework, when hdmi/dp cable plugout/plugin in the same HDMI
    sink, because the video mode is same, DRM will not call mode_set.
    But for HDMI 2.0 sink the SCDC configurate will lost, and DP sink
    linktraning status will lost too after cable plugout then plugin.

    Currently, hdmi/dp driver will call mode_set function in HPD thread,
    But the mode_set function is called out of DRM framework, and it have
    chance to fail.
    In the patch add force_mode_set flag, set the crtc_state->mode_changed
    to force drm call mode_set when cable plugin.

    Signed-off-by: Sandor Yu

    Sandor Yu
     

03 Dec, 2019

1 commit


02 Dec, 2019

2 commits


29 Nov, 2019

1 commit


27 Nov, 2019

1 commit


25 Nov, 2019

16 commits


07 Nov, 2019

2 commits

  • Add missing docbook comments to madvise fields in struct
    drm_gem_shmem_object which fixes these warnings:

    include/drm/drm_gem_shmem_helper.h:87: warning: Function parameter or member 'madv' not described in 'drm_gem_shmem_object'
    include/drm/drm_gem_shmem_helper.h:87: warning: Function parameter or member 'madv_list' not described in 'drm_gem_shmem_object'

    Fixes: 17acb9f35ed7 ("drm/shmem: Add madvise state and purge helpers")
    Reported-by: Sean Paul
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: David Airlie
    Cc: Daniel Vetter
    Signed-off-by: Rob Herring
    Reviewed-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20191101153754.22803-1-robh@kernel.org

    Rob Herring
     
  • drm_self_refresh_helper_update_avg_times() was incorrectly accessing the
    new incoming state after drm_atomic_helper_commit_hw_done(). But this
    state might have already been superceeded by an !nonblock atomic update
    resulting in dereferencing an already free'd crtc_state.

    TODO I *think* this will more or less do the right thing.. althought I'm
    not 100% sure if, for example, we enter psr in a nonblock commit, and
    then leave psr in a !nonblock commit that overtakes the completion of
    the nonblock commit. Not sure if this sort of scenario can happen in
    practice. But not crashing is better than crashing, so I guess we
    should either take this patch or rever the self-refresh helpers until
    Sean can figure out a better solution.

    Fixes: d4da4e33341c ("drm: Measure Self Refresh Entry/Exit times to avoid thrashing")
    Cc: Sean Paul
    Signed-off-by: Rob Clark
    [seanpaul fixed up some checkpatch warns]
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20191104173737.142558-1-robdclark@gmail.com

    Rob Clark
     

19 Sep, 2019

1 commit

  • Currently the self refresh idle timer is a const set by the crtc. This
    is fine if the self refresh entry/exit times are well-known for all
    panels used on that crtc. However panels and workloads can vary quite a
    bit, and a timeout which works well for one doesn't work well for
    another.

    In the extreme, if the timeout is too short we could get in a situation
    where the self refresh exits are taking so long we queue up a self refresh
    entry before the exit commit is even finished.

    This patch changes the idle timeout to a moving average of the entry
    times + a moving average of exit times + the crtc constant.

    This patch was tested on rockchip, with a kevin CrOS panel the idle
    delay averages out to about ~235ms (35 entry + 100 exit + 100 const). On
    the same board, the bob panel idle delay lands around ~340ms (90 entry
    + 150 exit + 100 const).

    WRT the dedicated mutex in self_refresh_data, it would be nice if we
    could rely on drm_crtc.mutex to protect the average times, but there are
    a few reasons why a separate lock is a better choice:
    - We can't rely on drm_crtc.mutex being held if we're doing a nonblocking
    commit
    - We can't grab drm_crtc.mutex since drm_modeset_lock() doesn't tell us
    whether the lock was already held in the acquire context (it eats
    -EALREADY), so we can't tell if we should drop it or not
    - We don't need such a heavy-handed lock for what we're trying to do,
    commit ordering doesn't matter, so a point-of-use lock will be less
    contentious

    Reviewed-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link to v1: https://patchwork.freedesktop.org/patch/msgid/20190917200443.64481-2-sean@poorly.run
    Link: https://patchwork.freedesktop.org/patch/msgid/20190918200734.149876-2-sean@poorly.run

    Changes in v2:
    - Migrate locking explanation from comment to commit msg (Daniel)
    - Turf constant entry delay and multiply the avg times by 2 (Daniel)

    Sean Paul