27 Sep, 2022

1 commit

  • This is the 5.15.70 stable release

    * tag 'v5.15.70': (2444 commits)
    Linux 5.15.70
    ALSA: hda/sigmatel: Fix unused variable warning for beep power change
    cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6ul.dtsi
    arch/arm/mm/mmu.c
    arch/arm64/boot/dts/freescale/imx8mp-evk.dts
    drivers/gpu/drm/imx/dcss/dcss-kms.c
    drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
    drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/soc/fsl/Kconfig
    drivers/soc/imx/gpcv2.c
    drivers/usb/dwc3/host.c
    net/dsa/slave.c
    sound/soc/fsl/imx-card.c

    Jason Liu
     

03 Aug, 2022

1 commit

  • commit 5e2805d5379619c4a2e3ae4994e73b36439f4bad upstream.

    The commit

    cb51a371d08e ("EDAC/ghes: Setup DIMM label from DMI and use it in error reports")

    enforced that both the bank and device strings passed to
    dimm_setup_label() are not NULL.

    However, there are BIOSes, for example on a

    HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 03/15/2019

    which don't populate both strings:

    Handle 0x0020, DMI type 17, 84 bytes
    Memory Device
    Array Handle: 0x0013
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits
    Size: 32 GB
    Form Factor: DIMM
    Set: None
    Locator: PROC 1 DIMM 1
    ghes_edac_register.cold
    ghes_probe
    platform_probe
    really_probe
    __driver_probe_device
    driver_probe_device
    __driver_attach
    ? __device_attach_driver
    bus_for_each_dev
    bus_add_driver
    driver_register
    acpi_ghes_init
    acpi_init
    ? acpi_sleep_proc_init
    do_one_initcall

    The label contains garbage because the commit in Fixes reallocs the
    DIMMs array while scanning the system but doesn't clear the newly
    allocated memory.

    Change dimm_setup_label() to always initialize the label to fix the
    issue. Set it to the empty string in case BIOS does not provide both
    bank and device so that ghes_edac_register() can keep the default label
    given by edac_mc_alloc_dimms().

    [ bp: Rewrite commit message. ]

    Fixes: b9cae27728d1f ("EDAC/ghes: Scan the system once on driver init")
    Co-developed-by: Robert Richter
    Signed-off-by: Robert Richter
    Signed-off-by: Toshi Kani
    Signed-off-by: Borislav Petkov
    Tested-by: Robert Elliott
    Cc:
    Link: https://lore.kernel.org/r/20220719220124.760359-1-toshi.kani@hpe.com
    Signed-off-by: Greg Kroah-Hartman

    Toshi Kani
     

30 Jun, 2022

2 commits

  • This is the 5.15.50 stable release

    * tag 'v5.15.50': (1395 commits)
    Linux 5.15.50
    arm64: mm: Don't invalidate FROM_DEVICE buffers at start of DMA transfer
    serial: core: Initialize rs485 RTS polarity already on probe
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/bus/fsl-mc/fsl-mc-bus.c
    drivers/crypto/caam/ctrl.c
    drivers/pci/controller/dwc/pci-imx6.c
    drivers/spi/spi-fsl-qspi.c
    drivers/tty/serial/fsl_lpuart.c
    include/uapi/linux/dma-buf.h

    Jason Liu
     
  • This is the 5.15.41 stable release

    * tag 'v5.15.41': (1977 commits)
    Linux 5.15.41
    usb: gadget: uvc: allow for application to cleanly shutdown
    usb: gadget: uvc: rename function to be more consistent
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
    arch/arm64/configs/defconfig
    drivers/clk/imx/clk-imx8qxp-lpcg.c
    drivers/dma/imx-sdma.c
    drivers/gpu/drm/bridge/nwl-dsi.c
    drivers/mailbox/imx-mailbox.c
    drivers/net/phy/at803x.c
    drivers/tty/serial/fsl_lpuart.c
    security/keys/trusted-keys/trusted_core.c

    Jason Liu
     

09 Jun, 2022

