All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michel Dänzer" <michel-otUistvHUpPR7s880joybQ@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [PATCH xf86-video-ati 19/21] modesetting: Record non-desktop kernel property at PreInit time
Date: Wed, 11 Jul 2018 19:28:04 +0200	[thread overview]
Message-ID: <20180711172806.22849-20-michel@daenzer.net> (raw)
In-Reply-To: <20180711172806.22849-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>

From: Keith Packard <keithp@keithp.com>

Save any value of the kernel non-desktop property in the xf86Output
structure to avoid non-desktop outputs in the default configuration.

[Also bump randrproto requirement to a version that defines
RR_PROPERTY_NON_DESKTOP - ajax]

Signed-off-by: Keith Packard <keithp@keithp.com>
(Ported from xserver commit b91c787c4cd2d20685db69426c539938c556128a)
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
(Ported from amdgpu commit 14db71a606128c4a207f43298809af279b77e2a8)
---
 configure.ac          |  2 +-
 src/drmmode_display.c | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index f5614749f..65206e7fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,7 +64,7 @@ AC_ARG_WITH(xorg-module-dir,
             [moduledir="$libdir/xorg/modules"])
 
 # Store the list of server defined optional extensions in REQUIRED_MODULES
-XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+XORG_DRIVER_CHECK_EXT(RANDR, [randrproto >= 1.6.0])
 XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
 XORG_DRIVER_CHECK_EXT(XV, videoproto)
 XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 03c850f8a..27aa5a6c8 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1975,6 +1975,9 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, drmModeResPtr mode_r
 	drmModeEncoderPtr *kencoders = NULL;
 	drmmode_output_private_ptr drmmode_output;
 	drmModePropertyBlobPtr path_blob = NULL;
+#if XF86_CRTC_VERSION >= 8
+	Bool nonDesktop = FALSE;
+#endif
 	char name[32];
 	int i;
 	const char *s;
@@ -1985,6 +1988,13 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, drmModeResPtr mode_r
 
 	path_blob = koutput_get_prop_blob(pRADEONEnt->fd, koutput, "PATH");
 
+#if XF86_CRTC_VERSION >= 8
+	i = koutput_get_prop_idx(pRADEONEnt->fd, koutput, DRM_MODE_PROP_RANGE,
+				 RR_PROPERTY_NON_DESKTOP);
+	if (i >= 0)
+		nonDesktop = koutput->prop_values[i] != 0;
+#endif
+
 	kencoders = calloc(sizeof(drmModeEncoderPtr), koutput->count_encoders);
 	if (!kencoders) {
 		goto out_free_encoders;
@@ -2014,6 +2024,9 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, drmModeResPtr mode_r
 			drmmode_output = output->driver_private;
 			drmmode_output->output_id = mode_res->connectors[num];
 			drmmode_output->mode_output = koutput;
+#if XF86_CRTC_VERSION >= 8
+			output->non_desktop = nonDesktop;
+#endif
 			for (i = 0; i < koutput->count_encoders; i++)
 				drmModeFreeEncoder(kencoders[i]);
 			free(kencoders);
@@ -2055,6 +2068,9 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, drmModeResPtr mode_r
 	output->interlaceAllowed = TRUE;
 	output->doubleScanAllowed = TRUE;
 	output->driver_private = drmmode_output;
+#if XF86_CRTC_VERSION >= 8
+	output->non_desktop = nonDesktop;
+#endif
 	
 	output->possible_crtcs = 0xffffffff;
 	for (i = 0; i < koutput->count_encoders; i++) {
-- 
2.18.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2018-07-11 17:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-11 17:27 [PATCH xf86-video-ati 00/21] Port outstanding changes frm Michel Dänzer
     [not found] ` <20180711172806.22849-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-07-11 17:27   ` [PATCH xf86-video-ati 01/21] Wait for pending scanout update before calling drmmode_crtc_scanout_free Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 02/21] Do not export the DriverRec RADEON Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 03/21] Ignore RADEON_DRM_QUEUE_ERROR (0) in radeon_drm_abort_entry Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 04/21] Track DRM event queue sequence number in scanout_update_pending Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 05/21] Abort scanout_update_pending event when possible Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 06/21] Update RandR CRTC state if set_mode_major fails in set_desired_modes Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 07/21] Simplify drmmode_crtc_scanout_update Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 08/21] Don't call scanout_flip/update with a legacy RandR scanout buffer Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 09/21] Simplify drmmode_handle_transform Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 10/21] Set drmmode_crtc->scanout_id = 0 when TearFree is disabled Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 11/21] Refactor drmmode_output_set_tear_free helper Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 12/21] Wait for pending flips in drmmode_output_set_tear_free Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 13/21] Replace 'foo == NULL' with '!foo' Michel Dänzer
2018-07-11 17:27   ` [PATCH xf86-video-ati 14/21] Call drmmode_do_crtc_dpms from drmmode_crtc_dpms as well Michel Dänzer
2018-07-11 17:28   ` [PATCH xf86-video-ati 15/21] Use drmmode_crtc_dpms in drmmode_set_desired_modes Michel Dänzer
2018-07-11 17:28   ` [PATCH xf86-video-ati 16/21] Check dimensions passed to drmmode_xf86crtc_resize Michel Dänzer
2018-07-11 17:28   ` [PATCH xf86-video-ati 17/21] Remove #if 0'd code Michel Dänzer
2018-07-11 17:28   ` [PATCH xf86-video-ati 18/21] Call drmmode_crtc_gamma_do_set from drmmode_setup_colormap Michel Dänzer
2018-07-11 17:28   ` Michel Dänzer [this message]
2018-07-11 17:28   ` [PATCH xf86-video-ati 20/21] modesetting: Create CONNECTOR_ID properties for outputs [v2] Michel Dänzer
2018-07-11 17:28   ` [PATCH xf86-video-ati 21/21] Add RandR leases support Michel Dänzer
2018-07-12  4:48   ` [PATCH xf86-video-ati 00/21] Port outstanding changes frm Alex Deucher

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=20180711172806.22849-20-michel@daenzer.net \
    --to=michel-otuistvhuppr7s880joybq@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /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.