1. 15 Jan, 2024 4 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration-logging' · 564af7a5
      Bjorn Helgaas authored
      - Log device type (Root Port, Switch Port, etc) during enumeration (Bjorn
        Helgaas)
      
      - Log resource names (BAR 0, VF BAR 0, bridge window, etc) consistently
        instead of a mix of names and "reg 0x10" (Puranjay Mohan, Bjorn Helgaas)
      
      - Log bridges before devices below the bridges (Bjorn Helgaas)
      
      * pci/enumeration-logging:
        PCI: Log bridge info when first enumerating bridge
        PCI: Log bridge windows conditionally
        PCI: Supply bridge device, not secondary bus, to read window details
        PCI: Move pci_read_bridge_windows() below individual window accessors
        PCI: Use resource names in PCI log messages
        PCI: Update BAR # and window messages
        PCI: Log device type during enumeration
      564af7a5
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' · 78e5ad79
      Bjorn Helgaas authored
      - Convert pci-host-common.c platform .remove() callback to .remove_new()
        returning 'void' since it's not useful to return error codes here (Uwe
        Kleine-König)
      
      - Log a message about updating AMD USB controller class code (so dwc3, not
        xhci, claims it) only when we actually change it (Guilherme G.  Piccoli)
      
      - Use PCI_HEADER_TYPE_* instead of literals in x86, powerpc, SCSI lpfc
        (Ilpo Järvinen)
      
      - Clean up open-coded PCIBIOS return code mangling (Ilpo Järvinen)
      
      - Fix 64GT/s effective data rate calculation to use 1b/1b encoding rather
        than the 8b/10b or 128b/130b used by lower rates (Ilpo Järvinen)
      
      * pci/enumeration:
        PCI: Fix 64GT/s effective data rate calculation
        x86/pci: Clean up open-coded PCIBIOS return code mangling
        scsi: lpfc: Use PCI_HEADER_TYPE_MFD instead of literal
        powerpc/fsl-pci: Use PCI_HEADER_TYPE_MASK instead of literal
        x86/pci: Use PCI_HEADER_TYPE_* instead of literals
        PCI: Only override AMD USB controller if required
        PCI: host-generic: Convert to platform remove callback returning void
      78e5ad79
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ecam' · 996e337f
      Bjorn Helgaas authored
      - Reserve ECAM if BIOS didn't include it in PNP0C02 _CRS (Bjorn Helgaas)
      
      - Add MMCONFIG/ECAM debug logging (Bjorn Helgaas)
      
      - Rename 'MMCONFIG' to 'ECAM' to match spec usage (Bjorn Helgaas)
      
      * pci/ecam:
        x86/pci: Reorder pci_mmcfg_arch_map() definition before calls
        x86/pci: Return pci_mmconfig_add() failure early
        x86/pci: Comment pci_mmconfig_insert() obscure MCFG dependency
        x86/pci: Rename pci_mmcfg_check_reserved() to pci_mmcfg_reserved()
        x86/pci: Rename acpi_mcfg_check_entry() to acpi_mcfg_valid_entry()
        x86/pci: Rename 'MMCONFIG' to 'ECAM', use pr_fmt
        x86/pci: Add MCFG debug logging
        x86/pci: Reword ECAM EfiMemoryMappedIO logging to avoid 'reserved'
        x86/pci: Reserve ECAM if BIOS didn't include it in PNP0C02 _CRS
      996e337f
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' · f04e5285
      Bjorn Helgaas authored
      - Log AER errors as "Correctable" (not "Corrected") or "Uncorrectable" to
        match spec terminology (Bjorn Helgaas)
      
      - Decode Requester ID when no error info found instead of printing the raw
        hex value (Bjorn Helgaas)
      
      * pci/aer:
        PCI/AER: Use explicit register sizes for struct members
        PCI/AER: Decode Requester ID when no error info found
        PCI/AER: Use 'Correctable' and 'Uncorrectable' spec terms for errors
      f04e5285
  2. 02 Jan, 2024 4 commits
  3. 15 Dec, 2023 7 commits
    • Bjorn Helgaas's avatar
      PCI: Log bridge info when first enumerating bridge · 95140c2f
      Bjorn Helgaas authored
      Log bridge secondary/subordinate bus and window information at the same
      time we log the bridge BARs, just after discovering the bridge and before
      scanning the bridge's secondary bus.  This logs the bridge and downstream
      devices in a more logical order:
      
        - pci 0000:00:01.0: [8086:1901] type 01 class 0x060400
        - pci 0000:01:00.0: [10de:13b6] type 00 class 0x030200
        - pci 0000:01:00.0: reg 0x10: [mem 0xec000000-0xecffffff]
        - pci 0000:00:01.0: PCI bridge to [bus 01]
        - pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
      
        + pci 0000:00:01.0: [8086:1901] type 01 class 0x060400
        + pci 0000:00:01.0: PCI bridge to [bus 01]
        + pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
        + pci 0000:01:00.0: [10de:13b6] type 00 class 0x030200
        + pci 0000:01:00.0: reg 0x10: [mem 0xec000000-0xecffffff]
      
      Note that we read the windows into a temporary struct resource that is
      thrown away, not into the resources in the struct pci_bus.
      
      The windows may be adjusted after we know what downstream devices require,
      and those adjustments are logged as they are made.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      95140c2f
    • Bjorn Helgaas's avatar
      PCI: Log bridge windows conditionally · 63c6ebb2
      Bjorn Helgaas authored
      Previously pci_read_bridge_io(), pci_read_bridge_mmio(), and
      pci_read_bridge_mmio_pref() unconditionally logged the bridge window
      resource.  A future change will call these functions earlier and more
      often.  Add a "log" parameter so callers can control whether to generate
      the log message.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      63c6ebb2
    • Bjorn Helgaas's avatar
      PCI: Supply bridge device, not secondary bus, to read window details · 281e1f13
      Bjorn Helgaas authored
      Previously we logged information about devices *below* the bridge before
      logging information about the bridge itself, e.g.,
      
        pci 0000:00:01.0: [8086:1901] type 01 class 0x060400
        pci 0000:01:00.0: [10de:13b6] type 00 class 0x030200
        pci 0000:01:00.0: reg 0x10: [mem 0xec000000-0xecffffff]
        pci 0000:00:01.0: PCI bridge to [bus 01]
        pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
      
      This is partly because the bridge windows are read in this path:
      
        pci_scan_child_bus_extend
          for (devfn = 0; devfn < 256; devfn += 8)
            pci_scan_slot(bus, devfn)       # scan below bridge
          pcibios_fixup_bus(bus)
            pci_read_bridge_bases(bus)      # read bridge windows
              pci_read_bridge_io(bus)
      
      Remove the assumption that the secondary (child) pci_bus already exists by
      passing in the bridge device (instead of the pci_bus) and a resource
      pointer when reading bridge windows.  A future change can use this to log
      the bridge details before we enumerate the devices below the bridge.
      
      No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      281e1f13
    • Bjorn Helgaas's avatar
      PCI: Move pci_read_bridge_windows() below individual window accessors · 6f32099a
      Bjorn Helgaas authored
      Move pci_read_bridge_windows() below the functions that read the I/O,
      memory, and prefetchable memory windows, so pci_read_bridge_windows() can
      use them in the future.  No functional change intended.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      6f32099a
    • Puranjay Mohan's avatar
      PCI: Use resource names in PCI log messages · dc4e6f21
      Puranjay Mohan authored
      Use the pci_resource_name() to get the name of the resource and use it
      while printing log messages.
      
      [bhelgaas: rename to match struct resource * names, also use names in other
      BAR messages]
      Link: https://lore.kernel.org/r/20211106112606.192563-3-puranjay12@gmail.comSigned-off-by: default avatarPuranjay Mohan <puranjay12@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      dc4e6f21
    • Puranjay Mohan's avatar
      PCI: Update BAR # and window messages · 65f8e0be
      Puranjay Mohan authored
      The PCI log messages print the register offsets at some places and BAR
      numbers at other places. There is no uniformity in this logging mechanism.
      It would be better to print names than register offsets.
      
      Add a helper function that aids in printing more meaningful information
      about the BAR numbers like "VF BAR", "ROM", "bridge window", etc.  This
      function can be called while printing PCI log messages.
      
      [bhelgaas: fold in Lukas' static array suggestion from
      https://lore.kernel.org/all/20211106115831.GA7452@wunner.de/]
      Link: https://lore.kernel.org/r/20211106112606.192563-2-puranjay12@gmail.comSigned-off-by: default avatarPuranjay Mohan <puranjay12@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      65f8e0be
    • Bjorn Helgaas's avatar
      PCI: Log device type during enumeration · 35259ff1
      Bjorn Helgaas authored
      Log the device type when enumeration a device.  Sample output changes:
      
        - pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
        + pci 0000:00:00.0: [8086:1237] type 00 class 0x060000 conventional PCI endpoint
      
        - pci 0000:00:1c.0: [8086:a110] type 01 class 0x060400
        + pci 0000:00:1c.0: [8086:a110] type 01 class 0x060400 PCIe Root Port
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      35259ff1
  4. 05 Dec, 2023 9 commits
  5. 01 Dec, 2023 4 commits
  6. 20 Nov, 2023 2 commits
  7. 13 Nov, 2023 1 commit
  8. 12 Nov, 2023 5 commits
  9. 11 Nov, 2023 1 commit
    • Linus Torvalds's avatar
      Merge tag 'probes-fixes-v6.7-rc1' of... · 3ca112b7
      Linus Torvalds authored
      Merge tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull probes fixes from Masami Hiramatsu:
      
       - Documentation update: Add a note about argument and return value
         fetching is the best effort because it depends on the type.
      
       - objpool: Fix to make internal global variables static in
         test_objpool.c.
      
       - kprobes: Unify kprobes_exceptions_nofify() prototypes. There are the
         same prototypes in asm/kprobes.h for some architectures, but some of
         them are missing the prototype and it causes a warning. So move the
         prototype into linux/kprobes.h.
      
       - tracing: Fix to check the tracepoint event and return event at
         parsing stage. The tracepoint event doesn't support %return but if
         $retval exists, it will be converted to %return silently. This finds
         that case and rejects it.
      
       - tracing: Fix the order of the descriptions about the parameters of
         __kprobe_event_gen_cmd_start() to be consistent with the argument
         list of the function.
      
      * tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/kprobes: Fix the order of argument descriptions
        tracing: fprobe-event: Fix to check tracepoint event and return
        kprobes: unify kprobes_exceptions_nofify() prototypes
        lib: test_objpool: make global variables static
        Documentation: tracing: Add a note about argument and retval access
      3ca112b7
  10. 10 Nov, 2023 3 commits
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 18553507
      Linus Torvalds authored
      Pull fbdev fixes and cleanups from Helge Deller:
      
       - fix double free and resource leaks in imsttfb
      
       - lots of remove callback cleanups and section mismatch fixes in
         omapfb, amifb and atmel_lcdfb
      
       - error code fix and memparse simplification in omapfb
      
      * tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (31 commits)
        fbdev: fsl-diu-fb: mark wr_reg_wa() static
        fbdev: amifb: Convert to platform remove callback returning void
        fbdev: amifb: Mark driver struct with __refdata to prevent section mismatch warning
        fbdev: hyperv_fb: fix uninitialized local variable use
        fbdev: omapfb/tpd12s015: Convert to platform remove callback returning void
        fbdev: omapfb/tfp410: Convert to platform remove callback returning void
        fbdev: omapfb/sharp-ls037v7dw01: Convert to platform remove callback returning void
        fbdev: omapfb/opa362: Convert to platform remove callback returning void
        fbdev: omapfb/hdmi: Convert to platform remove callback returning void
        fbdev: omapfb/dvi: Convert to platform remove callback returning void
        fbdev: omapfb/dsi-cm: Convert to platform remove callback returning void
        fbdev: omapfb/dpi: Convert to platform remove callback returning void
        fbdev: omapfb/analog-tv: Convert to platform remove callback returning void
        fbdev: atmel_lcdfb: Convert to platform remove callback returning void
        fbdev: omapfb/tpd12s015: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/tfp410: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/sharp-ls037v7dw01: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/opa362: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/hdmi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/dvi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        ...
      18553507
    • Yujie Liu's avatar
      tracing/kprobes: Fix the order of argument descriptions · f032c53b
      Yujie Liu authored
      The order of descriptions should be consistent with the argument list of
      the function, so "kretprobe" should be the second one.
      
      int __kprobe_event_gen_cmd_start(struct dynevent_cmd *cmd, bool kretprobe,
                                       const char *name, const char *loc, ...)
      
      Link: https://lore.kernel.org/all/20231031041305.3363712-1-yujie.liu@intel.com/
      
      Fixes: 2a588dd1 ("tracing: Add kprobe event command generation functions")
      Suggested-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarYujie Liu <yujie.liu@intel.com>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      f032c53b
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm · c0d12d76
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Dave's VPN to the big machine died, so it's on me to do fixes pr this
        and next week while everyone else is at plumbers.
      
         - big pile of amd fixes, but mostly for hw support newly added in 6.7
      
         - i915 fixes, mostly minor things
      
         - qxl memory leak fix
      
         - vc4 uaf fix in mock helpers
      
         - syncobj fix for DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE"
      
      * tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm: (78 commits)
        drm/amdgpu: fix error handling in amdgpu_vm_init
        drm/amdgpu: Fix possible null pointer dereference
        drm/amdgpu: move UVD and VCE sched entity init after sched init
        drm/amdgpu: move kfd_resume before the ip late init
        drm/amd: Explicitly check for GFXOFF to be enabled for s0ix
        drm/amdgpu: Change WREG32_RLC to WREG32_SOC15_RLC where inst != 0 (v2)
        drm/amdgpu: Use correct KIQ MEC engine for gfx9.4.3 (v5)
        drm/amdgpu: add smu v13.0.6 pcs xgmi ras error query support
        drm/amdgpu: fix software pci_unplug on some chips
        drm/amd/display: remove duplicated argument
        drm/amdgpu: correct mca debugfs dump reg list
        drm/amdgpu: correct acclerator check architecutre dump
        drm/amdgpu: add pcs xgmi v6.4.0 ras support
        drm/amdgpu: Change extended-scope MTYPE on GC 9.4.3
        drm/amdgpu: disable smu v13.0.6 mca debug mode by default
        drm/amdgpu: Support multiple error query modes
        drm/amdgpu: refine smu v13.0.6 mca dump driver
        drm/amdgpu: Do not program PF-only regs in hdp_v4_0.c under SRIOV (v2)
        drm/amdgpu: Skip PCTL0_MMHUB_DEEPSLEEP_IB write in jpegv4.0.3 under SRIOV
        drm: amd: Resolve Sphinx unexpected indentation warning
        ...
      c0d12d76