When testing the row and column increase for efifb on a 1920x1080 display I noticed the top part of the screen continues to contain part of a white on blue line from earlier in the dmesg even after the machine has finished booting.
RI_CENTER changes the ri_bits offset, doing RI_CLEARMARGINS in cnremap clears the fragment of a line caused by using RI_CENTER. Index: efifb.c =================================================================== RCS file: /cvs/src/sys/arch/amd64/amd64/efifb.c,v retrieving revision 1.31 diff -u -p -r1.31 efifb.c --- efifb.c 27 May 2020 07:48:02 -0000 1.31 +++ efifb.c 27 May 2020 09:27:50 -0000 @@ -219,7 +219,7 @@ efifb_attach(struct device *parent, stru crow = ri->ri_crow; efifb_rasops_preinit(fb); - ri->ri_flg &= ~RI_CLEAR; + ri->ri_flg &= ~(RI_CLEAR | RI_CLEARMARGINS); ri->ri_flg |= RI_VCONS | RI_WRONLY; rasops_init(ri, efifb_std_descr.nrows, efifb_std_descr.ncols); @@ -478,7 +478,7 @@ efifb_cnremap(void) efifb_rasops_preinit(fb); ri->ri_flg &= ~RI_CLEAR; - ri->ri_flg |= RI_CENTER | RI_WRONLY; + ri->ri_flg |= RI_CENTER | RI_WRONLY | RI_CLEARMARGINS; rasops_init(ri, efifb_std_descr.nrows, efifb_std_descr.ncols);