OSDN Git Service

drm/i915: Convert PIPE3/PORT3 to _PICK_EVEN_2RANGES()
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 20 Jan 2023 19:34:54 +0000 (11:34 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 27 Jan 2023 16:52:29 +0000 (08:52 -0800)
Like done for when __var_args__ were used, but size-wise it's also
benefitial to avoid _PICK() used for 3 ports/pipes:

$ size build64/drivers/gpu/drm/i915/i915.o{.old,.new}
   text    data     bss     dec     hex filename
4026288  185703    6984 4218975  40605f build64/drivers/gpu/drm/i915/i915.o.old
4025496  185703    6984 4218183  405d47 build64/drivers/gpu/drm/i915/i915.o.new

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230120193457.3295977-6-lucas.demarchi@intel.com
drivers/gpu/drm/i915/display/intel_display_reg_defs.h

index f1681e1..755c1ea 100644 (file)
@@ -13,7 +13,7 @@
 #define VLV_DISPLAY_BASE               0x180000
 
 /*
- * Named helper wrappers around _PICK_EVEN() and _PICK().
+ * Named helper wrappers around _PICK_EVEN() and _PICK_EVEN_2RANGES().
  */
 #define _PIPE(pipe, a, b)              _PICK_EVEN(pipe, a, b)
 #define _PLANE(plane, a, b)            _PICK_EVEN(plane, a, b)
@@ -29,8 +29,8 @@
 #define _MMIO_PLL(pll, a, b)           _MMIO(_PLL(pll, a, b))
 #define _MMIO_PHY(phy, a, b)           _MMIO(_PHY(phy, a, b))
 
-#define _MMIO_PIPE3(pipe, a, b, c)     _MMIO(_PICK(pipe, a, b, c))
-#define _MMIO_PORT3(pipe, a, b, c)     _MMIO(_PICK(pipe, a, b, c))
+#define _MMIO_PIPE3(pipe, a, b, c)     _MMIO(_PICK_EVEN_2RANGES(pipe, 1, a, a, b, c))
+#define _MMIO_PORT3(pipe, a, b, c)     _MMIO(_PICK_EVEN_2RANGES(pipe, 1, a, a, b, c))
 
 /*
  * Device info offset array based helpers for groups of registers with unevenly