On 1/28/2026 12:45 PM, Raag Jadav wrote:
On Wed, Jan 28, 2026 at 12:21:18PM +0530, Riana Tauro wrote:
On 1/20/2026 10:31 PM, Raag Jadav wrote:
On Mon, Jan 19, 2026 at 09:30:24AM +0530, Riana Tauro wrote:
Allocate correctable, uncorrectable nodes for every xe device
Each node contains error classes, counters and respective
query counter functions.

...

+static int hw_query_error_counter(struct xe_drm_ras_counter *info,
+                                 u32 error_id, const char **name, u32 *val)
+{
+       if (error_id < DRM_XE_RAS_ERROR_CLASS_GT || error_id >= 
DRM_XE_RAS_ERROR_CLASS_MAX)

This looks like it can be in_range().

in_range has start+len. Should again use count here.
This seems simpler

I just had another look at this and wondering if we really need lower
bound check? error_id is already unsigned right?


added this because error_id starts from 1 and not 0.

the entire condition can be removed. This is already being checked in the first patch

+       if (error_id < node->error_counter_range.first ||
+           error_id > node->error_counter_range.last)
+               return -EINVAL;

Will remove this in next rev

Thanks
Riana


Raag

+               return -EINVAL;
+
+       if (!info[error_id].name)
+               return -ENOENT;
+
+       *name = info[error_id].name;
+       *val = atomic64_read(&info[error_id].counter);
+
+       return 0;
+}

Reply via email to