1 commit

  • [ Upstream commit ad2df24732e8956a45a00894d2163c4ee8fb0e1f ]

    The dmc520 driver requires that at least one interrupt line, out of the
    ten possible, is configured. The driver prints an error and returns
    -EINVAL from its .probe function if there are no interrupt lines
    configured.

    Don't print a KERN_ERR level message for each interrupt line that's
    unconfigured as that can confuse users into thinking that there is an
    error condition.

    Before this change, the following KERN_ERR level messages would be
    reported if only dram_ecc_errc and dram_ecc_errd were configured in the
    device tree:

    dmc520 68000000.dmc: IRQ ram_ecc_errc not found
    dmc520 68000000.dmc: IRQ ram_ecc_errd not found
    dmc520 68000000.dmc: IRQ failed_access not found
    dmc520 68000000.dmc: IRQ failed_prog not found
    dmc520 68000000.dmc: IRQ link_err not
    dmc520 68000000.dmc: IRQ temperature_event not found
    dmc520 68000000.dmc: IRQ arch_fsm not found
    dmc520 68000000.dmc: IRQ phy_request not found

    Fixes: 1088750d7839 ("EDAC: Add EDAC driver for DMC520")
    Reported-by: Sinan Kaya
    Signed-off-by: Tyler Hicks
    Signed-off-by: Borislav Petkov
    Link: https://lore.kernel.org/r/20220111163800.22362-1-tyhicks@linux.microsoft.com
    Signed-off-by: Sasha Levin

    Tyler Hicks
     

18 May, 2022

1 commit


27 Apr, 2022

1 commit

  • commit e2932d1f6f055b2af2114c7e64a26dc1b5593d0c upstream.

    Currently, the error count is read wrongly from the status register. Read
    the count from the proper error count register (ERRCNT).

    [ bp: Massage. ]

    Fixes: b500b4a029d5 ("EDAC, synopsys: Add ECC support for ZynqMP DDR controller")
    Signed-off-by: Shubhrajyoti Datta
    Signed-off-by: Borislav Petkov
    Acked-by: Michal Simek
    Cc:
    Link: https://lore.kernel.org/r/20220414102813.4468-1-shubhrajyoti.datta@xilinx.com
    Signed-off-by: Greg Kroah-Hartman

    Shubhrajyoti Datta
     

11 Mar, 2022

1 commit

  • This is the 5.15.27 stable release

    * tag 'v5.15.27': (3069 commits)
    Linux 5.15.27
    hamradio: fix macro redefine warning
    KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
    arch/arm64/boot/dts/freescale/imx8mq.dtsi
    drivers/dma-buf/heaps/cma_heap.c
    drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
    drivers/gpu/drm/mxsfb/mxsfb_kms.c
    drivers/mmc/host/sdhci-esdhc-imx.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/rpmsg/rpmsg_char.c
    drivers/soc/imx/gpcv2.c
    drivers/thermal/imx_thermal.c

    Jason Liu
     

23 Feb, 2022

1 commit

  • commit f8efca92ae509c25e0a4bd5d0a86decea4f0c41e upstream.

    Do alignment logic properly and use the "ptr" local variable for
    calculating the remainder of the alignment.

    This became an issue because struct edac_mc_layer has a size that is not
    zero modulo eight, and the next offset that was prepared for the private
    data was unaligned, causing an alignment exception.

    The patch in Fixes: which broke this actually wanted to "what we
    actually care about is the alignment of the actual pointer that's about
    to be returned." But it didn't check that alignment.

    Use the correct variable "ptr" for that.

    [ bp: Massage commit message. ]

    Fixes: 8447c4d15e35 ("edac: Do alignment logic properly in edac_align_ptr()")
    Signed-off-by: Eliav Farber
    Signed-off-by: Borislav Petkov
    Cc:
    Link: https://lore.kernel.org/r/20220113100622.12783-2-farbere@amazon.com
    Signed-off-by: Greg Kroah-Hartman

    Eliav Farber
     

09 Feb, 2022

