Skip to content
Permalink
David-E-Box/Mo…
Switch branches/tags

Commits on Oct 1, 2021

  1. platform/x86: Add Intel Software Defined Silicon driver

    Intel Software Defined Silicon (SDSi) is a post manufacturing mechanism for
    activating additional silicon features. Features are enabled through a
    license activation process.  The SDSi driver provides a per socket, ioctl
    interface for applications to perform 3 main provisioning functions:
    
    1. Provision an Authentication Key Certificate (AKC), a key written to
       internal NVRAM that is used to authenticate a capability specific
       activation payload.
    
    2. Provision a Capability Activation Payload (CAP), a token authenticated
       using the AKC and applied to the CPU configuration to activate a new
       feature.
    
    3. Read the SDSi State Certificate, containing the CPU configuration
       state.
    
    The ioctl operations perform function specific mailbox commands that
    forward the requests to SDSi hardware to perform authentication of the
    payloads and enable the silicon configuration (to be made available after
    power cycling).
    
    The SDSi device itself is enumerated as an auxiliary device from the
    intel_extended_caps driver and as such has a build dependency on
    CONFIG_INTEL_EXTENDED_CAPS.
    
    Link: https://github.com/intel/intel-sdsi
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    debox1 authored and intel-lab-lkp committed Oct 1, 2021
  2. Documentation: Update ioctl-number.rst for Intel Software Defined Sil…

    …icon interface
    
    Reserve ioctl number and range for the Intel Software Defined Silicon
    driver.
    
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    debox1 authored and intel-lab-lkp committed Oct 1, 2021
  3. platform/x86/intel: extended_caps: Add support for PCIe VSEC structures

    Adds support for discovering Intel extended capability features from
    Vendor Specific Extended Capability (VSEC) registers in PCIe config space.
    
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    debox1 authored and intel-lab-lkp committed Oct 1, 2021
  4. platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus

    Intel Platform Monitoring Technology (PMT) support is indicated by presence
    of an Intel defined PCIe DVSEC structure with a PMT ID. However DVSEC
    structures may also be used by Intel to indicate support for other
    capabilities unrelated to PMT.  The Out Of Band Management Services Module
    (OOBMSM) is an example of a device that can have both PMT and non-PMT
    capabilities. In order to support these capabilities it is necessary to
    modify the intel_pmt driver to handle the creation of platform devices more
    generically. To that end the following changes are made.
    
    Convert the driver and child drivers from MFD to the Auxiliary Bus. This
    architecture is more suitable anyway since the driver partitions a
    multifunctional PCIe device. This also moves the driver out of the MFD
    subsystem and into platform/x86/intel.
    
    Before, devices were named by their capability (e.g. pmt_telemetry).
    Instead, generically name them by their capability ID (e.g.
    intel_extended_cap.2). This allows the IDs to be created automatically,
    minimizing the code needed to support future capabilities. However, to
    ensure that unsupported devices aren't created, use an allow list to
    specify supported capabilities. Along these lines, rename the driver from
    intel_pmt to intel_extended_caps to better reflect the purpose.
    
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    debox1 authored and intel-lab-lkp committed Oct 1, 2021
  5. PCI: Add #defines for accessing PCIe DVSEC fields

    Add #defines for accessing Vendor ID, Revision, Length, and ID offsets
    in the Designated Vendor Specific Extended Capability (DVSEC). Defined
    in PCIe r5.0, sec 7.9.6.
    
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>
    debox1 authored and intel-lab-lkp committed Oct 1, 2021

