Re: [PATCH v3 0/5] console: Miscellaneous clean-ups, do not use FNTCHARCNT() in fbcon.c

From: Greg Kroah-Hartman
Date: Sat Nov 14 2020 - 07:21:30 EST


On Sat, Nov 14, 2020 at 01:18:06PM +0100, Greg Kroah-Hartman wrote:
> On Sat, Nov 14, 2020 at 03:10:21AM -0500, Peilin Ye wrote:
> > > On Fri, Nov 13, 2020 at 10:16:33PM +0100, Daniel Vetter wrote:
> > > > On Thu, Nov 12, 2020 at 07:02:21AM -0500, Peilin Ye wrote:
> > > > > Peilin Ye (5):
> > > > > console: Delete unused con_font_copy() callback implementations
> > > > > console: Delete dummy con_font_set() and con_font_default() callback implementations
> > > > > Fonts: Add charcount field to font_desc
> > > > > parisc/sticore: Avoid hard-coding built-in font charcount
> > > > > fbcon: Avoid using FNTCHARCNT() and hard-coded built-in font charcount
> > > >
> > > > Patches all look good to me, if Greg is ok with me applying the entire
> > > > pile to drm-misc-next I'll do that next week.
> >
> > On Fri, Nov 13, 2020 at 11:47:51PM +0100, Greg Kroah-Hartman wrote:
> > > Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> >
> > Thanks for reviewing! Questions about the last patch [5/5] though, it
> > depends on the following assumption:
> >
> > """
> > For each console `idx`, `vc_cons[idx].d->vc_font.data` and
> > `fb_display[idx].fontdata` always point to the same buffer.
> > """
> >
> > Is this true? I think it is true by grepping for `fontdata`. I also
> > noticed that fbcon.c is using `vc->vc_font.data` and `p->fontdata`
> > interchangeably, see fbcon_get_requirement():
> >
> > vc = vc_cons[fg_console].d;
> > [...]
> > p = &fb_display[fg_console];
> > caps->x = 1 << (vc->vc_font.width - 1);
> > ^^^^^^^^^^^
> > caps->y = 1 << (vc->vc_font.height - 1);
> > ^^^^^^^^^^^
> > caps->len = (p->userfont) ?
> > FNTCHARCNT(p->fontdata) : 256;
> > ^^^^^^^^^^^
> >
> > If it is true, then what is the point of using `fontdata` in `struct
> > fbcon_display`? Just for the `userfont` flag? Should we delete
> > `fontdata`, when we no longer need the `userfont` flag?
>
> Yes, after a quick look, I think your analysis here is correct. So if
> you can delete that, it would be nice if possible.
>
> > In this sense I think [5/5] needs more testing. Do we have test files
> > for fbcon, or should I try to write some tests from scratch?
>
> I don't know of any direct tests, I usually just booted into that mode
> and saw if everything looked like it did before. There must be some
> tool that you can use to change the current font, as it seems to happen
> at boot time on some distros. I can't remember what it's called at the
> moment...

Ah, here's a hint:
https://wiki.archlinux.org/index.php/Linux_console#Fonts

The setfont tool should help you out here.