1. 13 Aug, 2024 8 commits
  2. 12 Aug, 2024 8 commits
  3. 09 Aug, 2024 6 commits
  4. 08 Aug, 2024 2 commits
    • Daniel Vetter's avatar
      Merge tag 'drm-misc-next-2024-08-01' of... · 91dae758
      Daniel Vetter authored
      Merge tag 'drm-misc-next-2024-08-01' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
      
      drm-misc-next for v6.12:
      
      UAPI Changes:
      
      virtio:
      - Define DRM capset
      
      Cross-subsystem Changes:
      
      dma-buf:
      - heaps: Clean up documentation
      
      printk:
      - Pass description to kmsg_dump()
      
      Core Changes:
      
      CI:
      - Update IGT tests
      - Point upstream repo to GitLab instance
      
      modesetting:
      - Introduce Power Saving Policy property for connectors
      - Add might_fault() to drm_modeset_lock priming
      - Add dynamic per-crtc vblank configuration support
      
      panic:
      - Avoid build-time interference with framebuffer console
      
      docs:
      - Document Colorspace property
      
      scheduler:
      - Remove full_recover from drm_sched_start
      
      TTM:
      - Make LRU walk restartable after dropping locks
      - Allow direct reclaim to allocate local memory
      
      Driver Changes:
      
      amdgpu:
      - Support Power Saving Policy connector property
      
      ast:
      - astdp: Support AST2600 with VGA; Clean up HPD
      
      bridge:
      - Silence error message on -EPROBE_DEFER
      - analogix: Clean aup
      - bridge-connector: Fix double free
      - lt6505: Disable interrupt when powered off
      - tc358767: Make default DP port preemphasis configurable
      
      gma500:
      - Update i2c terminology
      
      ivpu:
      - Add MODULE_FIRMWARE()
      
      lcdif:
      - Fix pixel clock
      
      loongson:
      - Use GEM refcount over TTM's
      
      mgag200:
      - Improve BMC handling
      - Support VBLANK intterupts
      
      nouveau:
      - Refactor and clean up internals
      - Use GEM refcount over TTM's
      
      panel:
      - Shutdown fixes plus documentation
      - Refactor several drivers for better code sharing
      - boe-th101mb31ig002: Support for starry-er88577 MIPI-DSI panel plus
        DT; Fix porch parameter
      - edp: Support AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1,
        BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, CMN N116BCA-EA2,
        CMN N116BCP-EA2, CSW MNB601LS1-4
      - himax-hx8394: Support Microchip AC40T08A MIPI Display panel plus DT
      - ilitek-ili9806e: Support Densitron DMT028VGHMCMI-1D TFT plus DT
      - jd9365da: Support Melfas lmfbx101117480 MIPI-DSI panel plus DT; Refactor
        for code sharing
      
      sti:
      - Fix module owner
      
      stm:
      - Avoid UAF wih managed plane and CRTC helpers
      - Fix module owner
      - Fix error handling in probe
      - Depend on COMMON_CLK
      - ltdc: Fix transparency after disabling plane; Remove unused interrupt
      
      tegra:
      - Call drm_atomic_helper_shutdown()
      
      v3d:
      - Clean up perfmon
      
      vkms:
      - Clean up
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240801121406.GA102996@linux.fritz.box
      91dae758
    • José Expósito's avatar
      drm/vkms: Fix cpu_to_le16()/le16_to_cpu() warnings · 17419a5c
      José Expósito authored
      Building with Sparse enabled prints this warning for cpu_to_le16()
      calls:
      
          warning: incorrect type in assignment (different base types)
              expected unsigned short [usertype]
              got restricted __le16 [usertype]
      
      And this warning for le16_to_cpu() calls:
      
          warning: cast to restricted __le16
      
      Declare the target buffer as __le16 to fix both warnings.
      Reviewed-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
      Reviewed-by: default avatarLouis Chauvet <louis.chauvet@bootlin.com>
      Acked-by: default avatarMaíra Canal <mcanal@igalia.com>
      Signed-off-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240716161725.41408-2-jose.exposito89@gmail.com
      17419a5c
  5. 07 Aug, 2024 1 commit
  6. 06 Aug, 2024 8 commits
  7. 05 Aug, 2024 2 commits
    • José Expósito's avatar
      drm/connector: Document destroy hook in drmm init functions · a99aff26
      José Expósito authored
      Document that the drm_connector_funcs.destroy hook must be NULL in
      drmm_connector_init() and drmm_connector_hdmi_init().
      Signed-off-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240804170551.33971-2-jose.exposito89@gmail.com
      a99aff26
    • Dave Airlie's avatar
      Merge tag 'drm-xe-next-2024-07-30' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next · a4172af3
      Dave Airlie authored
      drm-xe-next for 6.12
      
      UAPI Changes:
      - Rename xe perf layer as xe observation layer, but was
        also made available via fixes to previous verison (Ashutosh)
      - Use write-back caching mode for system memory on DGFX,
        but was also mad available via fixes to previous version (Thomas)
      - Expose SIMD16 EU mask in topology query for userspace to know
        the type of EU, as available in PVC, Lunar Lake and Battlemage
        (Lucas)
      - Return ENOBUFS instead of ENOMEM in vm_bind if failure is tied
        to an array of binds (Matthew Brost)
      
      Driver Changes:
      - Log cleanup moving messages to debug priority (Michal Wajdeczko)
      - Add timeout to fences to adhere to dma_buf rules (Matthew Brost)
      - Rename old engine nomenclature to exec_queue (Matthew Brost)
      - Convert multiple bind ops to 1 job (Matthew Brost)
      - Add error injection for vm bind to help testing error path
        (Matthew Brost)
      - Fix error handling in page table to propagate correctly
        to userspace (Matthew Brost)
      - Re-organize and cleanup SR-IOV related registers (Michal Wajdeczko)
      - Make the device write barrier compatible with VF (Michal Wajdeczko)
      - New display workarounds for Battlemage (Matthew  Auld)
      - New media workarounds for Lunar Lake and Battlemage (Ngai-Mint Kwan)
      - New graphics workarounds for Lunar Lake (Bommu Krishnaiah)
      - Tracepoint updates (Matthew Brost, Nirmoy Das)
      - Cleanup the header generation for OOB workarounds (Lucas De Marchi)
      - Fix leaking HDCP-related object (Nirmoy Das)
      - Serialize L2 flushes to avoid races (Tejas Upadhyay)
      - Log pid and comm on job timeout (José Roberto de Souza)
      - Simplify boilerplate code for live kunit (Michal Wajdeczko)
      - Improve kunit skips for live kunit (Michal Wajdeczko)
      - Fix xe_sync cleanup when handling xe_exec ioctl (Ashutosh Dixit)
      - Limit fair VF LMEM provisioning (Michal Wajdeczko)
      - New workaround to fence mmio writes in Lunar Lake (Tejas Upadhyay)
      - Warn on writes inaccessible register in VF (Michal Wajdeczko)
      - Fix register lookup in VF (Michal Wajdeczko)
      - Add GSC support for Battlemage (Alexander Usyskin)
      - Fix wedging only the GT in which timeout occurred (Matthew Brost)
      - Block device suspend when wedging (Matthew Brost)
      - Handle compression and migration changes for Battlemage
        (Akshata Jahagirdar)
      - Limit access of stolen memory for Lunar Lake (Uma Shankar)
      - Fail invalid addresses during user fence creation (Matthew Brost)
      - Refcount xe_file to safely and accurately store fdinfo stats
        (Umesh Nerlige Ramappa)
      - Cleanup and fix PM reference for TLB invalidation code
        (Matthew Brost)
      - Fix PM reference handling when communicating with GuC (Matthew Brost)
      - Add new BO flag for 2 MiB alignement and use in VF (Michal Wajdeczko)
      - Simplify MMIO setup for multi-tile platforms (Lucas De Marchi)
      - Add check for uninitialized access to OOB workarounds
        (Lucas De Marchi)
      - New GSC and HuC firmware blobs for Lunar Lake and Battlemage
        (Daniele Ceraolo Spurio)
      - Unify mmio wait logic (Gustavo Sousa)
      - Fix off-by-one when processing RTP rules (Lucas De Marchi)
      - Future-proof migrate logic with compressed PAT flag (Matt Roper)
      - Add WA kunit tests for Battlemage (Lucas De Marchi)
      - Test active tracking for workaorunds with kunit (Lucas De Marchi)
      - Add kunit tests for RTP with no actions (Lucas De Marchi)
      - Unify parse of OR rules in RTP (Lucas De Marchi)
      - Add performance tuning for Battlemage (Sai Teja Pottumuttu)
      - Make bit masks unsigned (Geert Uytterhoeven)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Lucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/k7xuktfav4zmtxxjr77glu2hszypvzgmzghoumh757nqfnk7kn@ccfi4ts3ytbk
      a4172af3
  8. 04 Aug, 2024 5 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc2 · de9c2c66
      Linus Torvalds authored
      de9c2c66
    • Tetsuo Handa's avatar
      profiling: remove profile=sleep support · b88f5538
      Tetsuo Handa authored
      The kernel sleep profile is no longer working due to a recursive locking
      bug introduced by commit 42a20f86 ("sched: Add wrapper for get_wchan()
      to keep task blocked")
      
      Booting with the 'profile=sleep' kernel command line option added or
      executing
      
        # echo -n sleep > /sys/kernel/profiling
      
      after boot causes the system to lock up.
      
      Lockdep reports
      
        kthreadd/3 is trying to acquire lock:
        ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: get_wchan+0x32/0x70
      
        but task is already holding lock:
        ffff93ac82e08d58 (&p->pi_lock){....}-{2:2}, at: try_to_wake_up+0x53/0x370
      
      with the call trace being
      
         lock_acquire+0xc8/0x2f0
         get_wchan+0x32/0x70
         __update_stats_enqueue_sleeper+0x151/0x430
         enqueue_entity+0x4b0/0x520
         enqueue_task_fair+0x92/0x6b0
         ttwu_do_activate+0x73/0x140
         try_to_wake_up+0x213/0x370
         swake_up_locked+0x20/0x50
         complete+0x2f/0x40
         kthread+0xfb/0x180
      
      However, since nobody noticed this regression for more than two years,
      let's remove 'profile=sleep' support based on the assumption that nobody
      needs this functionality.
      
      Fixes: 42a20f86 ("sched: Add wrapper for get_wchan() to keep task blocked")
      Cc: stable@vger.kernel.org # v5.16+
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b88f5538
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a5dbd76a
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
      
       - Prevent a deadlock on cpu_hotplug_lock in the aperf/mperf driver.
      
         A recent change in the ACPI code which consolidated code pathes moved
         the invocation of init_freq_invariance_cppc() to be moved to a CPU
         hotplug handler. The first invocation on AMD CPUs ends up enabling a
         static branch which dead locks because the static branch enable tries
         to acquire cpu_hotplug_lock but that lock is already held write by
         the hotplug machinery.
      
         Use static_branch_enable_cpuslocked() instead and take the hotplug
         lock read for the Intel code path which is invoked from the
         architecture code outside of the CPU hotplug operations.
      
       - Fix the number of reserved bits in the sev_config structure bit field
         so that the bitfield does not exceed 64 bit.
      
       - Add missing Zen5 model numbers
      
       - Fix the alignment assumptions of pti_clone_pgtable() and
         clone_entry_text() on 32-bit:
      
         The code assumes PMD aligned code sections, but on 32-bit the kernel
         entry text is not PMD aligned. So depending on the code size and
         location, which is configuration and compiler dependent, entry text
         can cross a PMD boundary. As the start is not PMD aligned adding PMD
         size to the start address is larger than the end address which
         results in partially mapped entry code for user space. That causes
         endless recursion on the first entry from userspace (usually #PF).
      
         Cure this by aligning the start address in the addition so it ends up
         at the next PMD start address.
      
         clone_entry_text() enforces PMD mapping, but on 32-bit the tail might
         eventually be PTE mapped, which causes a map fail because the PMD for
         the tail is not a large page mapping. Use PTI_LEVEL_KERNEL_IMAGE for
         the clone() invocation which resolves to PTE on 32-bit and PMD on
         64-bit.
      
       - Zero the 8-byte case for get_user() on range check failure on 32-bit
      
         The recend consolidation of the 8-byte get_user() case broke the
         zeroing in the failure case again. Establish it by clearing ECX
         before the range check and not afterwards as that obvioulsy can't be
         reached when the range check fails
      
      * tag 'x86-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uaccess: Zero the 8-byte get_range case on failure on 32-bit
        x86/mm: Fix pti_clone_entry_text() for i386
        x86/mm: Fix pti_clone_pgtable() alignment assumption
        x86/setup: Parse the builtin command line before merging
        x86/CPU/AMD: Add models 0x60-0x6f to the Zen5 range
        x86/sev: Fix __reserved field in sev_config
        x86/aperfmperf: Fix deadlock on cpu_hotplug_lock
      a5dbd76a
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 61ca6c78
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two fixes for the timer/clocksource code:
      
         - The recent fix to make the take over of the broadcast timer more
           reliable retrieves a per CPU pointer in preemptible context.
      
           This went unnoticed in testing as some compilers hoist the access
           into the non-preemotible section where the pointer is actually
           used, but obviously compilers can rightfully invoke it where the
           code put it.
      
           Move it into the non-preemptible section right to the actual usage
           side to cure it.
      
         - The clocksource watchdog is supposed to emit a warning when the
           retry count is greater than one and the number of retries reaches
           the limit.
      
           The condition is backwards and warns always when the count is
           greater than one. Fixup the condition to prevent spamming dmesg"
      
      * tag 'timers-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Fix brown-bag boolean thinko in cs_watchdog_read()
        tick/broadcast: Move per CPU pointer access into the atomic section
      61ca6c78
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6cc82dc2
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
      
       - When stime is larger than rtime due to accounting imprecision, then
         utime = rtime - stime becomes negative. As this is unsigned math, the
         result becomes a huge positive number.
      
         Cure it by resetting stime to rtime in that case, so utime becomes 0.
      
       - Restore consistent state when sched_cpu_deactivate() fails.
      
         When offlining a CPU fails in sched_cpu_deactivate() after the SMT
         present counter has been decremented, then the function aborts but
         fails to increment the SMT present counter and leaves it imbalanced.
         Consecutive operations cause it to underflow. Add the missing fixup
         for the error path.
      
         For SMT accounting the runqueue needs to marked online again in the
         error exit path to restore consistent state.
      
      * tag 'sched-urgent-2024-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate()
        sched/core: Introduce sched_set_rq_on/offline() helper
        sched/smt: Fix unbalance sched_smt_present dec/inc
        sched/smt: Introduce sched_smt_present_inc/dec() helper
        sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime
      6cc82dc2