Skip to content
Permalink
Linus-Walleij/…
Switch branches/tags

Commits on Jun 7, 2021

  1. PCI: ixp4xx: Add a new driver for IXP4xx

    This adds a new PCI controller driver for the Intel IXP4xx
    (IX425, IXP435 etc), based on the XScale microarchitecture.
    
    This replaces the old driver in arch/arm/mach-ixp4xx/common-pci.c
    which utilized the ARM-specific BIOS32 PCI framework,
    and all parameterization for such things as memory and
    IO space as well as interrupt swizzling is done from the
    device tree.
    
    The plan is to phase out and delete the old driver piecemal.
    
    The __raw_writel() and __raw_readl() are used for accessing
    the PCI controller for the same reason that these accessors
    are used in the timer, IRQ and GPIO drivers: the platform
    will alter its address bus pattern based on whether the
    system is booted in big- or little-endian mode. For this
    reason all register on IXP4xx must always be accessed in
    native (CPU) endianness.
    
    This driver supports 64MB of PCI memory space, but not the
    indirect access of 1GB that is available in the old driver.
    We can address that later if and only if there are users
    that need all 1GB of PCI address space. Krzysztof reports
    having to use indirect MMIO only once for a VGA card. There
    is work ongoing for general indirect MMIO. (In practice
    the indirect MMIO is performed by writing address and
    writing and reading values into/from a controller
    register.)
    
    Tested by booting the NSLU2, attaching a USB stick, mounting
    and browsing the drive.
    
    Link: https://lore.kernel.org/linux-arm-kernel/m37edwuv8m.fsf@t19.piap.pl/
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Imre Kaloz <kaloz@openwrt.org>
    Cc: Krzysztof Halasa <khalasa@piap.pl>
    Cc: Zoltan HERPAI <wigyori@uid0.hu>
    Cc: Raylynn Knight <rayknight@me.com>
    Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    linusw authored and intel-lab-lkp committed Jun 7, 2021

