mbox series

[SRU,B,0/3] qxl: hook monitors_config updates into crtc, not encoder.

Message ID 20201215134845.77866-1-dgadomski@ubuntu.com
Headers show
Series qxl: hook monitors_config updates into crtc, not encoder. | expand

Message

Dariusz Gadomski Dec. 15, 2020, 1:48 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1908219

[Impact]
* Ubuntu 18.04 used as a guest in KVM with Spice/QXL in use may lead to a DRM
error displayed during xorg launch:
[drm:qxl_enc_commit [qxl]] *ERROR* head number too large or missing monitors
config:         (ptrval), 0

[Fix]
* 00e5d217fa19bcbec13135898e1b9ca2c1c3e89b qxl: hook monitors_config updates
into crtc, not encoder.

[Test Case]
* Set up Ubuntu 18.04 desktop guest with 4.15-series kernel with Spice/QXL in
KVM. This is known to be reproducible on Ubuntu 20.04 and Centos 7.8 hosts.
* Boot the 18.04 guest and check kern.log/dmesg for the error.

Gerd Hoffmann (3):
  qxl: remove qxl_io_log()
  qxl: move qxl_send_monitors_config()
  qxl: hook monitors_config updates into crtc, not encoder.

 drivers/gpu/drm/qxl/qxl_cmd.c     |  36 +----
 drivers/gpu/drm/qxl/qxl_display.c | 226 ++++++++++++------------------
 drivers/gpu/drm/qxl/qxl_drv.h     |   3 -
 drivers/gpu/drm/qxl/qxl_fb.c      |   2 -
 drivers/gpu/drm/qxl/qxl_irq.c     |   3 +-
 5 files changed, 94 insertions(+), 176 deletions(-)

Comments

Kleber Sacilotto de Souza Dec. 16, 2020, 9:40 a.m. UTC | #1
On 15.12.20 14:48, Dariusz Gadomski wrote:
> BugLink: https://bugs.launchpad.net/bugs/1908219
> 
> [Impact]
> * Ubuntu 18.04 used as a guest in KVM with Spice/QXL in use may lead to a DRM
> error displayed during xorg launch:
> [drm:qxl_enc_commit [qxl]] *ERROR* head number too large or missing monitors
> config:         (ptrval), 0
> 
> [Fix]
> * 00e5d217fa19bcbec13135898e1b9ca2c1c3e89b qxl: hook monitors_config updates
> into crtc, not encoder.
> 
> [Test Case]
> * Set up Ubuntu 18.04 desktop guest with 4.15-series kernel with Spice/QXL in
> KVM. This is known to be reproducible on Ubuntu 20.04 and Centos 7.8 hosts.
> * Boot the 18.04 guest and check kern.log/dmesg for the error.
> 
> Gerd Hoffmann (3):
>    qxl: remove qxl_io_log()
>    qxl: move qxl_send_monitors_config()
>    qxl: hook monitors_config updates into crtc, not encoder.
> 
>   drivers/gpu/drm/qxl/qxl_cmd.c     |  36 +----
>   drivers/gpu/drm/qxl/qxl_display.c | 226 ++++++++++++------------------
>   drivers/gpu/drm/qxl/qxl_drv.h     |   3 -
>   drivers/gpu/drm/qxl/qxl_fb.c      |   2 -
>   drivers/gpu/drm/qxl/qxl_irq.c     |   3 +-
>   5 files changed, 94 insertions(+), 176 deletions(-)
> 

All clean cherry-picks, the changes look good to me.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Stefan Bader Dec. 17, 2020, 8:19 a.m. UTC | #2
On 15.12.20 14:48, Dariusz Gadomski wrote:
> BugLink: https://bugs.launchpad.net/bugs/1908219
> 
> [Impact]
> * Ubuntu 18.04 used as a guest in KVM with Spice/QXL in use may lead to a DRM
> error displayed during xorg launch:
> [drm:qxl_enc_commit [qxl]] *ERROR* head number too large or missing monitors
> config:         (ptrval), 0
> 
> [Fix]
> * 00e5d217fa19bcbec13135898e1b9ca2c1c3e89b qxl: hook monitors_config updates
> into crtc, not encoder.
> 
> [Test Case]
> * Set up Ubuntu 18.04 desktop guest with 4.15-series kernel with Spice/QXL in
> KVM. This is known to be reproducible on Ubuntu 20.04 and Centos 7.8 hosts.
> * Boot the 18.04 guest and check kern.log/dmesg for the error.
> 
> Gerd Hoffmann (3):
>   qxl: remove qxl_io_log()
>   qxl: move qxl_send_monitors_config()
>   qxl: hook monitors_config updates into crtc, not encoder.
> 
>  drivers/gpu/drm/qxl/qxl_cmd.c     |  36 +----
>  drivers/gpu/drm/qxl/qxl_display.c | 226 ++++++++++++------------------
>  drivers/gpu/drm/qxl/qxl_drv.h     |   3 -
>  drivers/gpu/drm/qxl/qxl_fb.c      |   2 -
>  drivers/gpu/drm/qxl/qxl_irq.c     |   3 +-
>  5 files changed, 94 insertions(+), 176 deletions(-)
> 
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Ian May Dec. 18, 2020, 5:52 p.m. UTC | #3
Applied to bionic/linux

Thanks,
Ian

On 2020-12-15 14:48:42 , Dariusz Gadomski wrote:
> BugLink: https://bugs.launchpad.net/bugs/1908219
> 
> [Impact]
> * Ubuntu 18.04 used as a guest in KVM with Spice/QXL in use may lead to a DRM
> error displayed during xorg launch:
> [drm:qxl_enc_commit [qxl]] *ERROR* head number too large or missing monitors
> config:         (ptrval), 0
> 
> [Fix]
> * 00e5d217fa19bcbec13135898e1b9ca2c1c3e89b qxl: hook monitors_config updates
> into crtc, not encoder.
> 
> [Test Case]
> * Set up Ubuntu 18.04 desktop guest with 4.15-series kernel with Spice/QXL in
> KVM. This is known to be reproducible on Ubuntu 20.04 and Centos 7.8 hosts.
> * Boot the 18.04 guest and check kern.log/dmesg for the error.
> 
> Gerd Hoffmann (3):
>   qxl: remove qxl_io_log()
>   qxl: move qxl_send_monitors_config()
>   qxl: hook monitors_config updates into crtc, not encoder.
> 
>  drivers/gpu/drm/qxl/qxl_cmd.c     |  36 +----
>  drivers/gpu/drm/qxl/qxl_display.c | 226 ++++++++++++------------------
>  drivers/gpu/drm/qxl/qxl_drv.h     |   3 -
>  drivers/gpu/drm/qxl/qxl_fb.c      |   2 -
>  drivers/gpu/drm/qxl/qxl_irq.c     |   3 +-
>  5 files changed, 94 insertions(+), 176 deletions(-)
> 
> -- 
> 2.25.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team