From: Alexey Gladkov <legion@kernel.org>
To: Jiri Slaby <jirislaby@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [RFC PATCH v1 3/5] sticon: Allow to get max font width and height
Date: Fri, 16 Feb 2024 14:03:29 +0100 [thread overview]
Message-ID: <Zc9dIRLbna585cGM@example.org> (raw)
In-Reply-To: <7c91e5e0-a6eb-4d53-89ed-efde04f57c7c@kernel.org>
On Fri, Feb 16, 2024 at 08:10:15AM +0100, Jiri Slaby wrote:
> On 15. 02. 24, 16:37, Alexey Gladkov wrote:
> > Signed-off-by: Alexey Gladkov <legion@kernel.org>
> > ---
> > drivers/video/console/sticon.c | 21 +++++++++++++++++++--
> > 1 file changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c
> > index 992a4fa431aa..63368b3ff9c5 100644
> > --- a/drivers/video/console/sticon.c
> > +++ b/drivers/video/console/sticon.c
> > @@ -56,6 +56,11 @@
> > #define BLANK 0
> > static int vga_is_gfx;
> >
> > +#define STICON_MIN_FONT_WIDTH 6
> > +#define STICON_MIN_FONT_HEIGHT 6
> > +#define STICON_MAX_FONT_WIDTH 32
> > +#define STICON_MAX_FONT_HEIGHT 32
> > +
> > #define STI_DEF_FONT sticon_sti->font
> >
> > /* borrowed from fbcon.c */
> > @@ -180,8 +185,10 @@ static int sticon_set_font(struct vc_data *vc, struct console_font *op,
> > struct sti_cooked_font *cooked_font;
> > unsigned char *data = op->data, *p;
> >
> > - if ((w < 6) || (h < 6) || (w > 32) || (h > 32) || (vpitch != 32)
> > - || (op->charcount != 256 && op->charcount != 512))
> > + if ((w < STICON_MIN_FONT_WIDTH) || (h < STICON_MIN_FONT_HEIGHT) ||
> > + (w > STICON_MAX_FONT_WIDTH) || (h > STICON_MAX_FONT_HEIGHT) ||
>
> Will
> !in_range(w, STICON_MIN_FONT_WIDTH, STICON_MAX_FONT_WIDTH)
> look better?
Sure! Much better. I made this patch to illustrate what I mean. I will
finish it if you find the idea itself acceptable.
> > + (vpitch != 32) ||
> > + (op->charcount != 256 && op->charcount != 512))
> > return -EINVAL;
> > pitch = ALIGN(w, 8) / 8;
> > bpc = pitch * h;
> > @@ -273,6 +280,15 @@ static int sticon_font_set(struct vc_data *vc, struct console_font *font,
> > return sticon_set_font(vc, font, vpitch);
> > }
> >
> > +static int sticon_font_info(struct vc_data *vc, struct console_font *font)
> > +{
> > + font->width = STICON_MAX_FONT_WIDTH;
> > + font->height = STICON_MAX_FONT_HEIGHT;
> > + font->charcount = 512;
>
> Why not to have a macro for this constant?
Because I don’t know how to correctly transfer this limit to userspace.
I mean, we have the code:
if (op->charcount != 256 && op->charcount != 512)
return -EINVAL;
So 512 is not exactly the maximum number of glyphs. And such checks in the
code begin to look very strange.
if (op->charcount != 256 && op->charcount != STICON_MAX_FONT_GLYPHS)
return -EINVAL;
So I decided not to give the value 512 a name.
In fact, I think this should be passed to userspace as a binary flag.
Something like this:
struct console_font_info {
unsigned int min_width, min_height;
unsigned int max_width, max_height;
unsigned int fnt_flags;
}
enum console_font_flags {
FNT_FLAG_LOW_SIZE = 1U << 0, // 256
FNT_FLAG_HIGH_SIZE = 1U << 1, // 512
};
> > +
> > + return 0;
> > +}
> > +
> > static void sticon_init(struct vc_data *c, int init)
> > {
> > struct sti_struct *sti = sticon_sti;
> > @@ -371,6 +387,7 @@ static const struct consw sti_con = {
> > .con_scroll = sticon_scroll,
> > .con_switch = sticon_switch,
> > .con_blank = sticon_blank,
> > + .con_font_info = sticon_font_info,
> > .con_font_set = sticon_font_set,
> > .con_font_default = sticon_font_default,
> > .con_build_attr = sticon_build_attr,
>
> --
> js
> suse labs
>
--
Rgrds, legion
next prev parent reply other threads:[~2024-02-16 13:03 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-15 15:37 [RFC PATCH v1 0/5] VT: Add ability to get font requirements Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 1/5] VT: Add KD_FONT_OP_GET_INFO operation Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 2/5] newport_con: Allow to get max font width and height Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 3/5] sticon: " Alexey Gladkov
2024-02-16 7:10 ` Jiri Slaby
2024-02-16 13:03 ` Alexey Gladkov [this message]
2024-02-15 15:37 ` [RFC PATCH v1 4/5] vgacon: " Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 5/5] fbcon: " Alexey Gladkov
2024-02-16 7:21 ` [RFC PATCH v1 0/5] VT: Add ability to get font requirements Jiri Slaby
2024-02-16 13:26 ` Alexey Gladkov
2024-02-16 13:45 ` Samuel Thibault
2024-02-16 14:40 ` Alexey Gladkov
2024-02-21 7:04 ` Jiri Slaby
2024-02-26 15:21 ` [RFC PATCH v2 " Alexey Gladkov
2024-02-26 15:21 ` [RFC PATCH v2 1/5] VT: Add KD_FONT_OP_GET_INFO operation Alexey Gladkov
2024-02-26 15:21 ` [RFC PATCH v2 2/5] newport_con: Allow to get max font width and height Alexey Gladkov
2024-02-26 15:21 ` [RFC PATCH v2 3/5] sticon: " Alexey Gladkov
2024-02-27 5:52 ` Greg Kroah-Hartman
2024-02-27 14:06 ` Alexey Gladkov
2024-02-26 15:21 ` [RFC PATCH v2 4/5] vgacon: " Alexey Gladkov
2024-02-26 15:21 ` [RFC PATCH v2 5/5] fbcon: " Alexey Gladkov
2024-03-12 14:23 ` [PATCH v3 0/2] VT: Add ability to get font requirements legion
2024-03-12 14:23 ` [PATCH v3 1/2] VT: Add KDFONTINFO ioctl legion
2024-03-15 9:15 ` Helge Deller
2024-03-12 14:23 ` [PATCH v3 2/2] VT: Allow to get max font width and height legion
2024-03-13 17:40 ` Oleg Bulatov
2024-04-02 11:09 ` Jiri Slaby
2024-03-15 9:16 ` Helge Deller
2024-04-02 10:32 ` [RESEND PATCH v3 0/2] VT: Add ability to get font requirements Alexey Gladkov
2024-04-02 10:32 ` [RESEND PATCH v3 1/2] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-02 11:02 ` Jiri Slaby
2024-04-02 13:19 ` Alexey Gladkov
2024-04-03 5:27 ` Jiri Slaby
2024-04-10 16:29 ` Alexey Gladkov
2024-04-10 17:11 ` Greg Kroah-Hartman
2024-04-02 17:50 ` [PATCH v4 0/3] VT: Add ability to get font requirements Alexey Gladkov
2024-04-02 17:50 ` [PATCH v4 1/3] VT: Use macros to define ioctls Alexey Gladkov
2024-04-02 17:50 ` [PATCH v4 2/3] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-03 4:55 ` Greg Kroah-Hartman
2024-04-03 5:05 ` Jiri Slaby
2024-04-10 16:36 ` Alexey Gladkov
2024-04-11 3:53 ` Jiri Slaby
2024-04-02 17:50 ` [PATCH v4 3/3] VT: Allow to get max font width and height Alexey Gladkov
2024-04-17 17:37 ` [PATCH v5 0/3] VT: Add ability to get font requirements Alexey Gladkov
2024-04-17 17:37 ` [PATCH v5 1/3] VT: Use macros to define ioctls Alexey Gladkov
2024-04-18 6:18 ` Greg Kroah-Hartman
2024-05-29 7:29 ` Jiri Slaby
2024-05-29 7:44 ` Arnd Bergmann
2024-05-29 8:44 ` Al Viro
2024-04-17 17:37 ` [PATCH v5 2/3] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-17 19:31 ` Helge Deller
2024-04-18 10:45 ` Alexey Gladkov
2024-04-25 10:33 ` Helge Deller
2024-04-25 11:06 ` Alexey Gladkov
2024-04-25 11:35 ` Helge Deller
2024-04-18 6:18 ` Greg Kroah-Hartman
2024-04-18 10:27 ` Alexey Gladkov
2024-04-17 17:37 ` [PATCH v5 3/3] VT: Allow to get max font width and height Alexey Gladkov
2024-04-02 10:32 ` [RESEND PATCH v3 2/2] " Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zc9dIRLbna585cGM@example.org \
--to=legion@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.