1. 05 Sep, 2024 4 commits
  2. 03 Sep, 2024 3 commits
  3. 02 Sep, 2024 1 commit
  4. 30 Aug, 2024 2 commits
  5. 28 Aug, 2024 1 commit
  6. 26 Aug, 2024 4 commits
  7. 23 Aug, 2024 1 commit
  8. 16 Aug, 2024 1 commit
    • Dave Airlie's avatar
      nouveau/firmware: use dma non-coherent allocator · 9b340aeb
      Dave Airlie authored
      Currently, enabling SG_DEBUG in the kernel will cause nouveau to hit a
      BUG() on startup, when the iommu is enabled:
      
      kernel BUG at include/linux/scatterlist.h:187!
      invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
      CPU: 7 PID: 930 Comm: (udev-worker) Not tainted 6.9.0-rc3Lyude-Test+ #30
      Hardware name: MSI MS-7A39/A320M GAMING PRO (MS-7A39), BIOS 1.I0 01/22/2019
      RIP: 0010:sg_init_one+0x85/0xa0
      Code: 69 88 32 01 83 e1 03 f6 c3 03 75 20 a8 01 75 1e 48 09 cb 41 89 54
      24 08 49 89 1c 24 41 89 6c 24 0c 5b 5d 41 5c e9 7b b9 88 00 <0f> 0b 0f 0b
      0f 0b 48 8b 05 5e 46 9a 01 eb b2 66 66 2e 0f 1f 84 00
      RSP: 0018:ffffa776017bf6a0 EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffffa77600d87000 RCX: 000000000000002b
      RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffffa77680d87000
      RBP: 000000000000e000 R08: 0000000000000000 R09: 0000000000000000
      R10: ffff98f4c46aa508 R11: 0000000000000000 R12: ffff98f4c46aa508
      R13: ffff98f4c46aa008 R14: ffffa77600d4a000 R15: ffffa77600d4a018
      FS:  00007feeb5aae980(0000) GS:ffff98f5c4dc0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f22cb9a4520 CR3: 00000001043ba000 CR4: 00000000003506f0
      Call Trace:
       <TASK>
       ? die+0x36/0x90
       ? do_trap+0xdd/0x100
       ? sg_init_one+0x85/0xa0
       ? do_error_trap+0x65/0x80
       ? sg_init_one+0x85/0xa0
       ? exc_invalid_op+0x50/0x70
       ? sg_init_one+0x85/0xa0
       ? asm_exc_invalid_op+0x1a/0x20
       ? sg_init_one+0x85/0xa0
       nvkm_firmware_ctor+0x14a/0x250 [nouveau]
       nvkm_falcon_fw_ctor+0x42/0x70 [nouveau]
       ga102_gsp_booter_ctor+0xb4/0x1a0 [nouveau]
       r535_gsp_oneinit+0xb3/0x15f0 [nouveau]
       ? srso_return_thunk+0x5/0x5f
       ? srso_return_thunk+0x5/0x5f
       ? nvkm_udevice_new+0x95/0x140 [nouveau]
       ? srso_return_thunk+0x5/0x5f
       ? srso_return_thunk+0x5/0x5f
       ? ktime_get+0x47/0xb0
      
      Fix this by using the non-coherent allocator instead, I think there
      might be a better answer to this, but it involve ripping up some of
      APIs using sg lists.
      
      Cc: stable@vger.kernel.org
      Fixes: 2541626c ("drm/nouveau/acr: use common falcon HS FW code for ACR FWs")
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarDanilo Krummrich <dakr@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240815201923.632803-1-airlied@gmail.com
      9b340aeb
  9. 15 Aug, 2024 1 commit
  10. 12 Aug, 2024 3 commits
  11. 08 Aug, 2024 1 commit
  12. 06 Aug, 2024 2 commits
  13. 05 Aug, 2024 2 commits
  14. 02 Aug, 2024 2 commits
  15. 31 Jul, 2024 3 commits
  16. 30 Jul, 2024 3 commits
  17. 29 Jul, 2024 2 commits
  18. 28 Jul, 2024 4 commits
    • Linus Torvalds's avatar
      Linux 6.11-rc1 · 8400291e
      Linus Torvalds authored
      8400291e
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.11' of... · a0c04bd5
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Fix RPM package build error caused by an incorrect locale setup
      
       - Mark modules.weakdep as ghost in RPM package
      
       - Fix the odd combination of -S and -c in stack protector scripts,
         which is an error with the latest Clang
      
      * tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: Fix '-S -c' in x86 stack protector scripts
        kbuild: rpm-pkg: ghost modules.weakdep file
        kbuild: rpm-pkg: Fix C locale setup
      a0c04bd5
    • Linus Torvalds's avatar
      minmax: simplify and clarify min_t()/max_t() implementation · 017fa3e8
      Linus Torvalds authored
      This simplifies the min_t() and max_t() macros by no longer making them
      work in the context of a C constant expression.
      
      That means that you can no longer use them for static initializers or
      for array sizes in type definitions, but there were only a couple of
      such uses, and all of them were converted (famous last words) to use
      MIN_T/MAX_T instead.
      
      Cc: David Laight <David.Laight@aculab.com>
      Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      017fa3e8
    • Linus Torvalds's avatar
      minmax: add a few more MIN_T/MAX_T users · 4477b39c
      Linus Torvalds authored
      Commit 3a7e02c0 ("minmax: avoid overly complicated constant
      expressions in VM code") added the simpler MIN_T/MAX_T macros in order
      to avoid some excessive expansion from the rather complicated regular
      min/max macros.
      
      The complexity of those macros stems from two issues:
      
       (a) trying to use them in situations that require a C constant
           expression (in static initializers and for array sizes)
      
       (b) the type sanity checking
      
      and MIN_T/MAX_T avoids both of these issues.
      
      Now, in the whole (long) discussion about all this, it was pointed out
      that the whole type sanity checking is entirely unnecessary for
      min_t/max_t which get a fixed type that the comparison is done in.
      
      But that still leaves min_t/max_t unnecessarily complicated due to
      worries about the C constant expression case.
      
      However, it turns out that there really aren't very many cases that use
      min_t/max_t for this, and we can just force-convert those.
      
      This does exactly that.
      
      Which in turn will then allow for much simpler implementations of
      min_t()/max_t().  All the usual "macros in all upper case will evaluate
      the arguments multiple times" rules apply.
      
      We should do all the same things for the regular min/max() vs MIN/MAX()
      cases, but that has the added complexity of various drivers defining
      their own local versions of MIN/MAX, so that needs another level of
      fixes first.
      
      Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
      Cc: David Laight <David.Laight@aculab.com>
      Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4477b39c