From: Hans de Goede <hdegoede@redhat.com>
To: "Ben Skeggs" <bskeggs@redhat.com>,
"Karol Herbst" <kherbst@redhat.com>, Lyude <lyude@redhat.com>,
"Daniel Dadap" <ddadap@nvidia.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Tvrtko Ursulin" <tvrtko.ursulin@linux.intel.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
Pan@freedesktop.org, Xinhui <Xinhui.Pan@amd.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Lukas Wunner" <lukas@wunner.de>,
"Mark Gross" <markgross@kernel.org>,
"Andy Shevchenko" <andy@kernel.org>
Cc: linux-acpi@vger.kernel.org, David Airlie <airlied@linux.ie>,
nouveau@lists.freedesktop.org,
intel-gfx <intel-gfx@lists.freedesktop.org>,
dri-devel@lists.freedesktop.org,
platform-driver-x86@vger.kernel.org,
Hans de Goede <hdegoede@redhat.com>,
amd-gfx@lists.freedesktop.org, Len Brown <lenb@kernel.org>
Subject: [PATCH v3 04/31] drm/radeon: Don't register backlight when another backlight should be used (v3)
Date: Thu, 18 Aug 2022 20:42:35 +0200 [thread overview]
Message-ID: <20220818184302.10051-5-hdegoede@redhat.com> (raw)
In-Reply-To: <20220818184302.10051-1-hdegoede@redhat.com>
Before this commit when we want userspace to use the acpi_video backlight
device we register both the GPU's native backlight device and acpi_video's
firmware acpi_video# backlight device. This relies on userspace preferring
firmware type backlight devices over native ones.
Registering 2 backlight devices for a single display really is
undesirable, don't register the GPU's native backlight device when
another backlight device should be used.
Changes in v2:
- To avoid linker errors when amdgpu is builtin and video_detect.c is in
a module, select ACPI_VIDEO and its deps if ACPI is enabled.
When ACPI is disabled, ACPI_VIDEO is also always disabled, ensuring
the stubs from acpi/video.h will be used.
Changes in v3:
- Use drm_info(drm_dev, "...") to log messages
- ACPI_VIDEO can now be enabled on non X86 too,
adjust the Kconfig changes to match this.
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/gpu/drm/Kconfig | 7 +++++++
drivers/gpu/drm/radeon/atombios_encoders.c | 7 +++++++
drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 7 +++++++
3 files changed, 21 insertions(+)
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 95ca33938b4a..0471505e951d 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -234,6 +234,13 @@ config DRM_RADEON
select HWMON
select BACKLIGHT_CLASS_DEVICE
select INTERVAL_TREE
+ # radeon depends on ACPI_VIDEO when ACPI is enabled, for select to work
+ # ACPI_VIDEO's dependencies must also be selected.
+ select INPUT if ACPI
+ select ACPI_VIDEO if ACPI
+ # On x86 ACPI_VIDEO also needs ACPI_WMI
+ select X86_PLATFORM_DEVICES if ACPI && X86
+ select ACPI_WMI if ACPI && X86
help
Choose this option if you have an ATI Radeon graphics card. There
are both PCI and AGP versions. You don't need to choose this to
diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c
index c93040e60d04..2b01edea8fe8 100644
--- a/drivers/gpu/drm/radeon/atombios_encoders.c
+++ b/drivers/gpu/drm/radeon/atombios_encoders.c
@@ -32,6 +32,8 @@
#include <drm/drm_file.h>
#include <drm/radeon_drm.h>
+#include <acpi/video.h>
+
#include "atom.h"
#include "radeon_atombios.h"
#include "radeon.h"
@@ -209,6 +211,11 @@ void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder,
if (!(rdev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU))
return;
+ if (!acpi_video_backlight_use_native()) {
+ drm_info(dev, "Skipping radeon atom DIG backlight registration\n");
+ return;
+ }
+
pdata = kmalloc(sizeof(struct radeon_backlight_privdata), GFP_KERNEL);
if (!pdata) {
DRM_ERROR("Memory allocation failed\n");
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
index 1a66fb969ee7..0cd32c65456c 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
@@ -33,6 +33,8 @@
#include <drm/drm_util.h>
#include <drm/radeon_drm.h>
+#include <acpi/video.h>
+
#include "radeon.h"
#include "radeon_asic.h"
#include "radeon_legacy_encoders.h"
@@ -387,6 +389,11 @@ void radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder,
return;
#endif
+ if (!acpi_video_backlight_use_native()) {
+ drm_info(dev, "Skipping radeon legacy LVDS backlight registration\n");
+ return;
+ }
+
pdata = kmalloc(sizeof(struct radeon_backlight_privdata), GFP_KERNEL);
if (!pdata) {
DRM_ERROR("Memory allocation failed\n");
--
2.37.2
next prev parent reply other threads:[~2022-08-18 18:45 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-18 18:42 [PATCH v3 00/31] drm/kms: Stop registering multiple /sys/class/backlight devs for a single display Hans de Goede
2022-08-18 18:42 ` [PATCH v3 01/31] ACPI: video: Add acpi_video_backlight_use_native() helper Hans de Goede
2022-08-18 18:42 ` [PATCH v3 02/31] drm/i915: Don't register backlight when another backlight should be used Hans de Goede
2022-08-18 18:42 ` [PATCH v3 03/31] drm/amdgpu: Don't register backlight when another backlight should be used (v3) Hans de Goede
2022-08-18 18:42 ` Hans de Goede [this message]
2022-08-18 18:42 ` [PATCH v3 05/31] drm/nouveau: Don't register backlight when another backlight should be used Hans de Goede
2022-08-18 18:42 ` [PATCH v3 06/31] ACPI: video: Drop backlight_device_get_by_type() call from acpi_video_get_backlight_type() Hans de Goede
2022-08-18 18:42 ` [PATCH v3 07/31] ACPI: video: Remove acpi_video_bus from list before tearing it down Hans de Goede
2022-08-18 18:42 ` [PATCH v3 08/31] ACPI: video: Simplify acpi_video_unregister_backlight() Hans de Goede
2022-08-18 18:42 ` [PATCH v3 09/31] ACPI: video: Make backlight class device registration a separate step (v2) Hans de Goede
2022-08-18 20:07 ` Daniel Dadap
2022-08-19 8:50 ` Hans de Goede
2022-08-18 18:42 ` [PATCH v3 10/31] ACPI: video: Remove code to unregister acpi_video backlight when a native backlight registers Hans de Goede
2022-08-18 18:42 ` [PATCH v3 11/31] drm/i915: Call acpi_video_register_backlight() (v2) Hans de Goede
2022-08-18 18:42 ` [PATCH v3 12/31] drm/nouveau: Register ACPI video backlight when nv_backlight registration fails Hans de Goede
2022-08-18 18:42 ` [PATCH v3 13/31] drm/amdgpu: Register ACPI video backlight when skipping amdgpu backlight registration Hans de Goede
2022-08-18 18:42 ` [PATCH v3 14/31] drm/radeon: Register ACPI video backlight when skipping radeon " Hans de Goede
2022-08-18 18:42 ` [PATCH v3 15/31] platform/x86: nvidia-wmi-ec-backlight: Move fw interface definitions to a header Hans de Goede
2022-08-18 19:38 ` Daniel Dadap
2022-08-19 10:05 ` Hans de Goede
2022-08-18 18:42 ` [PATCH v3 16/31] ACPI: video: Refactor acpi_video_get_backlight_type() a bit Hans de Goede
2022-08-18 18:42 ` [PATCH v3 17/31] ACPI: video: Add Nvidia WMI EC brightness control detection (v2) Hans de Goede
2022-08-18 19:44 ` Daniel Dadap
2022-08-18 18:42 ` [PATCH v3 18/31] ACPI: video: Add Apple GMUX brightness control detection Hans de Goede
2022-08-18 18:42 ` [PATCH v3 19/31] platform/x86: nvidia-wmi-ec-backlight: Use acpi_video_get_backlight_type() Hans de Goede
2022-08-18 19:46 ` Daniel Dadap
2022-08-18 18:42 ` [PATCH v3 20/31] platform/x86: apple-gmux: Stop calling acpi/video.h functions Hans de Goede
2022-08-18 18:42 ` [PATCH v3 21/31] platform/x86: toshiba_acpi: Stop using acpi_video_set_dmi_backlight_type() Hans de Goede
2022-08-18 18:42 ` [PATCH v3 22/31] platform/x86: acer-wmi: Move backlight DMI quirks to acpi/video_detect.c Hans de Goede
2022-08-18 18:42 ` [PATCH v3 23/31] platform/x86: asus-wmi: Drop DMI chassis-type check from backlight handling Hans de Goede
2022-08-18 18:42 ` [PATCH v3 24/31] platform/x86: asus-wmi: Move acpi_backlight=vendor quirks to ACPI video_detect.c Hans de Goede
2022-08-18 18:42 ` [PATCH v3 25/31] platform/x86: asus-wmi: Move acpi_backlight=native " Hans de Goede
2022-08-18 18:42 ` [PATCH v3 26/31] platform/x86: samsung-laptop: Move acpi_backlight=[vendor|native] " Hans de Goede
2022-08-18 18:42 ` [PATCH v3 27/31] ACPI: video: Remove acpi_video_set_dmi_backlight_type() Hans de Goede
2022-08-18 18:42 ` [PATCH v3 28/31] ACPI: video: Drop "Samsung X360" acpi_backlight=native quirk Hans de Goede
2022-08-18 18:43 ` [PATCH v3 29/31] ACPI: video: Drop NL5x?U, PF4NU1F and PF5?U?? acpi_backlight=native quirks Hans de Goede
2022-08-18 18:43 ` [PATCH v3 30/31] ACPI: video: Fix indentation of video_detect_dmi_table[] entries Hans de Goede
2022-08-18 18:43 ` [PATCH v3 31/31] drm/todo: Add entry about dealing with brightness control on devices with > 1 panel Hans de Goede
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=20220818184302.10051-5-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=Pan@freedesktop.org \
--cc=Xinhui.Pan@amd.com \
--cc=airlied@linux.ie \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andy@kernel.org \
--cc=bskeggs@redhat.com \
--cc=christian.koenig@amd.com \
--cc=ddadap@nvidia.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kherbst@redhat.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=lyude@redhat.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=markgross@kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=mripard@kernel.org \
--cc=nouveau@lists.freedesktop.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=tzimmermann@suse.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).