drm/i915/dmc_wl: Use sentinel item for range tables
authorGustavo Sousa <gustavo.sousa@intel.com>
Fri, 8 Nov 2024 12:57:11 +0000 (09:57 -0300)
committerMatt Roper <matthew.d.roper@intel.com>
Fri, 8 Nov 2024 17:54:01 +0000 (09:54 -0800)
We are currently using ARRAY_SIZE() to iterate address ranges in
intel_dmc_wl_check_range(). In upcoming changes, we will be using more
than a single table and will extract the range checking logic into a
dedicated function that takes a range table as argument. As we will not
able to use ARRAY_SIZE() then, let's make range tables contain a
sentinel item at the end and use that instead of having to pass the size
as parameter in this future function.

Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241108130218.24125-7-gustavo.sousa@intel.com
drivers/gpu/drm/i915/display/intel_dmc_wl.c

index e837c39..1753c33 100644 (file)
@@ -53,6 +53,7 @@ struct intel_dmc_wl_range {
 
 static struct intel_dmc_wl_range lnl_wl_range[] = {
        { .start = 0x60000, .end = 0x7ffff },
+       {},
 };
 
 static void __intel_dmc_wl_release(struct intel_display *display)
@@ -104,7 +105,7 @@ static bool intel_dmc_wl_check_range(i915_reg_t reg)
        bool wl_needed = false;
        u32 offset = i915_mmio_reg_offset(reg);
 
-       for (i = 0; i < ARRAY_SIZE(lnl_wl_range); i++) {
+       for (i = 0; lnl_wl_range[i].start; i++) {
                if (offset >= lnl_wl_range[i].start &&
                    offset <= lnl_wl_range[i].end) {
                        wl_needed = true;