2 commits

  • commit dfd0dfb9a7cc04acf93435b440dd34c2ca7b4424 upstream.

    The driver overrides error codes returned by platform_get_irq_optional()
    to -EINVAL for some strange reason, so if it returns -EPROBE_DEFER, the
    driver will fail the probe permanently instead of the deferred probing.
    Switch to propagating the proper error codes to platform driver code
    upwards.

    [ bp: Massage commit message. ]

    Fixes: 0d4429301c4a ("EDAC: Add APM X-Gene SoC EDAC driver")
    Signed-off-by: Sergey Shtylyov
    Signed-off-by: Borislav Petkov
    Cc:
    Link: https://lore.kernel.org/r/20220124185503.6720-3-s.shtylyov@omp.ru
    Signed-off-by: Greg Kroah-Hartman

    Sergey Shtylyov
     
  • commit 279eb8575fdaa92c314a54c0d583c65e26229107 upstream.

    The driver overrides the error codes returned by platform_get_irq() to
    -ENODEV for some strange reason, so if it returns -EPROBE_DEFER, the
    driver will fail the probe permanently instead of the deferred probing.
    Switch to propagating the proper error codes to platform driver code
    upwards.

    [ bp: Massage commit message. ]

    Fixes: 71bcada88b0f ("edac: altera: Add Altera SDRAM EDAC support")
    Signed-off-by: Sergey Shtylyov
    Signed-off-by: Borislav Petkov
    Acked-by: Dinh Nguyen
    Cc:
    Link: https://lore.kernel.org/r/20220124185503.6720-2-s.shtylyov@omp.ru
    Signed-off-by: Greg Kroah-Hartman

    Sergey Shtylyov
     

27 Jan, 2022

1 commit

  • [ Upstream commit bd1d6da17c296bd005bfa656952710d256e77dd3 ]

    Version 2.40a supports DDR_ECC_INTR_SUPPORT for a quirk, so use that
    quirk to determine a call to setup_address_map().

    Signed-off-by: Dinh Nguyen
    Signed-off-by: Borislav Petkov
    Reviewed-by: Michal Simek
    Link: https://lkml.kernel.org/r/20211012190709.1504152-1-dinguyen@kernel.org
    Signed-off-by: Sasha Levin

    Dinh Nguyen
     

11 Jan, 2022

1 commit

  • commit c370baa328022cbd46c59c821d1b467a97f047be upstream.

    On systems without HBM (High Bandwidth Memory) mdev/mbase are not
    released/unmapped.

    Add the code to release mdev/mbase when failing to detect HBM.

    [Tony: re-word commit message]

    Cc:
    Fixes: c945088384d0 ("EDAC/i10nm: Add support for high bandwidth memory")
    Reported-by: kernel test robot
    Reported-by: Dan Carpenter
    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20211224091126.1246-1-qiuxu.zhuo@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Qiuxu Zhuo
     

01 Dec, 2021

1 commit

  • This is the 5.15.5 stable release

    * tag 'v5.15.5': (1261 commits)
    Linux 5.15.5
    ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign()
    ALSA: hda: hdac_ext_stream: fix potential locking issues
    ...

    Conflicts:
    arch/powerpc/platforms/85xx/Makefile
    drivers/crypto/caam/caampkc.c
    drivers/gpu/drm/bridge/nwl-dsi.c
    drivers/gpu/drm/imx/imx-drm-core.c
    drivers/remoteproc/imx_rproc.c
    drivers/soc/imx/gpcv2.c
    include/linux/rpmsg.h

    Jason Liu
     

19 Nov, 2021

2 commits

  • [ Upstream commit 9f4873fb6af7966de8fcbd95c36b61351c1c4b1f ]

    AMD Rome systems and later support interleaving between three identical
    ranks within a channel.

    Check for this mode by counting the number of enabled chip selects and
    comparing their masks. If there are exactly three enabled chip selects
    and their masks are identical, then three rank interleaving is enabled.

    The size of a rank is determined from its mask value. However, three
    rank interleaving doesn't follow the method of swapping an interleave
    bit with the most significant bit. Rather, the interleave bit is flipped
    and the most significant bit remains the same. There is only a single
    interleave bit in this case.

    Account for this when determining the chip select size by keeping the
    most significant bit at its original value and ignoring any zero bits.
    This will return a full bitmask in [MSB:1].

    Fixes: e53a3b267fb0 ("EDAC/amd64: Find Chip Select memory size using Address Mask")
    Signed-off-by: Yazen Ghannam
    Signed-off-by: Borislav Petkov
    Link: https://lkml.kernel.org/r/20211005154419.2060504-1-yazen.ghannam@amd.com
    Signed-off-by: Sasha Levin

    Yazen Ghannam
     
  • commit 537bddd069c743759addf422d0b8f028ff0f8dbc upstream.

    The computation of TOHM is off by one bit. This missed bit results in
    too low a value for TOHM, which can cause errors in regular memory to
    incorrectly report:

    EDAC MC0: 1 CE Error at MMIOH area, on addr 0x000000207fffa680 on any memory

    Fixes: 50d1bb93672f ("sb_edac: add support for Haswell based systems")
    Cc: stable@vger.kernel.org
    Reported-by: Meeta Saggi
    Signed-off-by: Eric Badger
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20211010170127.848113-1-ebadger@purestorage.com
    Signed-off-by: Greg Kroah-Hartman

    Eric Badger
     

