• Boris Brezillon's avatar
    drm/panthor: Add the device logical block · 5fe909ca
    Boris Brezillon authored
    The panthor driver is designed in a modular way, where each logical
    block is dealing with a specific HW-block or software feature. In order
    for those blocks to communicate with each other, we need a central
    panthor_device collecting all the blocks, and exposing some common
    features, like interrupt handling, power management, reset, ...
    
    This what this panthor_device logical block is about.
    
    v6:
    - Add Maxime's and Heiko's acks
    - Keep header inclusion alphabetically ordered
    
    v5:
    - Suspend the MMU/GPU blocks if panthor_fw_resume() fails in
      panthor_device_resume()
    - Move the pm_runtime_use_autosuspend() call before drm_dev_register()
    - Add Liviu's R-b
    
    v4:
    - Check drmm_mutex_init() return code
    - Fix panthor_device_reset_work() out path
    - Fix the race in the unplug logic
    - Fix typos
    - Unplug blocks when something fails in panthor_device_init()
    - Add Steve's R-b
    
    v3:
    - Add acks for the MIT+GPL2 relicensing
    - Fix 32-bit support
    - Shorten the sections protected by panthor_device::pm::mmio_lock to fix
      lock ordering issues.
    - Rename panthor_device::pm::lock into panthor_device::pm::mmio_lock to
      better reflect what this lock is protecting
    - Use dev_err_probe()
    - Make sure we call drm_dev_exit() when something fails half-way in
      panthor_device_reset_work()
    - Replace CSF_GPU_LATEST_FLUSH_ID_DEFAULT with a constant '1' and a
      comment to explain. Also remove setting the dummy flush ID on suspend.
    - Remove drm_WARN_ON() in panthor_exception_name()
    - Check pirq->suspended in panthor_xxx_irq_raw_handler()
    Co-developed-by: default avatarSteven Price <steven.price@arm.com>
    Signed-off-by: default avatarSteven Price <steven.price@arm.com>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
    Acked-by: Steven Price <steven.price@arm.com> # MIT+GPL2 relicensing,Arm
    Acked-by: Grant Likely <grant.likely@linaro.org> # MIT+GPL2 relicensing,Linaro
    Acked-by: Boris Brezillon <boris.brezillon@collabora.com> # MIT+GPL2 relicensing,Collabora
    Reviewed-by: default avatarSteven Price <steven.price@arm.com>
    Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
    Acked-by: default avatarMaxime Ripard <mripard@kernel.org>
    Acked-by: default avatarHeiko Stuebner <heiko@sntech.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240229162230.2634044-4-boris.brezillon@collabora.com
    5fe909ca
panthor_device.c 14.8 KB