summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_hw.c
diff options
context:
space:
mode:
authorSidath Senanayake <sidaths@google.com>2018-12-06 09:09:59 +0100
committerSidath Senanayake <sidaths@google.com>2018-12-06 09:09:59 +0100
commita970431fa55f99aba31ea4263fdc8e70019a9ccd (patch)
tree91bb7f49a4869c0385338fe144f53ac8b98468ea /mali_kbase/mali_kbase_hw.c
parentf10b3de5283d0c196459f18160161e48cfadae81 (diff)
downloadgpu-a970431fa55f99aba31ea4263fdc8e70019a9ccd.tar.gz
Mali Bifrost DDK r16p0 KMD
Provenance: aa8b3ff0f (collaborate/EAC/b_r16p0) BX304L01B-BU-00000-r16p0-01rel0 BX304L06A-BU-00000-r16p0-01rel0 BX304X07X-BU-00000-r16p0-01rel0 Signed-off-by: Sidath Senanayake <sidaths@google.com> Change-Id: I96125862b7cf6596d1b7109853fb4ca39e851056
Diffstat (limited to 'mali_kbase/mali_kbase_hw.c')
-rw-r--r--mali_kbase/mali_kbase_hw.c42
1 files changed, 24 insertions, 18 deletions
diff --git a/mali_kbase/mali_kbase_hw.c b/mali_kbase/mali_kbase_hw.c
index fc6b644..450926c 100644
--- a/mali_kbase/mali_kbase_hw.c
+++ b/mali_kbase/mali_kbase_hw.c
@@ -74,12 +74,12 @@ void kbase_hw_set_features_mask(struct kbase_device *kbdev)
case GPU_ID2_PRODUCT_TNAX:
features = base_hw_features_tNAx;
break;
+ case GPU_ID2_PRODUCT_TBEX:
+ features = base_hw_features_tBEx;
+ break;
case GPU_ID2_PRODUCT_TULX:
features = base_hw_features_tULx;
break;
- case GPU_ID2_PRODUCT_TDUX:
- features = base_hw_features_tDUx;
- break;
case GPU_ID2_PRODUCT_TBOX:
features = base_hw_features_tBOx;
break;
@@ -213,12 +213,12 @@ static const enum base_hw_issue *kbase_hw_get_issues_for_new_id(
{{GPU_ID2_VERSION_MAKE(0, 0, 0), base_hw_issues_tNAx_r0p0},
{U32_MAX, NULL} } },
- {GPU_ID2_PRODUCT_TULX,
- {{GPU_ID2_VERSION_MAKE(0, 0, 0), base_hw_issues_tULx_r0p0},
+ {GPU_ID2_PRODUCT_TBEX,
+ {{GPU_ID2_VERSION_MAKE(0, 0, 0), base_hw_issues_tBEx_r0p0},
{U32_MAX, NULL} } },
- {GPU_ID2_PRODUCT_TDUX,
- {{GPU_ID2_VERSION_MAKE(0, 0, 0), base_hw_issues_tDUx_r0p0},
+ {GPU_ID2_PRODUCT_TULX,
+ {{GPU_ID2_VERSION_MAKE(0, 0, 0), base_hw_issues_tULx_r0p0},
{U32_MAX, NULL} } },
{GPU_ID2_PRODUCT_TBOX,
@@ -250,10 +250,8 @@ static const enum base_hw_issue *kbase_hw_get_issues_for_new_id(
if (product != NULL) {
/* Found a matching product. */
const u32 version = gpu_id & GPU_ID2_VERSION;
-#if !MALI_CUSTOMER_RELEASE
u32 fallback_version = 0;
const enum base_hw_issue *fallback_issues = NULL;
-#endif
size_t v;
/* Stop when we reach the end of the map. */
@@ -265,25 +263,34 @@ static const enum base_hw_issue *kbase_hw_get_issues_for_new_id(
break;
}
-#if !MALI_CUSTOMER_RELEASE
/* Check whether this is a candidate for most recent
known version not later than the actual
version. */
if ((version > product->map[v].version) &&
(product->map[v].version >= fallback_version)) {
- fallback_version = product->map[v].version;
- fallback_issues = product->map[v].issues;
- }
+#if MALI_CUSTOMER_RELEASE
+ /* Match on version's major and minor fields */
+ if (((version ^ product->map[v].version) >>
+ GPU_ID2_VERSION_MINOR_SHIFT) == 0)
#endif
+ {
+ fallback_version = product->map[v].version;
+ fallback_issues = product->map[v].issues;
+ }
+ }
}
-#if !MALI_CUSTOMER_RELEASE
if ((issues == NULL) && (fallback_issues != NULL)) {
/* Fall back to the issue set of the most recent known
version not later than the actual version. */
issues = fallback_issues;
+#if MALI_CUSTOMER_RELEASE
+ dev_warn(kbdev->dev,
+ "GPU hardware issue table may need updating:\n"
+#else
dev_info(kbdev->dev,
+#endif
"r%dp%d status %d is unknown; treating as r%dp%d status %d",
(gpu_id & GPU_ID2_VERSION_MAJOR) >>
GPU_ID2_VERSION_MAJOR_SHIFT,
@@ -305,7 +312,6 @@ static const enum base_hw_issue *kbase_hw_get_issues_for_new_id(
kbase_gpuprops_update_core_props_gpu_id(
&kbdev->gpu_props.props);
}
-#endif
}
return issues;
}
@@ -467,12 +473,12 @@ int kbase_hw_set_issues_mask(struct kbase_device *kbdev)
case GPU_ID2_PRODUCT_TNAX:
issues = base_hw_issues_model_tNAx;
break;
+ case GPU_ID2_PRODUCT_TBEX:
+ issues = base_hw_issues_model_tBEx;
+ break;
case GPU_ID2_PRODUCT_TULX:
issues = base_hw_issues_model_tULx;
break;
- case GPU_ID2_PRODUCT_TDUX:
- issues = base_hw_issues_model_tDUx;
- break;
case GPU_ID2_PRODUCT_TBOX:
issues = base_hw_issues_model_tBOx;
break;