02 Nov, 2021

3 commits


14 Oct, 2021

1 commit

  • The number of correctable errors is displayed as uncorrectable
    errors because the "SBE" error count is passed to both calls of
    edac_mc_handle_error().

    Pass the correct uncorrectable error count to the second
    edac_mc_handle_error() call when logging uncorrectable errors.

    [ bp: Massage commit message. ]

    Fixes: 7f6998a41257 ("ARM: 8888/1: EDAC: Add driver for the Marvell Armada XP SDRAM and L2 cache ECC")
    Signed-off-by: Hans Potsch
    Signed-off-by: Borislav Petkov
    Cc:
    Link: https://lkml.kernel.org/r/20211006121332.58788-1-hans.potsch@nokia.com

    Hans Potsch
     

16 Sep, 2021

2 commits

  • dimm->edac_mode contains values of type enum edac_type - not the
    corresponding capability flags. Fix that.

    Fixes: 1088750d7839 ("EDAC: Add EDAC driver for DMC520")
    Signed-off-by: Borislav Petkov
    Cc:
    Link: https://lkml.kernel.org/r/20210916085258.7544-1-bp@alien8.de

    Borislav Petkov
     
  • dimm->edac_mode contains values of type enum edac_type - not the
    corresponding capability flags. Fix that.

    Issue caught by Coverity check "enumerated type mixed with another
    type."

    [ bp: Rewrite commit message, add tags. ]

    Fixes: ae9b56e3996d ("EDAC, synps: Add EDAC support for zynq ddr ecc controller")
    Signed-off-by: Sai Krishna Potthuri
    Signed-off-by: Shubhrajyoti Datta
    Signed-off-by: Borislav Petkov
    Cc:
    Link: https://lkml.kernel.org/r/20210818072315.15149-1-shubhrajyoti.datta@xilinx.com

    Sai Krishna Potthuri
     

31 Aug, 2021

2 commits

  • Pull irq updates from Thomas Gleixner:
    "Updates to the interrupt core and driver subsystems:

    Core changes:

    - The usual set of small fixes and improvements all over the place,
    but nothing stands out

    MSI changes:

    - Further consolidation of the PCI/MSI interrupt chip code

    - Make MSI sysfs code independent of PCI/MSI and expose the MSI
    interrupts of platform devices in the same way as PCI exposes them.

    Driver changes:

    - Support for ARM GICv3 EPPI partitions

    - Treewide conversion to generic_handle_domain_irq() for all chained
    interrupt controllers

    - Conversion to bitmap_zalloc() throughout the irq chip drivers

    - The usual set of small fixes and improvements"

    * tag 'irq-core-2021-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
    platform-msi: Add ABI to show msi_irqs of platform devices
    genirq/msi: Move MSI sysfs handling from PCI to MSI core
    genirq/cpuhotplug: Demote debug printk to KERN_DEBUG
    irqchip/qcom-pdc: Trim unused levels of the interrupt hierarchy
    irqdomain: Export irq_domain_disconnect_hierarchy()
    irqchip/gic-v3: Fix priority comparison when non-secure priorities are used
    irqchip/apple-aic: Fix irq_disable from within irq handlers
    pinctrl/rockchip: drop the gpio related codes
    gpio/rockchip: drop irq_gc_lock/irq_gc_unlock for irq set type
    gpio/rockchip: support next version gpio controller
    gpio/rockchip: use struct rockchip_gpio_regs for gpio controller
    gpio/rockchip: add driver for rockchip gpio
    dt-bindings: gpio: change items restriction of clock for rockchip,gpio-bank
    pinctrl/rockchip: add pinctrl device to gpio bank struct
    pinctrl/rockchip: separate struct rockchip_pin_bank to a head file
    pinctrl/rockchip: always enable clock for gpio controller
    genirq: Fix kernel doc indentation
    EDAC/altera: Convert to generic_handle_domain_irq()
    powerpc: Bulk conversion to generic_handle_domain_irq()
    nios2: Bulk conversion to generic_handle_domain_irq()
    ...

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:
    "The usual EDAC stuff which managed to trickle in for 5.15:

    - Add new HBM2 (High Bandwidth Memory Gen 2) type and add support for
    it to the Intel SKx drivers

    - Print additional useful per-channel error information on i10nm,
    like on SKL

    - Don't load the AMD EDAC decoder in virtual images

    - The usual round of fixes and cleanups"

    * tag 'edac_updates_for_v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC/i10nm: Retrieve and print retry_rd_err_log registers
    EDAC/i10nm: Fix NVDIMM detection
    EDAC/skx_common: Set the memory type correctly for HBM memory
    EDAC/altera: Skip defining unused structures for specific configs
    EDAC/mce_amd: Do not load edac_mce_amd module on guests
    EDAC/mc: Add new HBM2 memory type
    EDAC/amd64: Use DEVICE_ATTR helper macros

    Linus Torvalds
     

