Skip to content

CI: New kernel for LAVA

Tomeu Vizoso requested to merge tomeu/mesa:ci-new-kernel into master

This new kernel keeps closer track of mainline and should help with stability of Panfrost jobs.

The interesting commits include:

commit d12f8b7661b4514bb8af4cc61bac44c144a65a95 (HEAD -> v5.8-for-mesa-ci, tomeu/v5.8-for-mesa-ci)
Author: Boris Brezillon <boris.brezillon@collabora.com>
Date:   Tue Feb 4 15:35:03 2020 +0100

    drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv
    
    Jobs can be in-flight when the file descriptor is closed (either because
    the process did not terminate properly, or because it didn't wait for
    all GPU jobs to be finished), and apparently panfrost_job_close() does
    not cancel already running jobs. Let's refcount the MMU context object
    so it's lifetime is no longer bound to the FD lifetime and running jobs
    can finish properly without generating spurious page faults.
    
    Reported-by: Icecream95 <ixn@keemail.me>
    Fixes: 7282f7645d06 ("drm/panfrost: Implement per FD address spaces")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>

commit 9df0e0c1889677175037445d5ad1654d54176369
Author: Navid Emamdoost <navid.emamdoost@gmail.com>
Date:   Sun Jun 14 01:36:19 2020 -0500

    drm/panfrost: perfcnt: fix ref count leak in panfrost_perfcnt_enable_locked
    
    in panfrost_perfcnt_enable_locked, pm_runtime_get_sync is called which
    increments the counter even in case of failure, leading to incorrect
    ref count. In case of failure, decrement the ref count before returning.
    
    Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200614063619.44944-1-navid.emamdoost@gmail.com

commit fd587ff01d59554144e2fd20f4113638a45c7c4e
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:05 2020 +0200

    drm/panfrost: add regulators to devfreq
    
    Some OPP tables specify voltage for each frequency. Devfreq can
    handle these regulators but they should be get only 1 time to avoid
    issue and know who is in charge.
    
    If OPP table is probe don't init regulator.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-11-peron.clem@gmail.com

commit 512f21227fd3d2dbe7aad57a995b9732229c9b56
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:04 2020 +0200

    drm/panfrost: dynamically alloc regulators
    
    We will later introduce regulators managed by OPP.
    
    Only alloc regulators when it's needed. This also help use
    to release the regulators only when they are allocated.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-10-peron.clem@gmail.com

commit 25e247bbf85af3ad721dfeb2e2caf405f43b7e66
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:03 2020 +0200

    drm/panfrost: move devfreq_init()/fini() in device
    
    Later we will introduce devfreq probing regulator if they
    are present. As regulator should be probe only one time we
    need to get this logic in the device_init().
    
    panfrost_device is already taking care of devfreq_resume()
    and devfreq_suspend(), so it's not totally illogic to move
    the devfreq_init() and devfreq_fini() here.
    
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-9-peron.clem@gmail.com

commit d3c335da0200be9287cdf5755d19f62ce1670a8d
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:02 2020 +0200

    drm/panfrost: rename error labels in device_init
    
    Rename goto labels in device_init it will be easier to maintain.
    
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-8-peron.clem@gmail.com

commit 81f2fbe62cb54b6cf3d91078c4d49451ba7b9877
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:01 2020 +0200

    drm/panfrost: properly handle error in probe
    
    Introduce a boolean to know if opp table has been added.
    
    With this, we can call panfrost_devfreq_fini() in case of error
    and release what has been initialised.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-7-peron.clem@gmail.com

commit ed85df3f60740bb4be23fbc2db283d59b361a834
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:54:00 2020 +0200

    drm/panfrost: use spinlock instead of atomic
    
    Convert busy_count to a simple int protected by spinlock.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-6-peron.clem@gmail.com

commit 9bfacfc82f903b066b0b63460d5b7943705048a4
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:53:59 2020 +0200

    drm/panfrost: introduce panfrost_devfreq struct
    
    Introduce a proper panfrost_devfreq to deal with devfreq variables.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-5-peron.clem@gmail.com

commit eb9dd67249b55fd1fa3d7359be387ea2079247a6
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:53:58 2020 +0200

    drm/panfrost: don't use pfdevfreq.busy_count to know if hw is idle
    
    This use devfreq variable that will be lock with spinlock in future
    patches. We should either introduce a function to access this one
    but as devfreq is optional let's just remove it.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-4-peron.clem@gmail.com

commit 9713e942a539c55b5e0bc64ba83b736bda1087fe
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:53:57 2020 +0200

    drm/panfrost: clean headers in devfreq
    
    Don't include not required headers and sort them.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-3-peron.clem@gmail.com

commit 862cc626210e34501b4d7a7795c41a67785987e5
Author: Clément Péron <peron.clem@gmail.com>
Date:   Fri Jul 10 11:53:56 2020 +0200

    drm/panfrost: avoid static declaration
    
    This declaration can be avoided so change it.
    
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    Signed-off-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200710095409.407087-2-peron.clem@gmail.com

commit 72ef7fe96fd20d3d0e538e165b393819f99870ad
Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date:   Thu Jun 11 10:58:44 2020 +0200

    drm/panfrost: Add compatible string for bifrost
    
    Mesa now supports some Bifrost devices, so enable it.
    
    Tested-by: Heiko Stuebner <heiko@sntech.de>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Reviewed-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200611085900.49740-2-tomeu.vizoso@collabora.com

commit 3a74265c54f883c847ed8554129baefb3e04f135
Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date:   Thu Jun 11 10:58:43 2020 +0200

    drm/panfrost: Make sure GPU is powered on when reading GPU_LATEST_FLUSH_ID
    
    Bifrost devices do support the flush reduction feature, so on first job
    submit we were trying to read the register while still powered off.
    
    If the GPU is powered off, the feature doesn't bring any benefit, so
    don't try to read.
    
    Tested-by: Heiko Stuebner <heiko@sntech.de>
    Reviewed-by: Steven Price <steven.price@arm.com>
    Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200611085900.49740-1-tomeu.vizoso@collabora.com

Fixes: #3434 (closed)

Edited by Daniel Stone

Merge request reports