1. 03 Sep, 2022 2 commits
    • Hans de Goede's avatar
      drm/nouveau: Register ACPI video backlight when nv_backlight registration fails (v2) · c0533838
      Hans de Goede authored
      Typically the acpi_video driver will initialize before nouveau, which
      used to cause /sys/class/backlight/acpi_video0 to get registered and then
      nouveau would register its own nv_backlight device later. After which
      the drivers/acpi/video_detect.c code unregistered the acpi_video0 device
      to avoid there being 2 backlight devices.
      
      This means that userspace used to briefly see 2 devices and the
      disappearing of acpi_video0 after a brief time confuses the systemd
      backlight level save/restore code, see e.g.:
      https://bbs.archlinux.org/viewtopic.php?id=269920
      
      To fix this the ACPI video code has been modified to make backlight class
      device registration a separate step, relying on the drm/kms driver to
      ask for the acpi_video backlight registration after it is done setting up
      its native backlight device.
      
      Add a call to the new acpi_video_register_backlight() when native backlight
      device registration has failed / was skipped to ensure that there is a
      backlight device available before the drm_device gets registered with
      userspace.
      
      Changes in v2:
      - Add nouveau_acpi_video_register_backlight() wrapper to avoid unresolved
        symbol errors on non X86
      Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      c0533838
    • Hans de Goede's avatar
      drm/i915: Call acpi_video_register_backlight() (v3) · 3c8b6a39
      Hans de Goede authored
      On machins without an i915 opregion the acpi_video driver immediately
      probes the ACPI video bus and used to also immediately register
      acpi_video# backlight devices when supported.
      
      Once the drm/kms driver then loaded later and possibly registered
      a native backlight device then the drivers/acpi/video_detect.c code
      unregistered the acpi_video0 device to avoid there being 2 backlight
      devices (when acpi_video_get_backlight_type()==native).
      
      This means that userspace used to briefly see 2 devices and the
      disappearing of acpi_video0 after a brief time confuses the systemd
      backlight level save/restore code, see e.g.:
      https://bbs.archlinux.org/viewtopic.php?id=269920
      
      To fix this the ACPI video code has been modified to make backlight class
      device registration a separate step, relying on the drm/kms driver to
      ask for the acpi_video backlight registration after it is done setting up
      its native backlight device.
      
      Add a call to the new acpi_video_register_backlight() after the i915 calls
      acpi_video_register() (after setting up the i915 opregion) so that the
      acpi_video backlight devices get registered on systems where the i915
      native backlight device is not registered.
      
      Changes in v2:
      -Only call acpi_video_register_backlight() when a panel is detected
      
      Changes in v3:
      -Add a new intel_acpi_video_register() helper which checks if a panel
       is present and then calls acpi_video_register_backlight()
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      3c8b6a39
  2. 02 Sep, 2022 6 commits
  3. 25 Aug, 2022 3 commits
    • Hans de Goede's avatar
      drm/radeon: Don't register backlight when another backlight should be used (v3) · 1eb67781
      Hans de Goede authored
      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: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      1eb67781
    • Hans de Goede's avatar
      drm/amdgpu: Don't register backlight when another backlight should be used (v3) · da11ef83
      Hans de Goede authored
      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: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      da11ef83
    • Hans de Goede's avatar
      drm/i915: Don't register backlight when another backlight should be used (v2) · b1d36e73
      Hans de Goede authored
      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:
      - Use drm_info(drm_dev,  ...) for log messages
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      b1d36e73
  4. 17 Aug, 2022 1 commit
    • Hans de Goede's avatar
      ACPI: video: Add acpi_video_backlight_use_native() helper · 2600bfa3
      Hans de Goede authored
      ATM on x86 laptops where we want userspace to use the acpi_video backlight
      device we often 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, but
      registering 2 backlight devices for a single display really is undesirable.
      
      On x86 laptops where the native GPU backlight device should be used,
      the registering of other backlight devices is avoided by their drivers
      using acpi_video_get_backlight_type() and only registering their backlight
      if the return value matches their type.
      
      acpi_video_get_backlight_type() uses
      backlight_device_get_by_type(BACKLIGHT_RAW) to determine if a native
      driver is available and will never return native if this returns
      false. This means that the GPU's native backlight registering code
      cannot just call acpi_video_get_backlight_type() to determine if it
      should register its backlight, since acpi_video_get_backlight_type() will
      never return native until the native backlight has already registered.
      
      To fix this add a new internal native function parameter to
      acpi_video_get_backlight_type(), which when set to true will make
      acpi_video_get_backlight_type() behave as if a native backlight has
      already been registered.
      
      And add a new acpi_video_backlight_use_native() helper, which sets this
      to true, for use in native GPU backlight code.
      
      Changes in v2:
      - Replace adding a native parameter to acpi_video_get_backlight_type() with
        adding a new acpi_video_backlight_use_native() helper.
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      2600bfa3
  5. 14 Aug, 2022 10 commits
    • Linus Torvalds's avatar
      Linux 6.0-rc1 · 568035b0
      Linus Torvalds authored
      568035b0
    • Yury Norov's avatar
      radix-tree: replace gfp.h inclusion with gfp_types.h · 9f162193
      Yury Norov authored
      Radix tree header includes gfp.h for __GFP_BITS_SHIFT only. Now we
      have gfp_types.h for this.
      
      Fixes powerpc allmodconfig build:
      
         In file included from include/linux/nodemask.h:97,
                          from include/linux/mmzone.h:17,
                          from include/linux/gfp.h:7,
                          from include/linux/radix-tree.h:12,
                          from include/linux/idr.h:15,
                          from include/linux/kernfs.h:12,
                          from include/linux/sysfs.h:16,
                          from include/linux/kobject.h:20,
                          from include/linux/pci.h:35,
                          from arch/powerpc/kernel/prom_init.c:24:
         include/linux/random.h: In function 'add_latent_entropy':
      >> include/linux/random.h:25:46: error: 'latent_entropy' undeclared (first use in this function); did you mean 'add_latent_entropy'?
            25 |         add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
               |                                              ^~~~~~~~~~~~~~
               |                                              add_latent_entropy
         include/linux/random.h:25:46: note: each undeclared identifier is reported only once for each function it appears in
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Jason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f162193
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 74cbb480
      Linus Torvalds authored
      Pull vfs lseek fix from Al Viro:
       "Fix proc_reg_llseek() breakage. Always had been possible if somebody
        left NULL ->proc_lseek, became a practical issue now"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        take care to handle NULL ->proc_lseek()
      74cbb480
    • Al Viro's avatar
      take care to handle NULL ->proc_lseek() · 3f61631d
      Al Viro authored
      Easily done now, just by clearing FMODE_LSEEK in ->f_mode
      during proc_reg_open() for such entries.
      
      Fixes: 868941b1 "fs: remove no_llseek"
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3f61631d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5d6a0f4d
      Linus Torvalds authored
      Pull more xen updates from Juergen Gross:
      
       - fix the handling of the "persistent grants" feature negotiation
         between Xen blkfront and Xen blkback drivers
      
       - a cleanup of xen.config and adding xen.config to Xen section in
         MAINTAINERS
      
       - support HVMOP_set_evtchn_upcall_vector, which is more compliant to
         "normal" interrupt handling than the global callback used up to now
      
       - further small cleanups
      
      * tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections
        xen: remove XEN_SCRUB_PAGES in xen.config
        xen/pciback: Fix comment typo
        xen/xenbus: fix return type in xenbus_file_read()
        xen-blkfront: Apply 'feature_persistent' parameter when connect
        xen-blkback: Apply 'feature_persistent' parameter when connect
        xen-blkback: fix persistent grants negotiation
        x86/xen: Add support for HVMOP_set_evtchn_upcall_vector
      5d6a0f4d
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of... · 96f86ff0
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tool updates from Arnaldo Carvalho de Melo:
      
       - 'perf c2c' now supports ARM64, adjust its output to cope with
         differences with what is in x86_64. Now go find false sharing on
         ARM64 (at least Neoverse) as well!
      
       - Refactor the JSON processing, making the output more compact and thus
         reducing the size of the resulting perf binary
      
       - Improvements for 'perf offcpu' profiling, including tracking child
         processes
      
       - Update Intel JSON metrics and events files for broadwellde,
         broadwellx, cascadelakex, haswellx, icelakex, ivytown, jaketown,
         knightslanding, sapphirerapids, skylakex and snowridgex
      
       - Add 'perf stat' JSON output and a 'perf test' entry for it
      
       - Ignore memfd and anonymous mmap events if jitdump present
      
       - Refactor 'perf test' shell tests allowing subdirs
      
       - Fix an error handling path in 'parse_perf_probe_command()'
      
       - Fixes for the guest Intel PT tracing patchkit in the 1st batch of
         this merge window
      
       - Print debuginfod queries if -v option is used, to explain delays in
         processing when debuginfo servers are enabled to fetch DSOs with
         richer symbol tables
      
       - Improve error message for 'perf record -p not_existing_pid'
      
       - Fix openssl and libbpf feature detection
      
       - Add PMU pai_crypto event description for IBM z16 on 'perf list'
      
       - Fix typos and duplicated words on comments in various places
      
      * tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (81 commits)
        perf test: Refactor shell tests allowing subdirs
        perf vendor events: Update events for snowridgex
        perf vendor events: Update events and metrics for skylakex
        perf vendor events: Update metrics for sapphirerapids
        perf vendor events: Update events for knightslanding
        perf vendor events: Update metrics for jaketown
        perf vendor events: Update metrics for ivytown
        perf vendor events: Update events and metrics for icelakex
        perf vendor events: Update events and metrics for haswellx
        perf vendor events: Update events and metrics for cascadelakex
        perf vendor events: Update events and metrics for broadwellx
        perf vendor events: Update metrics for broadwellde
        perf jevents: Fold strings optimization
        perf jevents: Compress the pmu_events_table
        perf metrics: Copy entire pmu_event in find metric
        perf pmu-events: Hide the pmu_events
        perf pmu-events: Don't assume pmu_event is an array
        perf pmu-events: Move test events/metrics to JSON
        perf test: Use full metric resolution
        perf pmu-events: Hide pmu_events_map
        ...
      96f86ff0
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d785610f
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Ensure we never emit lwarx with EH=1 on 32-bit, because some 32-bit
         CPUs trap on it rather than ignoring it as they should.
      
       - Fix ftrace when building with clang, which was broken by some
         refactoring.
      
       - A couple of other minor fixes.
      
      Thanks to Christophe Leroy, Naveen N.  Rao, Nick Desaulniers, Ondrej
      Mosnacek, Pali Rohár, Russell Currey, and Segher Boessenkool.
      
      * tag 'powerpc-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/kexec: Fix build failure from uninitialised variable
        powerpc/ppc-opcode: Fix PPC_RAW_TW()
        powerpc64/ftrace: Fix ftrace for clang builds
        powerpc: Make eh value more explicit when using lwarx
        powerpc: Don't hide eh field of lwarx behind a macro
        powerpc: Fix eh field when calling lwarx on PPC32
      d785610f
    • Linus Torvalds's avatar
      Merge tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · aea23e7c
      Linus Torvalds authored
      Pull /proc/mounts fix from Al Viro:
       "Fix for /proc/mounts escaping - escape the '#' character too"
      
      * tag 'pull-work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: escape hash as well
      aea23e7c
    • Linus Torvalds's avatar
      Merge tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 332019e2
      Linus Torvalds authored
      Pull more cifs updates from Steve French:
      
       - two fixes for stable, one for a lock length miscalculation, and
         another fixes a lease break timeout bug
      
       - improvement to handle leases, allows the close timeout to be
         configured more safely
      
       - five restructuring/cleanup patches
      
      * tag '5.20-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Do not access tcon->cfids->cfid directly from is_path_accessible
        cifs: Add constructor/destructors for tcon->cfid
        SMB3: fix lease break timeout when multiple deferred close handles for the same file.
        smb3: allow deferred close timeout to be configurable
        cifs: Do not use tcon->cfid directly, use the cfid we get from open_cached_dir
        cifs: Move cached-dir functions into a separate file
        cifs: Remove {cifs,nfs}_fscache_release_page()
        cifs: fix lock length calculation
      332019e2
    • David Howells's avatar
      afs: Enable multipage folio support · 8549a263
      David Howells authored
      Enable multipage folio support for the afs filesystem.
      
      Support has already been implemented in netfslib, fscache and cachefiles
      and in most of afs, but I've waited for Matthew Wilcox's latest folio
      changes.
      
      Note that it does require a change to afs_write_begin() to return the
      correct subpage.  This is a "temporary" change as we're working on
      getting rid of the need for ->write_begin() and ->write_end()
      completely, at least as far as network filesystems are concerned - but
      it doesn't prevent afs from making use of the capability.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Tested-by: kafs-testing@auristor.com
      Cc: Marc Dionne <marc.dionne@auristor.com>
      Cc: linux-afs@lists.infradead.org
      Link: https://lore.kernel.org/lkml/2274528.1645833226@warthog.procyon.org.uk/Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8549a263
  6. 13 Aug, 2022 18 commits