24 Aug, 2021

3 commits

  • Retrieve and print retry_rd_err_log registers like the earlier change:
    commit e80634a75aba ("EDAC, skx: Retrieve and print retry_rd_err_log registers")

    This is a little trickier than on Skylake because of potential
    interference with BIOS use of the same registers. The default
    behavior is to ignore these registers.

    A module parameter retry_rd_err_log(default=0) controls the mode of operation:
    - 0=off : Default.
    - 1=bios : Linux doesn't reset any control bits, but just reports values.
    This is "no harm" mode, but it may miss reporting some data.
    - 2=linux: Linux tries to take control and resets mode bits,
    clears valid/UC bits after reading. This should be
    more reliable (especially if BIOS interference is reduced
    by disabling eMCA reporting mode in BIOS setup).

    Co-developed-by: Qiuxu Zhuo
    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Youquan Song
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210818175701.1611513-3-tony.luck@intel.com

    Youquan Song
     
  • MCDDRCFG is a per-channel register and uses bit{0,1} to indicate
    the NVDIMM presence on DIMM slot{0,1}. Current i10nm_edac driver
    wrongly uses MCDDRCFG as per-DIMM register and fails to detect
    the NVDIMM.

    Fix it by reading MCDDRCFG as per-channel register and using its
    bit{0,1} to check whether the NVDIMM is populated on DIMM slot{0,1}.

    Fixes: d4dc89d069aa ("EDAC, i10nm: Add a driver for Intel 10nm server processors")
    Reported-by: Fan Du
    Tested-by: Wen Jin
    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210818175701.1611513-2-tony.luck@intel.com

    Qiuxu Zhuo
     
  • Set the memory type to MEM_HBM2 if it's managed by the HBM2
    memory controller.

    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210720163009.GA1417532@agluck-desk2.amr.corp.intel.com

    Qiuxu Zhuo
     

17 Aug, 2021

1 commit

  • The Altera EDAC driver has several features conditionally built
    depending on Kconfig options. The edac_device_prv_data structures
    are conditionally used in of_device_id tables. They reference other
    functions and structures which can be defined as __maybe_unused.

    Silence build warnings like:

    drivers/edac/altera_edac.c:643:37: warning:
    ‘altr_edac_device_inject_fops’ defined but not used [-Wunused-const-variable=]

    Reported-by: kernel test robot
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Borislav Petkov
    Acked-by: Dinh Nguyen
    Link: https://lkml.kernel.org/r/20210601092704.203555-1-krzysztof.kozlowski@canonical.com

    Krzysztof Kozlowski
     

12 Aug, 2021

1 commit


09 Aug, 2021

1 commit

  • Hypervisors likely do not expose the SMCA feature to the guest and
    loading this module leads to false warnings. This module should not be
    loaded in guests to begin with, but people tend to do so, especially
    when testing kernels in VMs. And then they complain about those false
    warnings.

    Do the practical thing and do not load this module when running as a
    guest to avoid all that complaining.

    [ bp: Rewrite commit message. ]

    Suggested-by: Borislav Petkov
    Signed-off-by: Smita Koralahalli
    Signed-off-by: Borislav Petkov
    Reviewed-by: Yazen Ghannam
    Tested-by: Kim Phillips
    Link: https://lkml.kernel.org/r/20210628172740.245689-1-Smita.KoralahalliChannabasappa@amd.com

    Smita Koralahalli
     

21 Jul, 2021

1 commit

  • Add a new entry to 'enum mem_type' and a new string to 'edac_mem_types[]'
    for HBM2 (High Bandwidth Memory Gen 2) new memory type.

    Reviewed-by: Yazen Ghannam
    Signed-off-by: Muralidhara M K
    Signed-off-by: Naveen Krishna Chatradhi
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210630152828.162659-4-nchatrad@amd.com

    Naveen Krishna Chatradhi
     

