• Boris Brezillon's avatar
    drm/panthor: Add the GPU logical block · 5cd894e2
    Boris Brezillon authored
    Handles everything that's not related to the FW, the MMU or the
    scheduler. This is the block dealing with the GPU property retrieval,
    the GPU block power on/off logic, and some global operations, like
    global cache flushing.
    
    v6:
    - Add Maxime's and Heiko's acks
    
    v5:
    - Fix GPU_MODEL() kernel doc
    - Fix test in panthor_gpu_block_power_off()
    - Add Steve's R-b
    
    v4:
    - Expose CORE_FEATURES through DEV_QUERY
    
    v3:
    - Add acks for the MIT/GPL2 relicensing
    - Use macros to extract GPU ID info
    - Make sure we reset clear pending_reqs bits when wait_event_timeout()
      times out but the corresponding bit is cleared in GPU_INT_RAWSTAT
      (can happen if the IRQ is masked or HW takes to long to call the IRQ
      handler)
    - GPU_MODEL now takes separate arch and product majors to be more
      readable.
    - Drop GPU_IRQ_MCU_STATUS_CHANGED from interrupt mask.
    - Handle GPU_IRQ_PROTM_FAULT correctly (don't output registers that are
      not updated for protected interrupts).
    - Minor code tidy ups
    
    Cc: Alexey Sheplyakov <asheplyakov@basealt.ru> # MIT+GPL2 relicensing
    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>
    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-5-boris.brezillon@collabora.com
    5cd894e2
panthor_gpu.c 13.5 KB