mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
drm/amdgpu: correct ras error count type
Use unsigned long type for the same ras count variable. This will avoid overflow on 64 bit system. Signed-off-by: Guchun Chen <guchun.chen@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
789d027ec8
commit
64cc5414fb
4 changed files with 7 additions and 7 deletions
|
@ -351,7 +351,7 @@ static int amdgpu_ctx_query2(struct amdgpu_device *adev,
|
||||||
{
|
{
|
||||||
struct amdgpu_ctx *ctx;
|
struct amdgpu_ctx *ctx;
|
||||||
struct amdgpu_ctx_mgr *mgr;
|
struct amdgpu_ctx_mgr *mgr;
|
||||||
uint32_t ras_counter;
|
unsigned long ras_counter;
|
||||||
|
|
||||||
if (!fpriv)
|
if (!fpriv)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
|
@ -49,8 +49,8 @@ struct amdgpu_ctx {
|
||||||
enum drm_sched_priority override_priority;
|
enum drm_sched_priority override_priority;
|
||||||
struct mutex lock;
|
struct mutex lock;
|
||||||
atomic_t guilty;
|
atomic_t guilty;
|
||||||
uint32_t ras_counter_ce;
|
unsigned long ras_counter_ce;
|
||||||
uint32_t ras_counter_ue;
|
unsigned long ras_counter_ue;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct amdgpu_ctx_mgr {
|
struct amdgpu_ctx_mgr {
|
||||||
|
|
|
@ -688,7 +688,7 @@ int amdgpu_ras_error_cure(struct amdgpu_device *adev,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get the total error counts on all IPs */
|
/* get the total error counts on all IPs */
|
||||||
int amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
unsigned long amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
||||||
bool is_ce)
|
bool is_ce)
|
||||||
{
|
{
|
||||||
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
|
struct amdgpu_ras *con = amdgpu_ras_get_context(adev);
|
||||||
|
@ -696,7 +696,7 @@ int amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
||||||
struct ras_err_data data = {0, 0};
|
struct ras_err_data data = {0, 0};
|
||||||
|
|
||||||
if (!con)
|
if (!con)
|
||||||
return -EINVAL;
|
return 0;
|
||||||
|
|
||||||
list_for_each_entry(obj, &con->head, node) {
|
list_for_each_entry(obj, &con->head, node) {
|
||||||
struct ras_query_if info = {
|
struct ras_query_if info = {
|
||||||
|
@ -704,7 +704,7 @@ int amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (amdgpu_ras_error_query(adev, &info))
|
if (amdgpu_ras_error_query(adev, &info))
|
||||||
return -EINVAL;
|
return 0;
|
||||||
|
|
||||||
data.ce_count += info.ce_count;
|
data.ce_count += info.ce_count;
|
||||||
data.ue_count += info.ue_count;
|
data.ue_count += info.ue_count;
|
||||||
|
|
|
@ -484,7 +484,7 @@ int amdgpu_ras_request_reset_on_boot(struct amdgpu_device *adev,
|
||||||
void amdgpu_ras_resume(struct amdgpu_device *adev);
|
void amdgpu_ras_resume(struct amdgpu_device *adev);
|
||||||
void amdgpu_ras_suspend(struct amdgpu_device *adev);
|
void amdgpu_ras_suspend(struct amdgpu_device *adev);
|
||||||
|
|
||||||
int amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
unsigned long amdgpu_ras_query_error_count(struct amdgpu_device *adev,
|
||||||
bool is_ce);
|
bool is_ce);
|
||||||
|
|
||||||
/* error handling functions */
|
/* error handling functions */
|
||||||
|
|
Loading…
Reference in a new issue