16 Jul, 2021

1 commit

  • My previous patch had a typo/thinko which prevents this driver
    from being enabled: change X64_64 to X86_64.

    Fixes: 0a9ece9ba154 ("EDAC/igen6: fix core dependency")
    Signed-off-by: Randy Dunlap
    Cc: Qiuxu Zhuo
    Cc: Borislav Petkov
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac@vger.kernel.org
    Cc: bowsingbetee
    Cc: stable@vger.kernel.org
    Signed-off-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

14 Jul, 2021

1 commit

  • Instead of "open coding" DEVICE_ATTR, use the corresponding
    helper macros DEVICE_ATTR_{RW,RO,WO} in amd64_edac.c

    Some function names needed to be changed to match the device
    conventions _show and _store, but the functionality
    itself is unchanged.

    The devices using EDAC_DCT_ATTR_SHOW() are left unchanged.

    Reviewed-by: Yazen Ghannam
    Signed-off-by: Dwaipayan Ray
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210713065130.2151-1-dwaipayanray1@gmail.com

    Dwaipayan Ray
     

03 Jul, 2021

1 commit

  • Merge more updates from Andrew Morton:
    "190 patches.

    Subsystems affected by this patch series: mm (hugetlb, userfaultfd,
    vmscan, kconfig, proc, z3fold, zbud, ras, mempolicy, memblock,
    migration, thp, nommu, kconfig, madvise, memory-hotplug, zswap,
    zsmalloc, zram, cleanups, kfence, and hmm), procfs, sysctl, misc,
    core-kernel, lib, lz4, checkpatch, init, kprobes, nilfs2, hfs,
    signals, exec, kcov, selftests, compress/decompress, and ipc"

    * emailed patches from Andrew Morton : (190 commits)
    ipc/util.c: use binary search for max_idx
    ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lock
    ipc: use kmalloc for msg_queue and shmid_kernel
    ipc sem: use kvmalloc for sem_undo allocation
    lib/decompressors: remove set but not used variabled 'level'
    selftests/vm/pkeys: exercise x86 XSAVE init state
    selftests/vm/pkeys: refill shadow register after implicit kernel write
    selftests/vm/pkeys: handle negative sys_pkey_alloc() return code
    selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
    kcov: add __no_sanitize_coverage to fix noinstr for all architectures
    exec: remove checks in __register_bimfmt()
    x86: signal: don't do sas_ss_reset() until we are certain that sigframe won't be abandoned
    hfsplus: report create_date to kstat.btime
    hfsplus: remove unnecessary oom message
    nilfs2: remove redundant continue statement in a while-loop
    kprobes: remove duplicated strong free_insn_page in x86 and s390
    init: print out unknown kernel parameters
    checkpatch: do not complain about positive return values starting with EPOLL
    checkpatch: improve the indented label test
    checkpatch: scripts/spdxcheck.py now requires python3
    ...

    Linus Torvalds
     

02 Jul, 2021

1 commit

  • kernel.h is being used as a dump for all kinds of stuff for a long time.
    Here is the attempt to start cleaning it up by splitting out panic and
    oops helpers.

    There are several purposes of doing this:
    - dropping dependency in bug.h
    - dropping a loop by moving out panic_notifier.h
    - unload kernel.h from something which has its own domain

    At the same time convert users tree-wide to use new headers, although for
    the time being include new header back to kernel.h to avoid twisted
    indirected includes for existing users.

    [akpm@linux-foundation.org: thread_info.h needs limits.h]
    [andriy.shevchenko@linux.intel.com: ia64 fix]
    Link: https://lkml.kernel.org/r/20210520130557.55277-1-andriy.shevchenko@linux.intel.com

    Link: https://lkml.kernel.org/r/20210511074137.33666-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bjorn Andersson
    Co-developed-by: Andrew Morton
    Acked-by: Mike Rapoport
    Acked-by: Corey Minyard
    Acked-by: Christian Brauner
    Acked-by: Arnd Bergmann
    Acked-by: Kees Cook
    Acked-by: Wei Liu
    Acked-by: Rasmus Villemoes
    Signed-off-by: Andrew Morton
    Acked-by: Sebastian Reichel
    Acked-by: Luis Chamberlain
    Acked-by: Stephen Boyd
    Acked-by: Thomas Bogendoerfer
    Acked-by: Helge Deller # parisc
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     

