Displaying 10 results from an estimated 10 matches for "find_port_by_vtermno".
2019 Apr 28
2
[PATCH] virtio_console: remove vq buf while unpluging port
...4
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -251,6 +251,7 @@ struct port {
/* This is the very early arch-specified put chars function. */
static int (*early_put_chars)(u32, const char *, int);
+static void remove_vq(struct virtqueue *vq);
static struct port *find_port_by_vtermno(u32 vtermno)
{
@@ -1550,6 +1551,9 @@ static void unplug_port(struct port *port)
}
remove_port_data(port);
+ spin_lock_irq(&port->inbuf_lock);
+ remove_vq(port->in_vq);
+ spin_unlock_irq(&port->inbuf_lock);
/*
* We should just assume the device itself has gone off --
@...
2019 Apr 28
2
[PATCH] virtio_console: remove vq buf while unpluging port
...4
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -251,6 +251,7 @@ struct port {
/* This is the very early arch-specified put chars function. */
static int (*early_put_chars)(u32, const char *, int);
+static void remove_vq(struct virtqueue *vq);
static struct port *find_port_by_vtermno(u32 vtermno)
{
@@ -1550,6 +1551,9 @@ static void unplug_port(struct port *port)
}
remove_port_data(port);
+ spin_lock_irq(&port->inbuf_lock);
+ remove_vq(port->in_vq);
+ spin_unlock_irq(&port->inbuf_lock);
/*
* We should just assume the device itself has gone off --
@...
2019 May 05
0
[PATCH] virtio_console: remove vq buf while unpluging port
...4
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -251,6 +251,7 @@ struct port {
/* This is the very early arch-specified put chars function. */
static int (*early_put_chars)(u32, const char *, int);
+static void remove_vq(struct virtqueue *vq);
static struct port *find_port_by_vtermno(u32 vtermno)
{
@@ -1550,6 +1551,9 @@ static void unplug_port(struct port *port)
}
remove_port_data(port);
+ spin_lock_irq(&port->inbuf_lock);
+ remove_vq(port->in_vq);
+ spin_unlock_irq(&port->inbuf_lock);
/*
* We should just assume the device itself has gone off --
@...
2019 May 24
0
[PATCH] virtio_console: remove vq buf while unpluging port
...t; +++ b/drivers/char/virtio_console.c
> @@ -251,6 +251,7 @@ struct port {
>
> /* This is the very early arch-specified put chars function. */
> static int (*early_put_chars)(u32, const char *, int);
> +static void remove_vq(struct virtqueue *vq);
>
> static struct port *find_port_by_vtermno(u32 vtermno)
> {
> @@ -1550,6 +1551,9 @@ static void unplug_port(struct port *port)
> }
>
> remove_port_data(port);
> + spin_lock_irq(&port->inbuf_lock);
> + remove_vq(port->in_vq);
> + spin_unlock_irq(&port->inbuf_lock);
>
> /*
> * We...
2010 Mar 30
0
[PATCH 2/4] virtio: console: Fix early_put_chars usage
...x 18b1b06..f33ceaa 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -650,13 +650,13 @@ static int put_chars(u32 vtermno, const char *buf, int count)
{
struct port *port;
+ if (unlikely(early_put_chars))
+ return early_put_chars(vtermno, buf, count);
+
port = find_port_by_vtermno(vtermno);
if (!port)
return 0;
- if (unlikely(early_put_chars))
- return early_put_chars(vtermno, buf, count);
-
return send_buf(port, (void *)buf, count);
}
2010 Mar 30
0
[PATCH 2/4] virtio: console: Fix early_put_chars usage
...x 18b1b06..f33ceaa 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -650,13 +650,13 @@ static int put_chars(u32 vtermno, const char *buf, int count)
{
struct port *port;
+ if (unlikely(early_put_chars))
+ return early_put_chars(vtermno, buf, count);
+
port = find_port_by_vtermno(vtermno);
if (!port)
return 0;
- if (unlikely(early_put_chars))
- return early_put_chars(vtermno, buf, count);
-
return send_buf(port, (void *)buf, count);
}
2010 Mar 22
3
Virtio_console usage of early printk
Hi all,
As far as I can see, early_put_chars is not used by virtio_console
because it checks whether there is a port available before using it.
If I understand correctly, this makes it useless because once we have
a port, we can use the regular virtio transport to output things to
the console. Does the attached patch seem valid ? Feedback from s390
and powerpc users who use this functionality
2010 Mar 22
3
Virtio_console usage of early printk
Hi all,
As far as I can see, early_put_chars is not used by virtio_console
because it checks whether there is a port available before using it.
If I understand correctly, this makes it useless because once we have
a port, we can use the regular virtio transport to output things to
the console. Does the attached patch seem valid ? Feedback from s390
and powerpc users who use this functionality
2010 Jan 29
3
virtio: console: Return -EFAULT on copy_xx_user errors, allow larger writes
Hey Rusty,
These updated patches in the series return -EFAULT on copy_xx_user
errors and also move the copy_from_user into fops_write() instead of it
being in send_buf. This enables send_buf to just read from kernel
buffers, making it simpler.
This also allows write()s to write more to the host in one go,
removingthe 4k limitation. I do limit the writes to 32k at once to not
put too much
2010 Jan 29
3
virtio: console: Return -EFAULT on copy_xx_user errors, allow larger writes
Hey Rusty,
These updated patches in the series return -EFAULT on copy_xx_user
errors and also move the copy_from_user into fops_write() instead of it
being in send_buf. This enables send_buf to just read from kernel
buffers, making it simpler.
This also allows write()s to write more to the host in one go,
removingthe 4k limitation. I do limit the writes to 32k at once to not
put too much