On Thu, Oct 15, 2026 at 02:50:26PM +0100, Daniel Stone wrote:
> Mali v14+ can optionally feature a neural engine. This is not currently
> used by Panthor, but add the bare-minimum bits required to detect the
> engine's presence and control its power.
> 
> Signed-off-by: Daniel Stone <[email protected]>

Reviewed-by: Liviu Dudau <[email protected]>

Best regards,
Liviu

> ---
>  drivers/gpu/drm/panthor/panthor_gpu_regs.h | 1 +
>  drivers/gpu/drm/panthor/panthor_hw.h       | 6 ++++++
>  drivers/gpu/drm/panthor/panthor_pwr_regs.h | 7 +++++++
>  3 files changed, 14 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panthor/panthor_gpu_regs.h 
> b/drivers/gpu/drm/panthor/panthor_gpu_regs.h
> index 4c5b953796e4f..5340966caef37 100644
> --- a/drivers/gpu/drm/panthor/panthor_gpu_regs.h
> +++ b/drivers/gpu/drm/panthor/panthor_gpu_regs.h
> @@ -67,6 +67,7 @@
>  
>  #define GPU_FEATURES                                 0x60
>  #define   GPU_FEATURES_RAY_INTERSECTION                      BIT(2)
> +#define   GPU_FEATURES_NEURAL_ENGINE                 BIT(4)
>  #define   GPU_FEATURES_RAY_TRAVERSAL                 BIT(5)
>  
>  #define GPU_TIMESTAMP_OFFSET                         0x88
> diff --git a/drivers/gpu/drm/panthor/panthor_hw.h 
> b/drivers/gpu/drm/panthor/panthor_hw.h
> index f797663893b2d..924faea27061a 100644
> --- a/drivers/gpu/drm/panthor/panthor_hw.h
> +++ b/drivers/gpu/drm/panthor/panthor_hw.h
> @@ -61,4 +61,10 @@ static inline bool panthor_hw_has_pwr_ctrl(struct 
> panthor_device *ptdev)
>       return GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id) >= 14;
>  }
>  
> +static inline bool panthor_hw_has_neural(struct panthor_device *ptdev)
> +{
> +     return (GPU_ARCH_MAJOR(ptdev->gpu_info.gpu_id) >= 14 &&
> +             ptdev->gpu_info.gpu_features & GPU_FEATURES_NEURAL_ENGINE);
> +}
> +
>  #endif /* __PANTHOR_HW_H__ */
> diff --git a/drivers/gpu/drm/panthor/panthor_pwr_regs.h 
> b/drivers/gpu/drm/panthor/panthor_pwr_regs.h
> index 9cf7a715066f8..80d8e1e522298 100644
> --- a/drivers/gpu/drm/panthor/panthor_pwr_regs.h
> +++ b/drivers/gpu/drm/panthor/panthor_pwr_regs.h
> @@ -20,12 +20,14 @@
>  #define   PWR_STATUS_ALLOW_L2                                BIT_U64(0)
>  #define   PWR_STATUS_ALLOW_TILER                     BIT_U64(1)
>  #define   PWR_STATUS_ALLOW_SHADER                    BIT_U64(8)
> +#define   PWR_STATUS_ALLOW_NEURAL                    BIT_U64(9)
>  #define   PWR_STATUS_ALLOW_BASE                              BIT_U64(14)
>  #define   PWR_STATUS_ALLOW_STACK                     BIT_U64(15)
>  #define   PWR_STATUS_DOMAIN_ALLOWED(x)                       BIT_U64(x)
>  #define   PWR_STATUS_DELEGATED_L2                    BIT_U64(16)
>  #define   PWR_STATUS_DELEGATED_TILER                 BIT_U64(17)
>  #define   PWR_STATUS_DELEGATED_SHADER                        BIT_U64(24)
> +#define   PWR_STATUS_DELEGATED_NEURAL                        BIT_U64(25)
>  #define   PWR_STATUS_DELEGATED_BASE                  BIT_U64(30)
>  #define   PWR_STATUS_DELEGATED_STACK                 BIT_U64(31)
>  #define   PWR_STATUS_DELEGATED_SHIFT                 16
> @@ -48,6 +50,7 @@
>  #define   PWR_COMMAND_DOMAIN_L2                              0
>  #define   PWR_COMMAND_DOMAIN_TILER                   1
>  #define   PWR_COMMAND_DOMAIN_SHADER                  8
> +#define   PWR_COMMAND_DOMAIN_NEURAL                  9
>  #define   PWR_COMMAND_DOMAIN_BASE                    14
>  #define   PWR_COMMAND_DOMAIN_STACK                   15
>  #define   PWR_COMMAND_SUBDOMAIN_RTU                  BIT(0)
> @@ -68,6 +71,10 @@
>  #define PWR_SHADER_READY                             0x208
>  #define PWR_SHADER_PWRTRANS                          0x210
>  #define PWR_SHADER_PWRACTIVE                         0x218
> +#define PWR_NEURAL_PRESENT                           0x240
> +#define PWR_NEURAL_READY                             0x248
> +#define PWR_NEURAL_PWRTRANS                          0x250
> +#define PWR_NEURAL_PWRACTIVE                         0x258
>  #define PWR_BASE_PRESENT                             0x380
>  #define PWR_BASE_READY                                       0x388
>  #define PWR_BASE_PWRTRANS                            0x390
> -- 
> 2.47.3
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

Reply via email to