01 Jul, 2021

1 commit

  • Pull EDAC updates from Tony Luck:
    "Various fixes and support for new CPUs:

    - Clean up error messages from thunderx_edac

    - Add MODULE_DEVICE_TABLE to ti_edac so it will autoload

    - Use %pR to print resources in aspeed_edac

    - Add Yazen Ghannam as MAINTAINER for AMD edac drivers

    - Fix Ice Lake and Sapphire Rapids drivers to report correct "near"
    or "far" device for errors in 2LM configurations

    - Add support of on package high bandwidth memory in Sapphire Rapids

    - New CPU support for three CPUs supporting in-band ECC (IOT SKUs for
    ICL-NNPI, Tiger Lake and Alder Lake)

    - Don't even try to load Intel EDAC drivers when running as a guest

    - Fix Kconfig dependency on X86_MCE_INTEL for EDAC_IGEN6"

    * tag 'edac_updates_for_v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC/igen6: fix core dependency
    EDAC/Intel: Do not load EDAC driver when running as a guest
    EDAC/igen6: Add Intel Alder Lake SoC support
    EDAC/igen6: Add Intel Tiger Lake SoC support
    EDAC/igen6: Add Intel ICL-NNPI SoC support
    EDAC/i10nm: Add support for high bandwidth memory
    EDAC/i10nm: Add detection of memory levels for ICX/SPR servers
    EDAC/skx_common: Add new ADXL components for 2-level memory
    MAINTAINERS: Make Yazen Ghannam maintainer for EDAC-AMD64
    EDAC/aspeed: Use proper format string for printing resource
    EDAC/ti: Add missing MODULE_DEVICE_TABLE
    EDAC/thunderx: Remove irrelevant variable from error messages

    Linus Torvalds
     

21 Jun, 2021

1 commit

  • igen6_edac needs mce_register()/unregister() functions,
    so it should depend on X86_MCE (or X86_MCE_INTEL).

    That change prevents these build errors:

    ld: drivers/edac/igen6_edac.o: in function `igen6_remove':
    igen6_edac.c:(.text+0x494): undefined reference to `mce_unregister_decode_chain'
    ld: drivers/edac/igen6_edac.o: in function `igen6_probe':
    igen6_edac.c:(.text+0xf5b): undefined reference to `mce_register_decode_chain'

    Fixes: 10590a9d4f23e ("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC")
    Reported-by: kernel test robot
    Signed-off-by: Randy Dunlap
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210619160203.2026-1-rdunlap@infradead.org

    Randy Dunlap
     

18 Jun, 2021

3 commits

  • There's little to no point in loading an EDAC driver running in a guest:
    1) The CPU model reported by CPUID may not represent actual h/w
    2) The hypervisor likely does not pass in access to memory controller devices
    3) Hypervisors generally do not pass corrected error details to guests

    Add a check in each of the Intel EDAC drivers for X86_FEATURE_HYPERVISOR
    and simply return -ENODEV in the init routine.

    Acked-by: Borislav Petkov
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210615174419.GA1087688@agluck-desk2.amr.corp.intel.com

    Luck, Tony
     
  • Alder Lake SoC shares the same memory controller and In-Band ECC
    (IBECC) IP with Tiger Lake SoC. Like Tiger Lake, it also has two
    memory controllers each associated one IBECC instance. The minor
    differences include the MMIO offset of each memory controller and
    the type of memory error address logged in the IBECC.

    So add Alder Lake compute die IDs, adjust the MMIO offset for each
    memory controller and handle the type of memory error address logged
    in the IBECC for Alder Lake EDAC support.

    Tested-by: Vrukesh V Panse
    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210611170123.1057025-7-tony.luck@intel.com

    Qiuxu Zhuo
     
  • Tiger Lake SoC shares the same memory controller and In-Band ECC
    (IBECC) IP with Elkhart Lake SoC. The main differences are that Tiger
    Lake has two memory controllers each associated with one IBECC and
    uses Machine Check for the memory error notification.

    So add Tiger Lake compute die IDs, MCE decoding chain registration,
    and memory slice decoding for Tiger Lake EDAC support.

    Signed-off-by: Qiuxu Zhuo
    Signed-off-by: Tony Luck
    Link: https://lore.kernel.org/r/20210611170123.1057025-6-tony.luck@intel.com

    Qiuxu Zhuo