| Subject | Re: [PATCH 3.14 42/79] drm/qxl: only report first monitor as connected if we have no state | From | Jiri Slaby <> | Date | Fri, 27 May 2016 13:06:24 +0200 |
| |
On 10/18/2015, 04:05 AM, Greg Kroah-Hartman wrote: > 3.14-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Dave Airlie <airlied@redhat.com> > > commit 69e5d3f893e19613486f300fd6e631810338aa4b upstream. > > If the server isn't new enough to give us state, report the first > monitor as always connected, otherwise believe the server side.
Hi,
I've got a bug report, that this commit breaks 3.12-stable: =============== While testing KDE5 packages which will be landing in Package Hub for SP1, we found a issue with qxl drm driver in kernel.
When booting SLES (or SLED) 12 SP1, in a libvirt KVM environment, with QXL as video driver, KDE5 plasma was not rendered on screen, you could only see mouse cursor.
Booting with nomodeset=1 or qxl.modeset=0 fixes the issue. ===============
Does it make sense? Is 3.12 missing some prerequisite? Or should we just revert the commit in 3.12? And what about 3.14, 4.1?
Thanks.
> Signed-off-by: Dave Airlie <airlied@redhat.com> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > --- > drivers/gpu/drm/qxl/qxl_display.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > --- a/drivers/gpu/drm/qxl/qxl_display.c > +++ b/drivers/gpu/drm/qxl/qxl_display.c > @@ -816,13 +816,15 @@ static enum drm_connector_status qxl_con > drm_connector_to_qxl_output(connector); > struct drm_device *ddev = connector->dev; > struct qxl_device *qdev = ddev->dev_private; > - int connected; > + bool connected = false; > > /* The first monitor is always connected */ > - connected = (output->index == 0) || > - (qdev->client_monitors_config && > - qdev->client_monitors_config->count > output->index && > - qxl_head_enabled(&qdev->client_monitors_config->heads[output->index])); > + if (!qdev->client_monitors_config) { > + if (output->index == 0) > + connected = true; > + } else > + connected = qdev->client_monitors_config->count > output->index && > + qxl_head_enabled(&qdev->client_monitors_config->heads[output->index]); > > DRM_DEBUG("#%d connected: %d\n", output->index, connected); > if (!connected)
-- js suse labs
|