All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amit Shah <amit@kernel.org>
To: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>,
	 linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
	mst@redhat.com, 	pasic@linux.ibm.com, schnelle@linux.ibm.com
Subject: Re: [PATCH] virtio: console: Make resize control event handling compliant with spec
Date: Thu, 27 Mar 2025 11:40:23 +0100	[thread overview]
Message-ID: <7e0faada2dd5576a41509e94bbe49a97af5173dc.camel@kernel.org> (raw)
In-Reply-To: <20250320172654.624657-1-maxbr@linux.ibm.com>

On Thu, 2025-03-20 at 18:26 +0100, Maximilian Immanuel Brandtner wrote:
> According to section 5.3.6.2 of the virtio spec a control buffer with
> the event VIRITO_CONSOLE_RESIZE is followed by a
> virtio_console_resize
> struct containing 2 little endian 16bit integerts cols,rows. The
> kernel
> implementation assums native endianness (which results in mangled
> values
> on big endian architectures)(a seperate patch by Halil Pasic will
> deal with
> that issue) and swaps the ordering of columns and rows.
> This patch changes the ordering of rows and columns to columns then
> rows.

It's clearer and cleaner to only describe the issue you're solving
here; the other patch will take care of the other issue.

You can add more info here, like: the console resize messages via the
config space (section 5.3.4) are used for resizing, and that works fine
for single-console devices.  However, for multi-console devices
(enabled by multiport) had the spec and Linux implementation out of
sync.  As far as I know, there are no device-side implementations of
mutiport console, so patching Linux is the way to go.  (You can replace
the 'I' with my name as the maintainer there.)

> Fixes: 8345adbf96fc1 ("virtio: console: Accept console size along
> with resize control message")
> Signed-off-by: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>
> Cc: stable@vger.kernel.org # v2.6.35+
> ---
>  drivers/char/virtio_console.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/char/virtio_console.c
> b/drivers/char/virtio_console.c
> index 24442485e73e..9668e89873cf 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -1579,8 +1579,8 @@ static void handle_control_message(struct
> virtio_device *vdev,
>  		break;
>  	case VIRTIO_CONSOLE_RESIZE: {
>  		struct {
> -			__u16 rows;
>  			__u16 cols;
> +			__u16 rows;
>  		} size;
>  
>  		if (!is_console_port(port))


Thanks,

		Amit

      parent reply	other threads:[~2025-03-27 10:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-20 17:26 [PATCH] virtio: console: Make resize control event handling compliant with spec Maximilian Immanuel Brandtner
2025-03-20 17:31 ` Maximilian Immanuel Brandtner
2025-03-23 12:40 ` Halil Pasic
2025-03-27 10:40 ` Amit Shah [this message]

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=7e0faada2dd5576a41509e94bbe49a97af5173dc.camel@kernel.org \
    --to=amit@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxbr@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    --cc=virtualization@lists.linux.dev \
    /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.