[PATCH v5 00/31] drm/kms: Stop registering multiple /sys/class/backlight devs for a single display
Hans de Goede
hdegoede at redhat.com
Thu Aug 25 14:36:55 UTC 2022
Hi All,
As mentioned in my RFC titled "drm/kms: control display brightness through
drm_connector properties":
https://lore.kernel.org/dri-devel/0d188965-d809-81b5-74ce-7d30c49fee2d@redhat.com/
The first step towards this is to deal with some existing technical debt
in backlight handling on x86/ACPI boards, specifically we need to stop
registering multiple /sys/class/backlight devs for a single display.
This series implements my RFC describing my plan for these cleanups:
https://lore.kernel.org/dri-devel/98519ba0-7f18-201a-ea34-652f50343158@redhat.com/
Changes in version 5:
- Use drm_info(drm_dev, ...) in patch 2/31
- Modify "drm/i915: Call acpi_video_register_backlight()", dropping
the global has_panel flag, replacing it with a new
intel_acpi_video_register() helper
Changes in version 4:
- Minor tweaks to nvidia-wmi-ec-backlight changes
- Add nouveau_acpi_* wrappers around used include/acpi/video.h functions to
fix unresolved symbol errors on non X86
Changes in version 3:
- ACPI_VIDEO can now be enabled on non X86 too, adjust various Kconfig changes
- Make the delay before doing fallback acpi_video backlight registration
a module option (patch 9)
- Move the nvidia-wmi-ec-backlight fw API definitions to a shared header
- Add a "acpi_video_get_backlight_type() == acpi_backlight_nvidia_wmi_ec"
check to the nvidia-wmi-ec-backlight driver (patch 19)
Changes in version 2:
- Introduce acpi_video_backlight_use_native() helper
- Finishes the refactoring, addressing all the bits from the "Other issues"
section of the refactor RFC
This series as submitted is based on drm-tip for CI purposes.
Assuming the last i915 patch also pass review now, I hope to push
out an immutable branch with this series on top of v6.0-rc1 and
send out a pull-request to all involved subsystems based on
this branch soon.
Regards,
Hans
Hans de Goede (31):
ACPI: video: Add acpi_video_backlight_use_native() helper
drm/i915: Don't register backlight when another backlight should be
used (v2)
drm/amdgpu: Don't register backlight when another backlight should be
used (v3)
drm/radeon: Don't register backlight when another backlight should be
used (v3)
drm/nouveau: Don't register backlight when another backlight should be
used (v2)
ACPI: video: Drop backlight_device_get_by_type() call from
acpi_video_get_backlight_type()
ACPI: video: Remove acpi_video_bus from list before tearing it down
ACPI: video: Simplify acpi_video_unregister_backlight()
ACPI: video: Make backlight class device registration a separate step
(v2)
ACPI: video: Remove code to unregister acpi_video backlight when a
native backlight registers
drm/i915: Call acpi_video_register_backlight() (v3)
drm/nouveau: Register ACPI video backlight when nv_backlight
registration fails (v2)
drm/amdgpu: Register ACPI video backlight when skipping amdgpu
backlight registration
drm/radeon: Register ACPI video backlight when skipping radeon
backlight registration
platform/x86: nvidia-wmi-ec-backlight: Move fw interface definitions
to a header (v2)
ACPI: video: Refactor acpi_video_get_backlight_type() a bit
ACPI: video: Add Nvidia WMI EC brightness control detection (v3)
ACPI: video: Add Apple GMUX brightness control detection
platform/x86: nvidia-wmi-ec-backlight: Use
acpi_video_get_backlight_type()
platform/x86: apple-gmux: Stop calling acpi/video.h functions
platform/x86: toshiba_acpi: Stop using
acpi_video_set_dmi_backlight_type()
platform/x86: acer-wmi: Move backlight DMI quirks to
acpi/video_detect.c
platform/x86: asus-wmi: Drop DMI chassis-type check from backlight
handling
platform/x86: asus-wmi: Move acpi_backlight=vendor quirks to ACPI
video_detect.c
platform/x86: asus-wmi: Move acpi_backlight=native quirks to ACPI
video_detect.c
platform/x86: samsung-laptop: Move acpi_backlight=[vendor|native]
quirks to ACPI video_detect.c
ACPI: video: Remove acpi_video_set_dmi_backlight_type()
ACPI: video: Drop "Samsung X360" acpi_backlight=native quirk
ACPI: video: Drop NL5x?U, PF4NU1F and PF5?U?? acpi_backlight=native
quirks
ACPI: video: Fix indentation of video_detect_dmi_table[] entries
drm/todo: Add entry about dealing with brightness control on devices
with > 1 panel
Documentation/gpu/todo.rst | 68 +++
MAINTAINERS | 1 +
drivers/acpi/Kconfig | 1 +
drivers/acpi/acpi_video.c | 64 ++-
drivers/acpi/video_detect.c | 428 +++++++++++-------
drivers/gpu/drm/Kconfig | 14 +
.../gpu/drm/amd/amdgpu/atombios_encoders.c | 14 +-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +
drivers/gpu/drm/gma500/Kconfig | 2 +
drivers/gpu/drm/i915/Kconfig | 2 +
drivers/gpu/drm/i915/display/intel_acpi.c | 27 ++
drivers/gpu/drm/i915/display/intel_acpi.h | 3 +
.../gpu/drm/i915/display/intel_backlight.c | 7 +
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_acpi.c | 10 +
drivers/gpu/drm/nouveau/nouveau_acpi.h | 4 +
drivers/gpu/drm/nouveau/nouveau_backlight.c | 13 +
drivers/gpu/drm/radeon/atombios_encoders.c | 7 +
drivers/gpu/drm/radeon/radeon_encoders.c | 11 +-
.../gpu/drm/radeon/radeon_legacy_encoders.c | 7 +
drivers/platform/x86/Kconfig | 1 +
drivers/platform/x86/acer-wmi.c | 66 ---
drivers/platform/x86/apple-gmux.c | 3 -
drivers/platform/x86/asus-nb-wmi.c | 21 -
drivers/platform/x86/asus-wmi.c | 13 -
drivers/platform/x86/asus-wmi.h | 2 -
drivers/platform/x86/eeepc-wmi.c | 25 +-
.../platform/x86/nvidia-wmi-ec-backlight.c | 82 +---
drivers/platform/x86/samsung-laptop.c | 87 ----
drivers/platform/x86/toshiba_acpi.c | 16 -
include/acpi/video.h | 9 +-
.../x86/nvidia-wmi-ec-backlight.h | 76 ++++
32 files changed, 588 insertions(+), 507 deletions(-)
create mode 100644 include/linux/platform_data/x86/nvidia-wmi-ec-backlight.h
--
2.37.2
More information about the dri-devel
mailing list