OSDN Git Service

drm/omap: avoid copy in mgr_fld_read/write
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 30 Sep 2019 10:38:35 +0000 (13:38 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 4 Oct 2019 08:30:28 +0000 (11:30 +0300)
Avoid unnecessary copy in mgr_fld_read/write by taking a pointer to the
reg_resc and using that.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190930103840.18970-3-tomi.valkeinen@ti.com
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/omapdrm/dss/dispc.c

index 4f23ff8..29e58cf 100644 (file)
@@ -365,17 +365,17 @@ static inline u32 dispc_read_reg(struct dispc_device *dispc, u16 idx)
 static u32 mgr_fld_read(struct dispc_device *dispc, enum omap_channel channel,
                        enum mgr_reg_fields regfld)
 {
-       const struct dispc_reg_field rfld = mgr_desc[channel].reg_desc[regfld];
+       const struct dispc_reg_field *rfld = &mgr_desc[channel].reg_desc[regfld];
 
-       return REG_GET(dispc, rfld.reg, rfld.high, rfld.low);
+       return REG_GET(dispc, rfld->reg, rfld->high, rfld->low);
 }
 
 static void mgr_fld_write(struct dispc_device *dispc, enum omap_channel channel,
                          enum mgr_reg_fields regfld, int val)
 {
-       const struct dispc_reg_field rfld = mgr_desc[channel].reg_desc[regfld];
+       const struct dispc_reg_field *rfld = &mgr_desc[channel].reg_desc[regfld];
 
-       REG_FLD_MOD(dispc, rfld.reg, val, rfld.high, rfld.low);
+       REG_FLD_MOD(dispc, rfld->reg, val, rfld->high, rfld->low);
 }
 
 static int dispc_get_num_ovls(struct dispc_device *dispc)