FILE
panfrost_features.h
File preview with syntax highlighting.
linux-6.19.14/drivers/gpu/drm/panfrost/panfrost_features.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* (C) COPYRIGHT 2014-2018 ARM Limited. All rights reserved. */ 3/* Copyright 2019 Linaro, Ltd., Rob Herring <robh@kernel.org> */ 4#ifndef __PANFROST_FEATURES_H__ 5#define __PANFROST_FEATURES_H__ 6 7#include <linux/bitops.h> 8 9#include "panfrost_device.h" 10 11enum panfrost_hw_feature { 12 HW_FEATURE_JOBCHAIN_DISAMBIGUATION, 13 HW_FEATURE_PWRON_DURING_PWROFF_TRANS, 14 HW_FEATURE_XAFFINITY, 15 HW_FEATURE_V4, 16 HW_FEATURE_FLUSH_REDUCTION, 17 HW_FEATURE_PROTECTED_MODE, 18 HW_FEATURE_COHERENCY_REG, 19 HW_FEATURE_PROTECTED_DEBUG_MODE, 20 HW_FEATURE_AARCH64_MMU, 21 HW_FEATURE_TLS_HASHING, 22 HW_FEATURE_THREAD_GROUP_SPLIT, 23 HW_FEATURE_IDVS_GROUP_SIZE, 24 HW_FEATURE_CLEAN_ONLY_SAFE, 25 HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG, 26}; 27 28#define hw_features_t600 (\ 29 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 30 BIT_ULL(HW_FEATURE_V4)) 31 32#define hw_features_t620 hw_features_t600 33 34#define hw_features_t720 hw_features_t600 35 36#define hw_features_t760 (\ 37 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 38 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 39 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 40 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT)) 41 42#define hw_features_t860 hw_features_t760 43 44#define hw_features_t880 hw_features_t760 45 46#define hw_features_t830 hw_features_t760 47 48#define hw_features_t820 hw_features_t760 49 50#define hw_features_g71 (\ 51 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 52 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 53 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 54 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 55 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 56 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 57 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 58 BIT_ULL(HW_FEATURE_COHERENCY_REG)) 59 60#define hw_features_g72 (\ 61 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 62 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 63 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 64 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 65 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 66 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 67 BIT_ULL(HW_FEATURE_PROTECTED_DEBUG_MODE) | \ 68 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 69 BIT_ULL(HW_FEATURE_COHERENCY_REG)) 70 71#define hw_features_g51 hw_features_g72 72 73#define hw_features_g52 (\ 74 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 75 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 76 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 77 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 78 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 79 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 80 BIT_ULL(HW_FEATURE_PROTECTED_DEBUG_MODE) | \ 81 BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \ 82 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 83 BIT_ULL(HW_FEATURE_COHERENCY_REG)) 84 85#define hw_features_g76 (\ 86 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 87 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 88 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 89 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 90 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 91 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 92 BIT_ULL(HW_FEATURE_PROTECTED_DEBUG_MODE) | \ 93 BIT_ULL(HW_FEATURE_COHERENCY_REG) | \ 94 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 95 BIT_ULL(HW_FEATURE_TLS_HASHING) | \ 96 BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \ 97 BIT_ULL(HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG)) 98 99#define hw_features_g31 (\ 100 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 101 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 102 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 103 BIT_ULL(HW_FEATURE_THREAD_GROUP_SPLIT) | \ 104 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 105 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 106 BIT_ULL(HW_FEATURE_PROTECTED_DEBUG_MODE) | \ 107 BIT_ULL(HW_FEATURE_COHERENCY_REG) | \ 108 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 109 BIT_ULL(HW_FEATURE_TLS_HASHING) | \ 110 BIT_ULL(HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG)) 111 112#define hw_features_g57 (\ 113 BIT_ULL(HW_FEATURE_JOBCHAIN_DISAMBIGUATION) | \ 114 BIT_ULL(HW_FEATURE_PWRON_DURING_PWROFF_TRANS) | \ 115 BIT_ULL(HW_FEATURE_XAFFINITY) | \ 116 BIT_ULL(HW_FEATURE_FLUSH_REDUCTION) | \ 117 BIT_ULL(HW_FEATURE_PROTECTED_MODE) | \ 118 BIT_ULL(HW_FEATURE_PROTECTED_DEBUG_MODE) | \ 119 BIT_ULL(HW_FEATURE_COHERENCY_REG) | \ 120 BIT_ULL(HW_FEATURE_AARCH64_MMU) | \ 121 BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \ 122 BIT_ULL(HW_FEATURE_CLEAN_ONLY_SAFE)) 123 124static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev, 125 enum panfrost_hw_feature feat) 126{ 127 return test_bit(feat, pfdev->features.hw_features); 128} 129 130#endif
~/
Read-only file preview.