Commits on Jun 4, 2021

  1. Merge branch 'remotes/lorenzo/pci/xgene'

    - Annotate __iomem pointer (Bjorn Helgaas)
    
    - Fix kernel-doc comment (Krzysztof Wilczyński)
    
    * remotes/lorenzo/pci/xgene:
      PCI: xgene: Fix a non-compliant kernel-doc
      PCI: xgene: Annotate __iomem pointer
    bjorn-helgaas committed Jun 4, 2021
  2. Merge branch 'remotes/lorenzo/pci/tegra'

    - Fix host init during resume (Vidya Sagar)
    
    - Add missing MODULE_DEVICE_TABLE for driver loading (Zou Wei)
    
    * remotes/lorenzo/pci/tegra:
      PCI: tegra: Add missing MODULE_DEVICE_TABLE
      PCI: tegra: Fix host initialization during resume
    bjorn-helgaas committed Jun 4, 2021
  3. Merge branch 'remotes/lorenzo/pci/mobiveil'

    * remotes/lorenzo/pci/mobiveil:
      PCI: mobiveil: Remove unused readl and writel functions
    bjorn-helgaas committed Jun 4, 2021
  4. Merge branch 'remotes/lorenzo/pci/microchip'

    - Make struct event_descs static (Krzysztof Wilczyński)
    
    * remotes/lorenzo/pci/microchip:
      PCI: microchip: Make the struct event_descs static
    bjorn-helgaas committed Jun 4, 2021
  5. Merge branch 'remotes/lorenzo/pci/mediatek'

    - Drop redundant error message from mtk_pcie_subsys_powerup() (Zhen Lei)
    
    * remotes/lorenzo/pci/mediatek:
      PCI: mediatek: Remove redundant error printing in mtk_pcie_subsys_powerup()
    bjorn-helgaas committed Jun 4, 2021
  6. Merge branch 'remotes/lorenzo/pci/hv'

    - Fix race when removing device (Long Li)
    
    - Remove unused bus device removal refcount/functions (Long Li)
    
    * remotes/lorenzo/pci/hv:
      PCI: hv: Remove bus device removal unused refcount/functions
      PCI: hv: Fix a race condition when removing the device
    bjorn-helgaas committed Jun 4, 2021
  7. Merge branch 'remotes/lorenzo/pci/ftpci100'

    - Rename PCI_IOSIZE, etc in ftpci100 to avoid macro name collisions (Randy
      Dunlap)
    
    * remotes/lorenzo/pci/ftpci100:
      PCI: ftpci100: Rename macro name collision
    bjorn-helgaas committed Jun 4, 2021
  8. Merge branch 'remotes/lorenzo/pci/dwc'

    - Drop redundant error message from imx6_pcie_probe() (Zhen Lei)
    
    * remotes/lorenzo/pci/dwc:
      PCI: dwc/imx6: Remove redundant error printing in imx6_pcie_probe()
    bjorn-helgaas committed Jun 4, 2021
  9. Merge branch 'pci/resource'

    - Coalesce host bridge apertures so we can allocate large BARs that cross
      contiguous apertures (Kai-Heng Feng)
    
    * pci/resource:
      PCI: Coalesce host bridge contiguous apertures
    bjorn-helgaas committed Jun 4, 2021
  10. Merge branch 'pci/reset'

    - Work around Huawei Intelligent NIC VF FLR erratum (Chiqijun)
    
    * pci/reset:
      PCI: Work around Huawei Intelligent NIC VF FLR erratum
      PCI: Add pci_reset_bus_function() Secondary Bus Reset interface
    bjorn-helgaas committed Jun 4, 2021
  11. Merge branch 'pci/misc'

    - Return true/false (not 1/0) from bool functions (Yang Li)
    
    * pci/misc:
      x86/pci: Return true/false (not 1/0) from bool functions
    bjorn-helgaas committed Jun 4, 2021
  12. Merge branch 'pci/error'

    - Make domain/bus/dev/fn format in AER messages match pci_name() format
      (Yicong Yang)
    
    * pci/error:
      Documentation: PCI: Fix typo in pci-error-recovery.rst
      PCI/AER: Use consistent format when printing PCI device
    bjorn-helgaas committed Jun 4, 2021
  13. Merge branch 'pci/enumeration'

    - Add a debug message on PCI device release (Niklas Schnelle)
    
    * pci/enumeration:
      PCI: Print a debug message on PCI device release
    bjorn-helgaas committed Jun 4, 2021
  14. PCI: Coalesce host bridge contiguous apertures

    Built-in graphics on HP EliteDesk 805 G6 doesn't work because graphics
    can't get the BAR it needs:
    
      pci_bus 0000:00: root bus resource [mem 0x10020200000-0x100303fffff window]
      pci_bus 0000:00: root bus resource [mem 0x10030400000-0x100401fffff window]
    
      pci 0000:00:08.1:   bridge window [mem 0xd2000000-0xd23fffff]
      pci 0000:00:08.1:   bridge window [mem 0x10030000000-0x100401fffff 64bit pref]
      pci 0000:00:08.1: can't claim BAR 15 [mem 0x10030000000-0x100401fffff 64bit pref]: no compatible bridge window
      pci 0000:00:08.1: [mem 0x10030000000-0x100401fffff 64bit pref] clipped to [mem 0x10030000000-0x100303fffff 64bit pref]
      pci 0000:00:08.1:   bridge window [mem 0x10030000000-0x100303fffff 64bit pref]
      pci 0000:07:00.0: can't claim BAR 0 [mem 0x10030000000-0x1003fffffff 64bit pref]: no compatible bridge window
      pci 0000:07:00.0: can't claim BAR 2 [mem 0x10040000000-0x100401fffff 64bit pref]: no compatible bridge window
    
    However, the root bus has two contiguous apertures that can contain the
    child resource requested.
    
    Coalesce contiguous apertures so we can allocate from the entire contiguous
    region.
    
    [bhelgaas: fold in https://lore.kernel.org/r/20210528170242.1564038-1-kai.heng.feng@canonical.com]
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212013
    Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
    Link: https://lore.kernel.org/r/20210401131252.531935-1-kai.heng.feng@canonical.com
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    khfeng authored and bjorn-helgaas committed Jun 4, 2021

Commits on Jun 3, 2021

  1. PCI: hv: Remove bus device removal unused refcount/functions

    With the new method of flushing/stopping the workqueue before doing bus
    removal, the old mechanism of using refcount and wait for completion
    is no longer needed. Remove those dead code.
    
    Link: https://lore.kernel.org/r/1620806809-31055-1-git-send-email-longli@linuxonhyperv.com
    Signed-off-by: Long Li <longli@microsoft.com>
    [lorenzo.pieralisi@arm.com: Reworded subject]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    longlimsft authored and Lorenzo Pieralisi committed Jun 3, 2021
  2. PCI: hv: Fix a race condition when removing the device

    On removing the device, any work item (hv_pci_devices_present() or
    hv_pci_eject_device()) scheduled on workqueue hbus->wq may still be running
    and race with hv_pci_remove().
    
    This can happen because the host may send PCI_EJECT or PCI_BUS_RELATIONS(2)
    and decide to rescind the channel immediately after that.
    
    Fix this by flushing/destroying the workqueue of hbus before doing hbus remove.
    
    Link: https://lore.kernel.org/r/1620806800-30983-1-git-send-email-longli@linuxonhyperv.com
    Signed-off-by: Long Li <longli@microsoft.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    longlimsft authored and Lorenzo Pieralisi committed Jun 3, 2021
  3. PCI: mediatek: Remove redundant error printing in mtk_pcie_subsys_pow…

    …erup()
    
    When devm_ioremap_resource() fails, a clear enough error message will be
    printed by its subfunction __devm_ioremap_resource(). The error
    information contains the device name, failure cause, and possibly resource
    information.
    
    Therefore, remove the error printing here to simplify code and reduce the
    binary size.
    
    Link: https://lore.kernel.org/r/20210511122453.6052-1-thunder.leizhen@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    Zhen Lei authored and Lorenzo Pieralisi committed Jun 3, 2021
  4. PCI: dwc/imx6: Remove redundant error printing in imx6_pcie_probe()

    When devm_ioremap_resource() fails, a clear enough error message will be
    printed by its subfunction __devm_ioremap_resource(). The error
    information contains the device name, failure cause, and possibly resource
    information.
    
    Therefore, remove the error printing here to simplify code and reduce the
    binary size.
    
    Link: https://lore.kernel.org/r/20210511114547.5601-1-thunder.leizhen@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
    Zhen Lei authored and Lorenzo Pieralisi committed Jun 3, 2021
  5. PCI: ftpci100: Rename macro name collision

    PCI_IOSIZE is defined in mach-loongson64/spaces.h, so change the name
    of the PCI_* macros in pci-ftpci100.c to use FTPCI_* so that they are
    more localized and won't conflict with other drivers or arches.
    
    ../drivers/pci/controller/pci-ftpci100.c:37: warning: "PCI_IOSIZE" redefined
       37 | #define PCI_IOSIZE 0x00
          |
    In file included from ../arch/mips/include/asm/addrspace.h:13,
    ...              from ../drivers/pci/controller/pci-ftpci100.c:15:
    arch/mips/include/asm/mach-loongson64/spaces.h:11: note: this is the location of the previous definition
       11 | #define PCI_IOSIZE SZ_16M
    
    Suggested-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://lore.kernel.org/r/20210517234117.3660-1-rdunlap@infradead.org
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Krzysztof Wilczyński <kw@linux.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: linux-mips@vger.kernel.org
    rddunlap authored and Lorenzo Pieralisi committed Jun 3, 2021
  6. PCI: mobiveil: Remove unused readl and writel functions

    The PCIe host controller driver for Layerscape 4th generation SoC was
    added in the commit d29ad70 ("PCI: mobiveil: Add PCIe Gen4 RC
    driver for Layerscape SoCs").
    
    At this time two static functions were introduced that appear to
    currently have no users.  Since nothing is using neither of these
    functions at the moment they can be safely removed.
    
    This resolves the following build time warnings:
    
      drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c:45:19: warning: unused function 'ls_pcie_g4_lut_readl' [-Wunused-function]
      drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c:50:20: warning: unused function 'ls_pcie_g4_lut_writel' [-Wunused-function]
    
    Link: https://lore.kernel.org/r/20210510023032.3063932-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczyński <kw@linux.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    kwilczynski authored and Lorenzo Pieralisi committed Jun 3, 2021
  7. PCI: microchip: Make the struct event_descs static

    The struct event_descs does not have any users outside the
    pcie-microchip-host.c file, and has no previous declaration,
    thus it can be made static.
    
    This resolves the following sparse warning:
    
      drivers/pci/controller/pcie-microchip-host.c:352:3: warning: symbol 'event_descs' was not declared. Should it be static?
    
    Link: https://lore.kernel.org/r/20210509041932.560340-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczyński <kw@linux.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    kwilczynski authored and Lorenzo Pieralisi committed Jun 3, 2021
  8. PCI: xgene: Fix a non-compliant kernel-doc

    Correct a non-compliant kernel-doc at the top of the pci-xgene.c file,
    and resolve build time warning related to kernel-doc:
    
      drivers/pci/controller/pci-xgene.c:27: warning: expecting prototype for APM X(). Prototype was for PCIECORE_CTLANDSTATUS() instead
    
    No change to functionality intended.
    
    Link: https://lore.kernel.org/r/20210509030237.368540-1-kw@linux.com
    Signed-off-by: Krzysztof Wilczyński <kw@linux.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Randy Dunlap <rdunlap@infradead.org>
    kwilczynski authored and Lorenzo Pieralisi committed Jun 3, 2021
  9. PCI: tegra: Add missing MODULE_DEVICE_TABLE

    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Link: https://lore.kernel.org/r/1620792422-16535-1-git-send-email-zou_wei@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    SamuelZOU authored and Lorenzo Pieralisi committed Jun 3, 2021
  10. PCI: xgene: Annotate __iomem pointer

    "bar_addr" is passed as the argument to writel(), which expects a
    "void __iomem *".  Annotate "bar_addr" correctly.  Resolves an sparse
    "incorrect type in argument 2 (different address spaces)" warning.
    
    Link: https://lore.kernel.org/r/202105171809.Tay9fImZ-lkp@intel.com
    Link: https://lore.kernel.org/r/20210517171839.25777-1-helgaas@kernel.org
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    bjorn-helgaas authored and Lorenzo Pieralisi committed Jun 3, 2021
  11. PCI: tegra: Fix host initialization during resume

    Commit 275e88b ("PCI: tegra: Fix host link initialization") broke
    host initialization during resume as it misses out calling the API
    dw_pcie_setup_rc() which is required for host and MSI initialization.
    
    Link: https://lore.kernel.org/r/20210504172157.29712-1-vidyas@nvidia.com
    Fixes: 275e88b ("PCI: tegra: Fix host link initialization")
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Vidya Sagar authored and Lorenzo Pieralisi committed Jun 3, 2021

Commits on Jun 1, 2021

  1. Documentation: PCI: Fix typo in pci-error-recovery.rst

    Replace "It" with "If", since it is a conditional statement.
    
    Link: https://lore.kernel.org/r/20210531081215.43507-1-wesley.sheng@amd.com
    Signed-off-by: Wesley Sheng <wesley.sheng@amd.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    Wesley Sheng authored and bjorn-helgaas committed Jun 1, 2021

Commits on May 27, 2021

  1. PCI: Print a debug message on PCI device release

    Commit 6279504 ("PCI: enhance physical slot debug information") added
    a debug print on releasing the PCI slot and another message on destroying
    it. There is however no debug print on releasing the PCI device structure
    itself and even with closely looking at the kernel log during hotplug
    testing, I overlooked several missing pci_dev_put() calls for way too long.
    
    Add a debug print in pci_release_dev() making it much easier to spot when
    the PCI device structure is not released when it is supposed to be.
    
    Link: https://lore.kernel.org/r/20210311132312.2882425-1-schnelle@linux.ibm.com
    Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    niklas88 authored and bjorn-helgaas committed May 27, 2021
  2. x86/pci: Return true/false (not 1/0) from bool functions

    Return boolean values ("true" or "false") instead of 1 or 0 from bool
    functions.  This fixes the following warnings from coccicheck:
    
      ./arch/x86/pci/mmconfig-shared.c:464:9-10: WARNING: return of 0/1 in function 'is_mmconf_reserved' with return type bool
      ./arch/x86/pci/mmconfig-shared.c:493:5-6: WARNING: return of 0/1 in function 'is_mmconf_reserved' with return type bool
      ./arch/x86/pci/mmconfig-shared.c:501:9-10: WARNING: return of 0/1 in function 'is_mmconf_reserved' with return type bool
      ./arch/x86/pci/mmconfig-shared.c:522:5-6: WARNING: return of 0/1 in function 'is_mmconf_reserved' with return type bool
    
    Link: https://lore.kernel.org/r/1615794000-102771-1-git-send-email-yang.lee@linux.alibaba.com
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    Yang Li authored and bjorn-helgaas committed May 27, 2021
  3. PCI/AER: Use consistent format when printing PCI device

    We use format domain🚌slot.function when printing PCI device.  Use
    consistent format in AER messages.
    
    [bhelgaas: also drop "AER recover:" prefix since we already have an "AER:"
    prefix from pr_fmt()]
    Link: https://lore.kernel.org/r/1617015721-51701-1-git-send-email-yangyicong@hisilicon.com
    Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
    Yicong Yang authored and bjorn-helgaas committed May 27, 2021

Commits on May 24, 2021

  1. PCI: Work around Huawei Intelligent NIC VF FLR erratum

    pcie_flr() starts a Function Level Reset (FLR), waits 100ms (the maximum
    time allowed for FLR completion by PCIe r5.0, sec 6.6.2), and waits for the
    FLR to complete.  It assumes the FLR is complete when a config read returns
    valid data.
    
    When we do an FLR on several Huawei Intelligent NIC VFs at the same time,
    firmware on the NIC processes them serially.  The VF may respond to config
    reads before the firmware has completed its reset processing.  If we bind a
    driver to the VF (e.g., by assigning the VF to a virtual machine) in the
    interval between the successful config read and completion of the firmware
    reset processing, the NIC VF driver may fail to load.
    
    Prevent this driver failure by waiting for the NIC firmware to complete its
    reset processing.  Not all NIC firmware supports this feature.
    
    [bhelgaas: commit log]
    Link: https://support.huawei.com/enterprise/en/doc/EDOC1100063073/87950645/vm-oss-occasionally-fail-to-load-the-in200-driver-when-the-vf-performs-flr
    Link: https://lore.kernel.org/r/20210414132301.1793-1-chiqijun@huawei.com
    Signed-off-by: Chiqijun <chiqijun@huawei.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
    Chiqijun authored and bjorn-helgaas committed May 24, 2021
  2. PCI: Add pci_reset_bus_function() Secondary Bus Reset interface

    pci_parent_bus_reset() resets a device by performing a Secondary Bus Reset
    on a PCI-to-PCI bridge leading to the device.
    
    pci_dev_reset_slot_function() does the same, except that it uses a hotplug
    driver to keep the reset from looking like a hot-remove followed by a
    hot-add.
    
    Add a pci_reset_bus_function() wrapper, which attempts the hotplug driver
    slot reset and falls back to the parent bus reset if that fails.  This
    provides a single interface for performing a Secondary Bus Reset.
    
    [bhelgaas: commit log, don't expose yet]
    Suggested-by: Alex Williamson <alex.williamson@redhat.com>
    Link: https://lore.kernel.org/r/20210323100625.0021a943@omen.home.shazbot.org/
    Link: https://lore.kernel.org/r/20210408182328.12323-1-raphael.norwitz@nutanix.com
    Signed-off-by: Amey Narkhede <ameynarkhede03@gmail.com>
    Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
    raphael-nutanix authored and bjorn-helgaas committed May 24, 2021

Commits on May 9, 2021

  1. Linux 5.13-rc1

    torvalds committed May 9, 2021
  2. fbmem: fix horribly incorrect placement of __maybe_unused

    Commit b9d79e4 ("fbmem: Mark proc_fb_seq_ops as __maybe_unused")
    places the '__maybe_unused' in an entirely incorrect location between
    the "struct" keyword and the structure name.
    
    It's a wonder that gcc accepts that silently, but clang quite reasonably
    warns about it:
    
        drivers/video/fbdev/core/fbmem.c:736:21: warning: attribute declaration must precede definition [-Wignored-attributes]
        static const struct __maybe_unused seq_operations proc_fb_seq_ops = {
                            ^
    
    Fix it.
    
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 9, 2021
  3. Merge tag 'drm-next-2021-05-10' of git://anongit.freedesktop.org/drm/drm

    Pull drm fixes from Dave Airlie:
     "Bit later than usual, I queued them all up on Friday then promptly
      forgot to write the pull request email. This is mainly amdgpu fixes,
      with some radeon/msm/fbdev and one i915 gvt fix thrown in.
    
      amdgpu:
       - MPO hang workaround
       - Fix for concurrent VM flushes on vega/navi
       - dcefclk is not adjustable on navi1x and newer
       - MST HPD debugfs fix
       - Suspend/resumes fixes
       - Register VGA clients late in case driver fails to load
       - Fix GEM leak in user framebuffer create
       - Add support for polaris12 with 32 bit memory interface
       - Fix duplicate cursor issue when using overlay
       - Fix corruption with tiled surfaces on VCN3
       - Add BO size and stride check to fix BO size verification
    
      radeon:
       - Fix off-by-one in power state parsing
       - Fix possible memory leak in power state parsing
    
      msm:
       - NULL ptr dereference fix
    
      fbdev:
       - procfs disabled warning fix
    
      i915:
       - gvt: Fix a possible division by zero in vgpu display rate
         calculation"
    
    * tag 'drm-next-2021-05-10' of git://anongit.freedesktop.org/drm/drm:
      drm/amdgpu: Use device specific BO size & stride check.
      drm/amdgpu: Init GFX10_ADDR_CONFIG for VCN v3 in DPG mode.
      drm/amd/pm: initialize variable
      drm/radeon: Avoid power table parsing memory leaks
      drm/radeon: Fix off-by-one power_state index heap overwrite
      drm/amd/display: Fix two cursor duplication when using overlay
      drm/amdgpu: add new MC firmware for Polaris12 32bit ASIC
      fbmem: Mark proc_fb_seq_ops as __maybe_unused
      drm/msm/dpu: Delete bonkers code
      drm/i915/gvt: Prevent divided by zero when calculating refresh rate
      amdgpu: fix GEM obj leak in amdgpu_display_user_framebuffer_create
      drm/amdgpu: Register VGA clients after init can no longer fail
      drm/amdgpu: Handling of amdgpu_device_resume return value for graceful teardown
      drm/amdgpu: fix r initial values
      drm/amd/display: fix wrong statement in mst hpd debugfs
      amdgpu/pm: set pp_dpm_dcefclk to readonly on NAVI10 and newer gpus
      amdgpu/pm: Prevent force of DCEFCLK on NAVI10 and SIENNA_CICHLID
      drm/amdgpu: fix concurrent VM flushes on Vega/Navi v2
      drm/amd/display: Reject non-zero src_y and src_x for video planes
    torvalds committed May 9, 2021
Older