All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@kernel.org>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	kbd@lists.altlinux.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [kbd] [patch 1/3] VT: Add height parameter to con_font_get/set consw operations
Date: Tue, 6 Dec 2022 07:40:30 +0100	[thread overview]
Message-ID: <27ade063-79df-dad9-0427-e16f1ddb43ef@kernel.org> (raw)
In-Reply-To: <20221205000807.751605665@ens-lyon.org>

On 05. 12. 22, 1:07, Samuel Thibault wrote:
> The current con_font_get/set API currently hardcodes a 32-pixel-tall
> limitation, which only dates from the old VGA hardware which could not
> handle taller fonts than that.
> 
> This change just adds a vpitch parameter to release this
> constraint. Drivers which do not support vpitch != 32 can just return
> EINVAL when it is not 32, font loading tools will revert to trying 32
> and succeed.
> 
> This change makes the fbcon driver consider vpitch appropriately, thus
> making it able to load large fonts.
> 
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
...
> --- linux-6.0.orig/drivers/usb/misc/sisusbvga/sisusb_con.c
> +++ linux-6.0/drivers/usb/misc/sisusbvga/sisusb_con.c
...
> @@ -1243,13 +1244,15 @@ sisusbcon_font_set(struct vc_data *c, st
>   
>   /* Interface routine */
>   static int
> -sisusbcon_font_get(struct vc_data *c, struct console_font *font)
> +sisusbcon_font_get(struct vc_data *c, struct console_font *font, unsigned int vpitch)
>   {
>   	struct sisusb_usb_data *sisusb;
>   
>   	sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num);
>   	if (!sisusb)
>   		return -ENODEV;
> +	if (vpitch != 32)
> +		return -EINVAL;
>   
>   	/* sisusb->lock is down */
>   
> @@ -1268,7 +1271,7 @@ sisusbcon_font_get(struct vc_data *c, st
>   	}
>   
>   	/* Copy 256 chars only, like vgacon */
> -	memcpy(font->data, sisusb->font_backup, 256 * 32);
> +	memcpy(font->data, sisusb->font_backup, 256 * height);

Have you tested this? What does this 'height' refer to?

thanks,
-- 
js
suse labs



WARNING: multiple messages have this Message-ID (diff)
From: Jiri Slaby <jirislaby@kernel.org>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	kbd@lists.altlinux.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: [patch 1/3] VT: Add height parameter to con_font_get/set consw operations
Date: Tue, 6 Dec 2022 07:40:30 +0100	[thread overview]
Message-ID: <27ade063-79df-dad9-0427-e16f1ddb43ef@kernel.org> (raw)
In-Reply-To: <20221205000807.751605665@ens-lyon.org>

On 05. 12. 22, 1:07, Samuel Thibault wrote:
> The current con_font_get/set API currently hardcodes a 32-pixel-tall
> limitation, which only dates from the old VGA hardware which could not
> handle taller fonts than that.
> 
> This change just adds a vpitch parameter to release this
> constraint. Drivers which do not support vpitch != 32 can just return
> EINVAL when it is not 32, font loading tools will revert to trying 32
> and succeed.
> 
> This change makes the fbcon driver consider vpitch appropriately, thus
> making it able to load large fonts.
> 
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
...
> --- linux-6.0.orig/drivers/usb/misc/sisusbvga/sisusb_con.c
> +++ linux-6.0/drivers/usb/misc/sisusbvga/sisusb_con.c
...
> @@ -1243,13 +1244,15 @@ sisusbcon_font_set(struct vc_data *c, st
>   
>   /* Interface routine */
>   static int
> -sisusbcon_font_get(struct vc_data *c, struct console_font *font)
> +sisusbcon_font_get(struct vc_data *c, struct console_font *font, unsigned int vpitch)
>   {
>   	struct sisusb_usb_data *sisusb;
>   
>   	sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num);
>   	if (!sisusb)
>   		return -ENODEV;
> +	if (vpitch != 32)
> +		return -EINVAL;
>   
>   	/* sisusb->lock is down */
>   
> @@ -1268,7 +1271,7 @@ sisusbcon_font_get(struct vc_data *c, st
>   	}
>   
>   	/* Copy 256 chars only, like vgacon */
> -	memcpy(font->data, sisusb->font_backup, 256 * 32);
> +	memcpy(font->data, sisusb->font_backup, 256 * height);

Have you tested this? What does this 'height' refer to?

thanks,
-- 
js
suse labs


  reply	other threads:[~2022-12-06  6:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-05  0:07 [kbd] [patch 0/3] VT: Support >32x32 fonts for hidpi displays Samuel Thibault
2022-12-05  0:07 ` Samuel Thibault
2022-12-05  0:07 ` [kbd] [patch 1/3] VT: Add height parameter to con_font_get/set consw operations Samuel Thibault
2022-12-05  0:07   ` Samuel Thibault
2022-12-06  6:40   ` Jiri Slaby [this message]
2022-12-06  6:40     ` Jiri Slaby
2022-12-06 20:39     ` [kbd] " Samuel Thibault
2022-12-06 20:39       ` Samuel Thibault
2022-12-07  7:39       ` [kbd] " Jiri Slaby
2022-12-07  7:39         ` Jiri Slaby
2022-12-07  8:21         ` [kbd] " Greg Kroah-Hartman
2022-12-07  8:21           ` Greg Kroah-Hartman
2022-12-05  0:07 ` [kbd] [patch 2/3] VT: Add KD_FONT_OP_SET/GET_TALL operations Samuel Thibault
2022-12-05  0:07   ` Samuel Thibault
2022-12-05  0:07 ` [kbd] [patch 3/3] VT: Bump font size limitation to 64x128 pixels Samuel Thibault
2022-12-05  0:07   ` Samuel Thibault
2022-12-06  6:48   ` [kbd] " Jiri Slaby
2022-12-06  6:48     ` Jiri Slaby
2022-12-06 20:47     ` [kbd] " Samuel Thibault
2022-12-06 20:47       ` Samuel Thibault
2022-12-05  0:09 ` [kbd] [patch 1/1] font: Leverage KD_FONT_OP_GET/SET_TALL font operations Samuel Thibault
2022-12-05  0:09   ` Samuel Thibault

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=27ade063-79df-dad9-0427-e16f1ddb43ef@kernel.org \
    --to=jirislaby@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kbd@lists.altlinux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samuel.thibault@ens-lyon.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.