[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a8fe6a58-6a8e-ae35-d1f6-27d354c9503b@suse.cz>
Date: Fri, 27 May 2016 13:06:24 +0200
From: Jiri Slaby <jslaby@...e.cz>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org
Cc: stable@...r.kernel.org, Dave Airlie <airlied@...hat.com>
Subject: Re: [PATCH 3.14 42/79] drm/qxl: only report first monitor as
connected if we have no state
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@...hat.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@...hat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.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
Powered by blists - more mailing lists