diff mbox series

[31/45] tty: vt: use VESA blanking constants

Message ID 20240118075756.10541-32-jirislaby@kernel.org (mailing list archive)
State New, archived
Headers show
Series tty: vt: cleanup and documentation | expand

Commit Message

Jiri Slaby Jan. 18, 2024, 7:57 a.m. UTC
There are VESA blanking constants defined in console.h already. So use
them in the console code instead of constant values.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-parisc@vger.kernel.org
---
 drivers/tty/vt/vt.c                 | 9 +++++----
 drivers/video/console/newport_con.c | 2 +-
 drivers/video/console/sticon.c      | 2 +-
 drivers/video/console/vgacon.c      | 6 +++---
 4 files changed, 10 insertions(+), 9 deletions(-)

Comments

Thomas Zimmermann Jan. 18, 2024, 8:30 a.m. UTC | #1
Hi

Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE):
> There are VESA blanking constants defined in console.h already. So use
> them in the console code instead of constant values.

These constants also exist in include/uapi/linux/fb.h. It would be nice 
to find a common header where they can be shared.

Best regards
Thomas

> 
> Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
> Cc: Helge Deller <deller@gmx.de>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: linux-fbdev@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-parisc@vger.kernel.org
> ---
>   drivers/tty/vt/vt.c                 | 9 +++++----
>   drivers/video/console/newport_con.c | 2 +-
>   drivers/video/console/sticon.c      | 2 +-
>   drivers/video/console/vgacon.c      | 6 +++---
>   4 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 279f802aa222..6f46fefedcfb 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -4334,7 +4334,7 @@ static int set_vesa_blanking(u8 __user *mode_user)
>   		return -EFAULT;
>   
>   	console_lock();
> -	vesa_blank_mode = (mode < 4) ? mode : 0;
> +	vesa_blank_mode = (mode < 4) ? mode : VESA_NO_BLANKING;
>   	console_unlock();
>   
>   	return 0;
> @@ -4361,7 +4361,7 @@ void do_blank_screen(int entering_gfx)
>   	if (entering_gfx) {
>   		hide_cursor(vc);
>   		save_screen(vc);
> -		vc->vc_sw->con_blank(vc, 1, 1);
> +		vc->vc_sw->con_blank(vc, VESA_VSYNC_SUSPEND, 1);
>   		console_blanked = fg_console + 1;
>   		blank_state = blank_off;
>   		set_origin(vc);
> @@ -4382,7 +4382,8 @@ void do_blank_screen(int entering_gfx)
>   
>   	save_screen(vc);
>   	/* In case we need to reset origin, blanking hook returns 1 */
> -	i = vc->vc_sw->con_blank(vc, vesa_off_interval ? 1 : (vesa_blank_mode + 1), 0);
> +	i = vc->vc_sw->con_blank(vc, vesa_off_interval ? VESA_VSYNC_SUSPEND :
> +				 (vesa_blank_mode + 1), 0);
>   	console_blanked = fg_console + 1;
>   	if (i)
>   		set_origin(vc);
> @@ -4433,7 +4434,7 @@ void do_unblank_screen(int leaving_gfx)
>   	}
>   
>   	console_blanked = 0;
> -	if (vc->vc_sw->con_blank(vc, 0, leaving_gfx))
> +	if (vc->vc_sw->con_blank(vc, VESA_NO_BLANKING, leaving_gfx))
>   		/* Low-level driver cannot restore -> do it ourselves */
>   		update_screen(vc);
>   	if (console_blank_hook)
> diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c
> index 039d1c9937d2..ad3a09142770 100644
> --- a/drivers/video/console/newport_con.c
> +++ b/drivers/video/console/newport_con.c
> @@ -480,7 +480,7 @@ static int newport_blank(struct vc_data *c, int blank, int mode_switch)
>   {
>   	unsigned short treg;
>   
> -	if (blank == 0) {
> +	if (blank == VESA_NO_BLANKING) {
>   		/* unblank console */
>   		treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
>   		newport_vc2_set(npregs, VC2_IREG_CONTROL,
> diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c
> index f3bb48a0e980..817b89c45e81 100644
> --- a/drivers/video/console/sticon.c
> +++ b/drivers/video/console/sticon.c
> @@ -300,7 +300,7 @@ static bool sticon_switch(struct vc_data *conp)
>   
>   static int sticon_blank(struct vc_data *c, int blank, int mode_switch)
>   {
> -    if (blank == 0) {
> +    if (blank == VESA_NO_BLANKING) {
>   	if (mode_switch)
>   	    vga_is_gfx = 0;
>   	return 1;
> diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
> index 5025ab501f02..910dc73874b7 100644
> --- a/drivers/video/console/vgacon.c
> +++ b/drivers/video/console/vgacon.c
> @@ -800,10 +800,10 @@ static void vga_pal_blank(struct vgastate *state)
>   static int vgacon_blank(struct vc_data *c, int blank, int mode_switch)
>   {
>   	switch (blank) {
> -	case 0:		/* Unblank */
> +	case VESA_NO_BLANKING:		/* Unblank */
>   		if (vga_vesa_blanked) {
>   			vga_vesa_unblank(&vgastate);
> -			vga_vesa_blanked = 0;
> +			vga_vesa_blanked = VESA_NO_BLANKING;
>   		}
>   		if (vga_palette_blanked) {
>   			vga_set_palette(c, color_table);
> @@ -813,7 +813,7 @@ static int vgacon_blank(struct vc_data *c, int blank, int mode_switch)
>   		vga_is_gfx = false;
>   		/* Tell console.c that it has to restore the screen itself */
>   		return 1;
> -	case 1:		/* Normal blanking */
> +	case VESA_VSYNC_SUSPEND:	/* Normal blanking */
>   		if (!mode_switch && vga_video_type == VIDEO_TYPE_VGAC) {
>   			vga_pal_blank(&vgastate);
>   			vga_palette_blanked = true;
Jiri Slaby Jan. 18, 2024, 8:32 a.m. UTC | #2
On 18. 01. 24, 9:30, Thomas Zimmermann wrote:
> Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE):
>> There are VESA blanking constants defined in console.h already. So use
>> them in the console code instead of constant values.
> 
> These constants also exist in include/uapi/linux/fb.h. It would be nice 
> to find a common header where they can be shared.

Hi,

see 32/45.

I actually don't know how to fix that nicely while keeping uapi happy.
Thomas Zimmermann Jan. 18, 2024, 8:41 a.m. UTC | #3
Hi

Am 18.01.24 um 09:32 schrieb Jiri Slaby:
> On 18. 01. 24, 9:30, Thomas Zimmermann wrote:
>> Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE):
>>> There are VESA blanking constants defined in console.h already. So use
>>> them in the console code instead of constant values.
>>
>> These constants also exist in include/uapi/linux/fb.h. It would be 
>> nice to find a common header where they can be shared.
> 
> Hi,
> 
> see 32/45.
> 
> I actually don't know how to fix that nicely while keeping uapi happy.

Is it hard to get a new UAPI header accepted (honest question)? There 
are a few things I'd like to split off from fbdev. But that would 
require UAPI headers.

Best regards
Thomas

>
Jiri Slaby Jan. 18, 2024, 8:52 a.m. UTC | #4
On 18. 01. 24, 9:41, Thomas Zimmermann wrote:
> Is it hard to get a new UAPI header accepted (honest question)?

Not at all, IMO. The header just needs to be correctâ„¢ as it would be set 
in stone once released.

thanks,
Greg KH Jan. 18, 2024, 8:54 a.m. UTC | #5
On Thu, Jan 18, 2024 at 09:41:34AM +0100, Thomas Zimmermann wrote:
> Hi
> 
> Am 18.01.24 um 09:32 schrieb Jiri Slaby:
> > On 18. 01. 24, 9:30, Thomas Zimmermann wrote:
> > > Am 18.01.24 um 08:57 schrieb Jiri Slaby (SUSE):
> > > > There are VESA blanking constants defined in console.h already. So use
> > > > them in the console code instead of constant values.
> > > 
> > > These constants also exist in include/uapi/linux/fb.h. It would be
> > > nice to find a common header where they can be shared.
> > 
> > Hi,
> > 
> > see 32/45.
> > 
> > I actually don't know how to fix that nicely while keeping uapi happy.
> 
> Is it hard to get a new UAPI header accepted (honest question)?

No.

> There are a few things I'd like to split off from fbdev. But that
> would require UAPI headers.

That's fine, create them, but you can't just delete an existing .h file
as that will usually break things.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 279f802aa222..6f46fefedcfb 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -4334,7 +4334,7 @@  static int set_vesa_blanking(u8 __user *mode_user)
 		return -EFAULT;
 
 	console_lock();
-	vesa_blank_mode = (mode < 4) ? mode : 0;
+	vesa_blank_mode = (mode < 4) ? mode : VESA_NO_BLANKING;
 	console_unlock();
 
 	return 0;
@@ -4361,7 +4361,7 @@  void do_blank_screen(int entering_gfx)
 	if (entering_gfx) {
 		hide_cursor(vc);
 		save_screen(vc);
-		vc->vc_sw->con_blank(vc, 1, 1);
+		vc->vc_sw->con_blank(vc, VESA_VSYNC_SUSPEND, 1);
 		console_blanked = fg_console + 1;
 		blank_state = blank_off;
 		set_origin(vc);
@@ -4382,7 +4382,8 @@  void do_blank_screen(int entering_gfx)
 
 	save_screen(vc);
 	/* In case we need to reset origin, blanking hook returns 1 */
-	i = vc->vc_sw->con_blank(vc, vesa_off_interval ? 1 : (vesa_blank_mode + 1), 0);
+	i = vc->vc_sw->con_blank(vc, vesa_off_interval ? VESA_VSYNC_SUSPEND :
+				 (vesa_blank_mode + 1), 0);
 	console_blanked = fg_console + 1;
 	if (i)
 		set_origin(vc);
@@ -4433,7 +4434,7 @@  void do_unblank_screen(int leaving_gfx)
 	}
 
 	console_blanked = 0;
-	if (vc->vc_sw->con_blank(vc, 0, leaving_gfx))
+	if (vc->vc_sw->con_blank(vc, VESA_NO_BLANKING, leaving_gfx))
 		/* Low-level driver cannot restore -> do it ourselves */
 		update_screen(vc);
 	if (console_blank_hook)
diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c
index 039d1c9937d2..ad3a09142770 100644
--- a/drivers/video/console/newport_con.c
+++ b/drivers/video/console/newport_con.c
@@ -480,7 +480,7 @@  static int newport_blank(struct vc_data *c, int blank, int mode_switch)
 {
 	unsigned short treg;
 
-	if (blank == 0) {
+	if (blank == VESA_NO_BLANKING) {
 		/* unblank console */
 		treg = newport_vc2_get(npregs, VC2_IREG_CONTROL);
 		newport_vc2_set(npregs, VC2_IREG_CONTROL,
diff --git a/drivers/video/console/sticon.c b/drivers/video/console/sticon.c
index f3bb48a0e980..817b89c45e81 100644
--- a/drivers/video/console/sticon.c
+++ b/drivers/video/console/sticon.c
@@ -300,7 +300,7 @@  static bool sticon_switch(struct vc_data *conp)
 
 static int sticon_blank(struct vc_data *c, int blank, int mode_switch)
 {
-    if (blank == 0) {
+    if (blank == VESA_NO_BLANKING) {
 	if (mode_switch)
 	    vga_is_gfx = 0;
 	return 1;
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 5025ab501f02..910dc73874b7 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -800,10 +800,10 @@  static void vga_pal_blank(struct vgastate *state)
 static int vgacon_blank(struct vc_data *c, int blank, int mode_switch)
 {
 	switch (blank) {
-	case 0:		/* Unblank */
+	case VESA_NO_BLANKING:		/* Unblank */
 		if (vga_vesa_blanked) {
 			vga_vesa_unblank(&vgastate);
-			vga_vesa_blanked = 0;
+			vga_vesa_blanked = VESA_NO_BLANKING;
 		}
 		if (vga_palette_blanked) {
 			vga_set_palette(c, color_table);
@@ -813,7 +813,7 @@  static int vgacon_blank(struct vc_data *c, int blank, int mode_switch)
 		vga_is_gfx = false;
 		/* Tell console.c that it has to restore the screen itself */
 		return 1;
-	case 1:		/* Normal blanking */
+	case VESA_VSYNC_SUSPEND:	/* Normal blanking */
 		if (!mode_switch && vga_video_type == VIDEO_TYPE_VGAC) {
 			vga_pal_blank(&vgastate);
 			vga_palette_blanked = true;