Commits on Sep 21, 2021

  1. Merge branch 'pci/virtualization'

    - Avoid bus resets on Atheros QCA6174, since they hang (Ingmar Klein)
    
    - Use store and forward mode on Pericom PI7C9X2G switches to avoid ACS
      erratum with ACS P2P Request Redirect (Nathan Rossi)
    
    * pci/virtualization:
      PCI: Add ACS quirk for Pericom PI7C9X2G switches
      PCI: Mark Atheros QCA6174 to avoid bus reset
    bjorn-helgaas committed Sep 21, 2021
  2. Merge branch 'pci/portdrv'

    - Don't setup portdrv IRQs if there are no port drivers that use them, to
      conserve vectors and avoid spurious events (Jan Kiszka)
    
    * pci/portdrv:
      PCI/portdrv: Do not setup up IRQs if there are no users
    bjorn-helgaas committed Sep 21, 2021
  3. Merge branch 'pci/p2pdma'

    - Apply bus offset correctly in DMA address calculation, which used the
      wrong sign before (Wang Lu)
    
    * pci/p2pdma:
      PCI/P2PDMA: Apply bus offset correctly in DMA address calculation
    bjorn-helgaas committed Sep 21, 2021
  4. Merge branch 'pci/enumeration'

    - Rename pcibios_add_device() to pcibios_device_add() since it's called
      from pci_device_add() (Oliver O'Halloran)
    
    - Don't try to enable AtomicOps on VFs, since they can only be enabled on
      the PF (Selvin Xavier)
    
    * pci/enumeration:
      PCI: Do not enable AtomicOps on VFs
      PCI: Rename pcibios_add_device() to pcibios_device_add()
    bjorn-helgaas committed Sep 21, 2021
  5. PCI: Do not enable AtomicOps on VFs

    Host crashes when pci_enable_atomic_ops_to_root() is called for VFs with
    virtual buses. The virtual buses added to SR-IOV have bus->self set to NULL
    and host crashes due to this.
    
      PID: 4481   TASK: ffff89c6941b0000  CPU: 53  COMMAND: "bash"
      ...
       #3 [ffff9a9481713808] oops_end at ffffffffb9025cd6
       #4 [ffff9a9481713828] page_fault_oops at ffffffffb906e417
       #5 [ffff9a9481713888] exc_page_fault at ffffffffb9a0ad14
       torvalds#6 [ffff9a94817138b0] asm_exc_page_fault at ffffffffb9c00ace
          [exception RIP: pcie_capability_read_dword+28]
          RIP: ffffffffb952fd5c  RSP: ffff9a9481713960  RFLAGS: 00010246
          RAX: 0000000000000001  RBX: ffff89c6b1096000  RCX: 0000000000000000
          RDX: ffff9a9481713990  RSI: 0000000000000024  RDI: 0000000000000000
          RBP: 0000000000000080   R8: 0000000000000008   R9: ffff89c64341a2f8
          R10: 0000000000000002  R11: 0000000000000000  R12: ffff89c648bab000
          R13: 0000000000000000  R14: 0000000000000000  R15: ffff89c648bab0c8
          ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
       torvalds#7 [ffff9a9481713988] pci_enable_atomic_ops_to_root at ffffffffb95359a6
       torvalds#8 [ffff9a94817139c0] bnxt_qplib_determine_atomics at ffffffffc08c1a33 [bnxt_re]
       torvalds#9 [ffff9a94817139d0] bnxt_re_dev_init at ffffffffc08ba2d1 [bnxt_re]
    
    Per PCIe r5.0, sec 9.3.5.10, the AtomicOp Requester Enable bit in Device
    Control 2 is reserved for VFs.  The PF value applies to all associated PFs.
    
    Return -EINVAL if pci_enable_atomic_ops_to_root() is called for a VF.
    
    Link: https://lore.kernel.org/r/1631354585-16597-1-git-send-email-selvin.xavier@broadcom.com
    Fixes: 35f5ace ("RDMA/bnxt_re: Enable global atomic ops if platform supports")
    Fixes: 430a236 ("PCI: Add pci_enable_atomic_ops_to_root()")
    Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Andy Gospodarek <gospo@broadcom.com>
    selvintxavier authored and bjorn-helgaas committed Sep 21, 2021
  6. PCI: Rename pcibios_add_device() to pcibios_device_add()

    The general convention for pcibios_* hooks is that they're named after the
    corresponding pci_* function they provide a hook for. The exception is
    pcibios_add_device() which provides a hook for pci_device_add().
    
    Rename pcibios_add_device() to pcibios_device_add() so it matches
    pci_device_add().
    
    Also, remove the export of the microblaze version. The only caller must be
    compiled as a built-in so there's no reason for the export.
    
    Link: https://lore.kernel.org/r/20210913152709.48013-1-oohall@gmail.com
    Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>	# s390
    oohal authored and bjorn-helgaas committed Sep 21, 2021

Commits on Sep 20, 2021

  1. PCI/portdrv: Do not setup up IRQs if there are no users

    Avoid registering service IRQs if there is no service that offers them
    or no driver to register a handler against them. This saves IRQ vectors
    when they are limited (e.g. on x86) and also avoids that spurious events
    could hit a missing handler. Such spurious events need to be generated
    by the Jailhouse hypervisor for active MSI vectors when enabling or
    disabling itself.
    
    Link: https://lore.kernel.org/r/8f9a13ac-8ab1-15ac-06cb-c131b488a36f@siemens.com
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    jan-kiszka authored and bjorn-helgaas committed Sep 20, 2021
  2. PCI: Add ACS quirk for Pericom PI7C9X2G switches

    The Pericom PI7C9X2G404/PI7C9X2G304/PI7C9X2G303 PCIe switches have an
    erratum for ACS P2P Request Redirect behaviour when used in the cut-through
    forwarding mode. The recommended work around for this issue is to use the
    switch in store and forward mode. The erratum results in packets being
    queued and not being delivered upstream, which can be observed as very poor
    downstream device performance and/or dropped device-generated
    data/interrupts.
    
    Add a fixup so that when enabling or resuming the downstream port we check
    if it has enabled ACS P2P Request Redirect, and if so, change the device
    (via the upstream port) to use the store and forward operating mode.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=177471
    Link: https://lore.kernel.org/r/20210910025823.196508-1-nathan@nathanrossi.com
    Tested-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Nathan Rossi <nathan.rossi@digi.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Nathan Rossi authored and bjorn-helgaas committed Sep 20, 2021
  3. PCI: Mark Atheros QCA6174 to avoid bus reset

    When passing the Atheros QCA6174 through to a virtual machine, the VM hangs
    at the point where the ath10k driver loads.
    
    Add a quirk to avoid bus resets on this device, which avoids the hang.
    
    [bhelgaas: commit log]
    Link: https://lore.kernel.org/r/08982e05-b6e8-5a8d-24ab-da1488ee50a8@web.de
    Signed-off-by: Ingmar Klein <ingmar_klein@web.de>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Pali Rohár <pali@kernel.org>
    Cc: stable@vger.kernel.org
    Ingmar Klein authored and bjorn-helgaas committed Sep 20, 2021
  4. PCI/P2PDMA: Apply bus offset correctly in DMA address calculation

    The bus offset is bus address - physical address, so the calculation in
    __pci_p2pdma_map_sg should be: bus address = physical address + bus offset.
    
    Correct the dma_address computation in __pci_p2pdma_map_sg().
    
    Link: https://lore.kernel.org/r/20210909032528.24517-1-wanglu@dapustor.com
    Signed-off-by: Wang Lu <wanglu@dapustor.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Wang Lu authored and bjorn-helgaas committed Sep 20, 2021
  5. Linux 5.15-rc2

    torvalds committed Sep 20, 2021
  6. pci_iounmap'2: Electric Boogaloo: try to make sense of it all

    Nathan Chancellor reports that the recent change to pci_iounmap in
    commit 9caea00 ("parisc: Declare pci_iounmap() parisc version only
    when CONFIG_PCI enabled") causes build errors on arm64.
    
    It took me about two hours to convince myself that I think I know what
    the logic of that mess of #ifdef's in the <asm-generic/io.h> header file
    really aim to do, and rewrite it to be easier to follow.
    
    Famous last words.
    
    Anyway, the code has now been lifted from that grotty header file into
    lib/pci_iomap.c, and has fairly extensive comments about what the logic
    is.  It also avoids indirecting through another confusing (and badly
    named) helper function that has other preprocessor config conditionals.
    
    Let's see what odd architecture did something else strange in this area
    to break things.  But my arm64 cross build is clean.
    
    Fixes: 9caea00 ("parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI enabled")
    Reported-by: Nathan Chancellor <nathan@kernel.org>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
    Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 20, 2021

Commits on Sep 19, 2021

  1. Merge tag 'x86_urgent_for_v5.15_rc2' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 fixes from Borislav Petkov:
    
     - Prevent a infinite loop in the MCE recovery on return to user space,
       which was caused by a second MCE queueing work for the same page and
       thereby creating a circular work list.
    
     - Make kern_addr_valid() handle existing PMD entries, which are marked
       not present in the higher level page table, correctly instead of
       blindly dereferencing them.
    
     - Pass a valid address to sanitize_phys(). This was caused by the
       mixture of inclusive and exclusive ranges. memtype_reserve() expect
       'end' being exclusive, but sanitize_phys() wants it inclusive. This
       worked so far, but with end being the end of the physical address
       space the fail is exposed.
    
     - Increase the maximum supported GPIO numbers for 64bit. Newer SoCs
       exceed the previous maximum.
    
    * tag 'x86_urgent_for_v5.15_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mce: Avoid infinite loop for copy from user recovery
      x86/mm: Fix kern_addr_valid() to cope with existing but not present entries
      x86/platform: Increase maximum GPIO number for X86_64
      x86/pat: Pass valid address to sanitize_phys()
    torvalds committed Sep 19, 2021
  2. Merge tag 'perf-urgent-2021-09-19' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull perf event fix from Thomas Gleixner:
     "A single fix for the perf core where a value read with READ_ONCE() was
      checked and then reread which makes all the checks invalid. Reuse the
      already read value instead"
    
    * tag 'perf-urgent-2021-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      events: Reuse value read using READ_ONCE instead of re-reading it
    torvalds committed Sep 19, 2021
  3. Merge tag 'locking-urgent-2021-09-19' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull locking fixes from Thomas Gleixner:
     "A set of updates for the RT specific reader/writer locking base code:
    
       - Make the fast path reader ordering guarantees correct.
    
       - Code reshuffling to make the fix simpler"
    
    [ This plays ugly games with atomic_add_return_release() because we
      don't have a plain atomic_add_release(), and should really be cleaned
      up, I think    - Linus ]
    
    * tag 'locking-urgent-2021-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      locking/rwbase: Take care of ordering guarantee for fastpath reader
      locking/rwbase: Extract __rwbase_write_trylock()
      locking/rwbase: Properly match set_and_save_state() to restore_state()
    torvalds committed Sep 19, 2021
  4. Merge tag 'powerpc-5.15-2' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix crashes when scv (System Call Vectored) is used to make a syscall
       when a transaction is active, on Power9 or later.
    
     - Fix bad interactions between rfscv (Return-from scv) and Power9
       fake-suspend mode.
    
     - Fix crashes when handling machine checks in LPARs using the Hash MMU.
    
     - Partly revert a recent change to our XICS interrupt controller code,
       which broke the recently added Microwatt support.
    
    Thanks to Cédric Le Goater, Eirik Fuller, Ganesh Goudar, Gustavo Romero,
    Joel Stanley, Nicholas Piggin.
    
    * tag 'powerpc-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/xics: Set the IRQ chip data for the ICS native backend
      powerpc/mce: Fix access error in mce handler
      KVM: PPC: Book3S HV: Tolerate treclaim. in fake-suspend mode changing registers
      powerpc/64s: system call rfscv workaround for TM bugs
      selftests/powerpc: Add scv versions of the basic TM syscall tests
      powerpc/64s: system call scv tabort fix for corrupt irq soft-mask state
    torvalds committed Sep 19, 2021
  5. Merge tag 'kbuild-fixes-v5.15' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/masahiroy/linux-kbuild
    
    Pull Kbuild fixes from Masahiro Yamada:
    
     - Fix bugs in checkkconfigsymbols.py
    
     - Fix missing sys import in gen_compile_commands.py
    
     - Fix missing FORCE warning for ARCH=sh builds
    
     - Fix -Wignored-optimization-argument warnings for Clang builds
    
     - Turn -Wignored-optimization-argument into an error in order to stop
       building instead of sprinkling warnings
    
    * tag 'kbuild-fixes-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
      kbuild: Add -Werror=ignored-optimization-argument to CLANG_FLAGS
      x86/build: Do not add -falign flags unconditionally for clang
      kbuild: Fix comment typo in scripts/Makefile.modpost
      sh: Add missing FORCE prerequisites in Makefile
      gen_compile_commands: fix missing 'sys' package
      checkkconfigsymbols.py: Remove skipping of help lines in parse_kconfig_file
      checkkconfigsymbols.py: Forbid passing 'HEAD' to --commit
    torvalds committed Sep 19, 2021
  6. Merge tag 'perf-tools-fixes-for-v5.15-2021-09-18' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/acme/linux
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Fix ip display in 'perf script' when output type != attr->type.
    
     - Ignore deprecation warning when using libbpf'sg btf__get_from_id(),
       fixing the build with libbpf v0.6+.
    
     - Make use of FD() robust in libperf, fixing a segfault with 'perf stat
       --iostat list'.
    
     - Initialize addr_location:srcline pointer to NULL when resolving
       callchain addresses.
    
     - Fix fused instruction logic for assembly functions in 'perf
       annotate'.
    
    * tag 'perf-tools-fixes-for-v5.15-2021-09-18' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
      perf bpf: Ignore deprecation warning when using libbpf's btf__get_from_id()
      libperf evsel: Make use of FD robust.
      perf machine: Initialize srcline string member in add_location struct
      perf script: Fix ip display when type != attr->type
      perf annotate: Fix fused instr logic for assembly functions
    torvalds committed Sep 19, 2021
  7. dmascc: use proper 'virt_to_bus()' rather than casting to 'int'

    The old dmascc driver depends on the legacy ISA_DMA_API, and blindly
    just casts the kernel virtual address to 'int' for set_dma_addr().
    
    That works only incidentally, and because the high bits of the address
    will be ignored anyway. And on 64-bit architectures it causes warnings.
    
    Admittedly, 64-bit architectures with ISA are basically dead - I think
    the only example of this is alpha, and nobody would ever use the dmascc
    driver there.  But hey, the fix is easy enough, the end result is
    cleaner, and it's yet another configuration that now builds without
    warnings.
    
    If somebody actually uses this driver on an alpha and this fixes it for
    you, please email me.  Because that is just incredibly bizarre.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 19, 2021
  8. alpha: enable GENERIC_PCI_IOMAP unconditionally

    With the previous commit (9caea00: "parisc: Declare pci_iounmap()
    parisc version only when CONFIG_PCI enabled") we can now enable
    GENERIC_PCI_IOMAP unconditionally on alpha, and if PCI is not enabled we
    will just get the nice empty helper functions that allow mixed-bus
    drivers to build.
    
    Example driver: the old 3com/3c59x.c driver works with either the PCI or
    the EISA version of the 3x59x card, but wouldn't build in an EISA-only
    configuration because of missing pci_iomap() and pci_iounmap() dummy
    wrappers.
    
    Most of the other PCI infrastructure just becomes empty wrappers even
    without GENERIC_PCI_IOMAP, and it's not obvious that the pci_iomap
    functionality shouldn't do the same, but this works.
    
    Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 19, 2021
  9. parisc: Declare pci_iounmap() parisc version only when CONFIG_PCI ena…

    …bled
    
    Linus noticed odd declaration rules for pci_iounmap() in iomap.h and
    pci_iomap.h, where it dependend on either NO_GENERIC_PCI_IOPORT_MAP or
    GENERIC_IOMAP when CONFIG_PCI was disabled.
    
    Testing on parisc seems to indicate that we need pci_iounmap() only when
    CONFIG_PCI is enabled, so the declaration of pci_iounmap() can be moved
    cleanly into pci_iomap.h in sync with the declarations of pci_iomap().
    
    Link: https://lore.kernel.org/all/CAHk-=wjRrh98pZoQ+AzfWmsTZacWxTJKXZ9eKU2X_0+jM=O8nw@mail.gmail.com/
    Signed-off-by: Helge Deller <deller@gmx.de>
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Fixes: 97a29d5 ("[PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional")
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
    Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    hdeller authored and torvalds committed Sep 19, 2021
  10. Revert "drm/vc4: hdmi: Remove drm_encoder->crtc usage"

    This reverts commit 27da370.
    
    Sudip Mukherjee reports that this broke pulseaudio with a NULL pointer
    dereference in vc4_hdmi_audio_prepare(), bisected it to this commit, and
    confirmed that a revert fixed the problem.
    
    Revert the problematic commit until fixed.
    
    Link: https://lore.kernel.org/all/CADVatmPB9-oKd=ypvj25UYysVo6EZhQ6bCM7EvztQBMyiZfAyw@mail.gmail.com/
    Link: https://lore.kernel.org/all/CADVatmN5EpRshGEPS_JozbFQRXg5w_8LFB3OMP1Ai-ghxd3w4g@mail.gmail.com/
    Reported-and-tested-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Cc: Maxime Ripard <maxime@cerno.tech>
    Cc: Emma Anholt <emma@anholt.net>
    Cc: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 19, 2021
  11. Revert drm/vc4 hdmi runtime PM changes

    This reverts commits
    
      9984d66 ("drm/vc4: hdmi: Make sure the controller is powered in detect")
      411efa1 ("drm/vc4: hdmi: Move the HSM clock enable to runtime_pm")
    
    as Michael Stapelberg reports that the new runtime PM changes cause his
    Raspberry Pi 3 to hang on boot, probably due to interactions with other
    changes in the DRM tree (because a bisect points to the merge in commit
    e058a84: "Merge tag 'drm-next-2021-07-01' of git://.../drm").
    
    Revert these two commits until it's been resolved.
    
    Link: https://lore.kernel.org/all/871r5mp7h2.fsf@midna.i-did-not-set--mail-host-address--so-tickle-me/
    Reported-and-tested-by: Michael Stapelberg <michael@stapelberg.ch>
    Cc: Maxime Ripard <maxime@cerno.tech>
    Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Cc: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Sep 19, 2021
  12. kbuild: Add -Werror=ignored-optimization-argument to CLANG_FLAGS

    Similar to commit 589834b ("kbuild: Add
    -Werror=unknown-warning-option to CLANG_FLAGS").
    
    Clang ignores certain GCC flags that it has not implemented, only
    emitting a warning:
    
    $ echo | clang -fsyntax-only -falign-jumps -x c -
    clang-14: warning: optimization flag '-falign-jumps' is not supported
    [-Wignored-optimization-argument]
    
    When one of these flags gets added to KBUILD_CFLAGS unconditionally, all
    subsequent cc-{disable-warning,option} calls fail because -Werror was
    added to these invocations to turn the above warning and the equivalent
    -W flag warning into errors.
    
    To catch the presence of these flags earlier, turn
    -Wignored-optimization-argument into an error so that the flags can
    either be implemented or ignored via cc-option and there are no more
    weird errors.
    
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    nathanchance authored and masahir0y committed Sep 19, 2021
  13. x86/build: Do not add -falign flags unconditionally for clang

    clang does not support -falign-jumps and only recently gained support
    for -falign-loops. When one of the configuration options that adds these
    flags is enabled, clang warns and all cc-{disable-warning,option} that
    follow fail because -Werror gets added to test for the presence of this
    warning:
    
    clang-14: warning: optimization flag '-falign-jumps=0' is not supported
    [-Wignored-optimization-argument]
    
    To resolve this, add a couple of cc-option calls when building with
    clang; gcc has supported these options since 3.2 so there is no point in
    testing for their support. -falign-functions was implemented in clang-7,
    -falign-loops was implemented in clang-14, and -falign-jumps has not
    been implemented yet.
    
    Link: https://lore.kernel.org/r/YSQE2f5teuvKLkON@Ryzen-9-3900X.localdomain/
    Link: https://lore.kernel.org/r/20210824022640.2170859-2-nathan@kernel.org/
    Reported-by: kernel test robot <lkp@intel.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Acked-by: Borislav Petkov <bp@suse.de>
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    nathanchance authored and masahir0y committed Sep 19, 2021
  14. kbuild: Fix comment typo in scripts/Makefile.modpost

    Change comment "create one <module>.mod.c file pr. module"
    to "create one <module>.mod.c file per module"
    
    Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Ramji Jiyani authored and masahir0y committed Sep 19, 2021
  15. sh: Add missing FORCE prerequisites in Makefile

    make:
    
        arch/sh/boot/Makefile:87: FORCE prerequisite is missing
    
    Add the missing FORCE prerequisites for all build targets identified by
    "make help".
    
    Fixes: e1f86d7 ("kbuild: warn if FORCE is missing for if_changed(_dep,_rule) and filechk")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    geertu authored and masahir0y committed Sep 19, 2021
  16. gen_compile_commands: fix missing 'sys' package

    We need to import the 'sys' package since the script has called
    sys.exit() method.
    
    Fixes: 6ad7cbc ("Makefile: Add clang-tidy and static analyzer support to makefile")
    Signed-off-by: Kortan <kortanzh@gmail.com>
    Reviewed-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    KortanZ authored and masahir0y committed Sep 19, 2021
  17. checkkconfigsymbols.py: Remove skipping of help lines in parse_kconfi…

    …g_file
    
    When parsing Kconfig files to find symbol definitions and references,
    lines after a 'help' line are skipped until a new config definition
    starts.
    
    However, Kconfig statements can actually be after a help section, as
    long as these have shallower indentation. These are skipped by the
    parser.
    
    This means that symbols referenced in this kind of statements are
    ignored by this function and thus are not considered undefined
    references in case the symbol is not defined.
    
    Remove the 'skip' logic entirely, as it is not needed if we just use the
    STMT regex to find the end of help lines.
    
    However, this means that keywords that appear as part of the help
    message (i.e. with the same indentation as the help lines) it will be
    considered as a reference/definition. This can happen now as well, but
    only with REGEX_KCONFIG_DEF lines. Also, the keyword must have a SYMBOL
    after it, which probably means that someone referenced a config in the
    help so it seems like a bonus :)
    
    The real solution is to keep track of the indentation when a the first
    help line in encountered and then handle DEF and STMT lines only if the
    indentation is shallower.
    
    Signed-off-by: Ariel Marcovitch <arielmarcovitch@gmail.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Ariel Marcovitch authored and masahir0y committed Sep 19, 2021
  18. checkkconfigsymbols.py: Forbid passing 'HEAD' to --commit

    As opposed to the --diff option, --commit can get ref names instead of
    commit hashes.
    
    When using the --commit option, the script resets the working directory
    to the commit before the given ref, by adding '~' to the end of the ref.
    
    However, the 'HEAD' ref is relative, and so when the working directory
    is reset to 'HEAD~', 'HEAD' points to what was 'HEAD~'. Then when the
    script resets to 'HEAD' it actually stays in the same commit. In this
    case, the script won't report any cases because there is no diff between
    the cases of the two refs.
    
    Prevent the user from using HEAD refs.
    
    A better solution might be to resolve the refs before doing the
    reset, but for now just disallow such refs.
    
    Signed-off-by: Ariel Marcovitch <arielmarcovitch@gmail.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Ariel Marcovitch authored and masahir0y committed Sep 19, 2021
Older