24 Jul, 2020

20 commits

  • Accept these additional query forms:

    echo "file $filestr +_" > control

    path/to/file.c:100 # as from control, column 1
    path/to/file.c:1-100 # or any legal line-range
    path/to/file.c:func_A # as from an editor/browser
    path/to/file.c:drm_* # wildcards still work
    path/to/file.c:*_foo # lead wildcard too

    1st 2 examples are treated as line-ranges, 3-5 are treated as func's

    Doc these changes, and sprinkle in a few extra wild-card examples and
    trailing # explanation texts.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-14-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • Make the code-block reusable to later handle "file foo.c:101-200" etc.
    This is a 99% code move, with reindent, function wrap&call, +pr_debug.

    no functional changes.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-13-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • reduce word count via gcc ?: extension, no actual code change.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-12-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • loadable modules are the last in on this list, and are the only
    modules that could be removed. ddebug_remove_module() searches from
    head, but ddebug_add_module() uses list_add_tail(). Change it to
    list_add() for a micro-optimization.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-11-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • ddebug_exec_query declares an auto var, and passes it to
    ddebug_parse_query, which memsets it before using it. Drop that
    memset, instead initialize the variable in the caller; let the
    compiler decide how to do it.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-10-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • this pr_err attempts to print the string after the OP, but the string
    has been parsed and chopped up, so looks empty.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-9-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • ddebug_describe_flags() currently fills a caller provided string buffer,
    after testing its size (also passed) in a BUG_ON. Fix this by
    replacing them with a known-big-enough string buffer wrapped in a
    struct, and passing that instead.

    Also simplify ddebug_describe_flags() flags parameter from a struct to
    a member in that struct, and hoist the member deref up to the caller.
    This makes the function reusable (soon) where flags are unpacked.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-8-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • during dyndbg init, verbose logging prints its ram overhead. It
    counted strlens of struct _ddebug's 4 string members, in all callsite
    entries, which would be approximately correct if each had been
    mallocd. But they are pointers into shared .rodata; for example, all
    10 kobject callsites have identical filename, module values.

    Its best not to count that memory at all, since we cannot know they
    were linked in because of CONFIG_DYNAMIC_DEBUG=y, and we want to
    report a number that reflects what ram is saved by deconfiguring it.

    Also fix wording and size under-reporting of the __dyndbg section.

    Heres my overhead, on a virtme-run VM on a fedora-31 laptop:

    dynamic_debug:dynamic_debug_init: 260 modules, 2479 entries \
    and 10400 bytes in ddebug tables, 138824 bytes in __dyndbg section

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-7-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • dyndbg populates its callsite info into __verbose section, change that
    to a more specific and descriptive name, __dyndbg.

    Also, per checkpatch:
    simplify __attribute(..) to __section(__dyndbg) declaration.

    and 1 spelling fix, decriptor

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-6-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • The verbose/debug logging done for `cat $MNT/dynamic_debug/control` is
    voluminous (2 per control file entry + 2 per PAGE). Moreover, it just
    prints pointer and sequence, which is not useful to a dyndbg user.
    So just drop them.

    Also require verbose>=2 for several other debug printks that are a bit
    too chatty for typical needs;

    ddebug_change() prints changes, once per modified callsite. Since
    queries like "+p" will enable ~2300 callsites in a typical laptop, a
    user probably doesn't need to see them often. ddebug_exec_queries()
    still summarizes with verbose=1.

    ddebug_(add|remove)_module() also print 1 line per action on a module,
    not needed by typical modprobe user.

    This leaves verbose=1 better focussed on the >control parsing process.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-5-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • commit 4bad78c55002 ("lib/dynamic_debug.c: use seq_open_private() instead of seq_open()")'

    The commit was one of a tree-wide set which replaced open-coded
    boilerplate with a single tail-call. It therefore obsoleted the
    comment about that boilerplate, clean that up now.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-4-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • since cf964976484 in 2012, initialization is done with early_initcall,
    update the Docs, which still say arch_initcall.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-3-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • Regarding:
    commit 2b6783191da7 ("dynamic_debug: add trim_prefix() to provide source-root relative paths")
    commit a73619a845d5 ("kbuild: use -fmacro-prefix-map to make __FILE__ a relative path")

    2nd commit broke dynamic-debug's "file $fullpath" query form, but
    nobody noticed because 1st commit had trimmed prefixes from
    control-file output, so the click-copy-pasting of fullpaths into new
    queries had ceased; that query form became unused.

    Removing the function is cleanest, but it could be useful in
    old-compiler corner cases, where __FILE__ still has /full/path,
    and it safely does nothing otherwize.

    So instead, quietly deprecate "file /full/path" query form, by
    removing all /full/paths examples in the docs. I skipped adding a
    back-compat note.

    Acked-by:
    Signed-off-by: Jim Cromie
    Link: https://lore.kernel.org/r/20200719231058.1586423-2-jim.cromie@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     
  • Replace the single element arrays with a simple value type u8 reserved,
    even thought is is not used for dynamically sized trailing elements
    it confuses the effort of replacing one-element arrays with
    flexible arrays for that purpose.

    Link: https://github.com/KSPP/linux/issues/79
    Cc: Gustavo A. R. Silva
    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-7-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • Use sizeof(*dev) + sizeof(*hw) instead of
    sizeof(struct mei_device) + sizeof(struct mei_me_hw)

    There is a possibility of bug when variable type has changed but
    corresponding struct passed to the sizeof has not.

    Cc: Gustavo A. R. Silva
    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-6-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • There is a possibility of bug when variable type has changed but
    corresponding struct passed to the sizeof has not.

    Cc: Gustavo A. R. Silva
    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-5-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • There is a possibility of bug when variable type has changed but
    corresponding struct passed to the sizeof has not.

    Cc: Gustavo A. R. Silva
    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-4-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • Use sizeof(connect_data))) instead of
    sizeof(struct mei_connect_client_data) when copying data
    between user space and kernel.

    There is a possibility of bug when variable type has changed but
    corresponding struct passed to the sizeof has not.

    Cc: Gustavo A. R. Silva
    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-3-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • There is a possibility of bug when variable type has changed but
    corresponding struct passed to the sizeof has not.

    Reviewed-by: Gustavo A. R. Silva
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200723145927.882743-2-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • This reverts commit 3c3b7ddef7879abb2c42422e898145826c79e5f0, as it
    turns out Tomas made a better series of patches for this same issue.

    Cc: Gustavo A. R. Silva
    Cc: Tomas Winkler
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

23 Jul, 2020

16 commits

  • Because the DPNIs are probed before DPMCPs and other objects that need
    to be allocated, messages like "No more resources of type X left" are
    printed by the fsl-mc bus driver. This patch resolves the issue by probing
    the allocatable objects first and then any other object that may use
    them.

    Signed-off-by: Grigore Popescu
    Signed-off-by: Ioana Ciornei
    Reviewed-by: Laurentiu Tudor
    Link: https://lore.kernel.org/r/20200717154800.17169-4-ioana.ciornei@nxp.com
    Signed-off-by: Greg Kroah-Hartman

    Grigore Popescu
     
  • Replace the spinlock that serializes the MC commands with a raw
    spinlock. This is needed for the RT kernel because there are MC
    commands sent in interrupt context.

    Signed-off-by: Laurentiu Tudor
    Signed-off-by: Ioana Ciornei
    Reviewed-by: Laurentiu Tudor
    Link: https://lore.kernel.org/r/20200717154800.17169-3-ioana.ciornei@nxp.com
    Signed-off-by: Greg Kroah-Hartman

    Laurentiu Tudor
     
  • The MC bus has different types of devices that can be discovered on the
    bus. Add the missing device types.

    Signed-off-by: Ioana Ciornei
    Reviewed-by: Laurentiu Tudor
    Link: https://lore.kernel.org/r/20200717154800.17169-2-ioana.ciornei@nxp.com
    Signed-off-by: Greg Kroah-Hartman

    Ioana Ciornei
     
  • Drivers should not use legacy power management as they have to manage power
    states and related operations, for the device, themselves. This driver was
    handling them with the help of PCI helper functions like
    pci_save/restore_state(), pci_enable/disable_device(), etc.

    With generic PM, all essentials will be handled by the PCI core. Driver
    needs to do only device-specific operations.

    The driver was also using pci_enable_wake(...,..., 0) to disable wake. Use
    device_wakeup_disable() instead.

    Compile-tested only.

    Signed-off-by: Vaibhav Gupta
    Link: https://lore.kernel.org/r/20200720101722.145211-1-vaibhavgupta40@gmail.com
    Signed-off-by: Greg Kroah-Hartman

    Vaibhav Gupta
     
  • Avoid a memset after a call to 'dma_alloc_coherent()'.
    This is useless since
    commit 518a2f1925c3 ("dma-mapping: zero memory returned from dma_alloc_*")

    Signed-off-by: Christophe JAILLET
    Link: https://lore.kernel.org/r/20200718070246.338016-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman

    Christophe JAILLET
     
  • The wrappers in include/linux/pci-dma-compat.h should go away.

    The patch has been generated with the coccinelle script below and has been
    hand modified to replace GFP_ with a correct flag.
    It has been compile tested.

    When memory is allocated in 'ilo_ccb_setup()' GFP_ATOMIC must be used
    because a spin_lock is hold in 'ilo_open()' before calling
    'ilo_ccb_setup()'

    @@
    @@
    - PCI_DMA_BIDIRECTIONAL
    + DMA_BIDIRECTIONAL

    @@
    @@
    - PCI_DMA_TODEVICE
    + DMA_TO_DEVICE

    @@
    @@
    - PCI_DMA_FROMDEVICE
    + DMA_FROM_DEVICE

    @@
    @@
    - PCI_DMA_NONE
    + DMA_NONE

    @@
    expression e1, e2, e3;
    @@
    - pci_alloc_consistent(e1, e2, e3)
    + dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

    @@
    expression e1, e2, e3;
    @@
    - pci_zalloc_consistent(e1, e2, e3)
    + dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_free_consistent(e1, e2, e3, e4)
    + dma_free_coherent(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_map_single(e1, e2, e3, e4)
    + dma_map_single(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_unmap_single(e1, e2, e3, e4)
    + dma_unmap_single(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4, e5;
    @@
    - pci_map_page(e1, e2, e3, e4, e5)
    + dma_map_page(&e1->dev, e2, e3, e4, e5)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_unmap_page(e1, e2, e3, e4)
    + dma_unmap_page(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_map_sg(e1, e2, e3, e4)
    + dma_map_sg(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_unmap_sg(e1, e2, e3, e4)
    + dma_unmap_sg(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
    + dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_dma_sync_single_for_device(e1, e2, e3, e4)
    + dma_sync_single_for_device(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
    + dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2, e3, e4;
    @@
    - pci_dma_sync_sg_for_device(e1, e2, e3, e4)
    + dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

    @@
    expression e1, e2;
    @@
    - pci_dma_mapping_error(e1, e2)
    + dma_mapping_error(&e1->dev, e2)

    @@
    expression e1, e2;
    @@
    - pci_set_dma_mask(e1, e2)
    + dma_set_mask(&e1->dev, e2)

    @@
    expression e1, e2;
    @@
    - pci_set_consistent_dma_mask(e1, e2)
    + dma_set_coherent_mask(&e1->dev, e2)

    Signed-off-by: Christophe JAILLET
    Link: https://lore.kernel.org/r/20200718070224.337964-1-christophe.jaillet@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman

    Christophe JAILLET
     
  • …ux-phy into char-misc-next

    Vinod writes:

    phy for 5.9

    - New PHY Drivers:
    - Samsung UFS
    - Qcom USB DWC for ipq806x
    - Xilinx ZynqMP Gigabit Transceiver
    - Qcom USB QMP for IPQ8074
    - BCM63xx USBH

    - Removed:
    - Qcom ufs qmp phy driver

    - Updates:
    - Support for Qcom SM8250 QMP V4 USB3 UNIPHY
    - qcom-snps runtime pm support
    - Cleanup of W=1 warns in the subsystem

    * tag 'phy-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (46 commits)
    phy: qualcomm: fix setting of tx_deamp_3_5db when device property read fails
    phy: bcm63xx-usbh: Add BCM63xx USBH driver
    dt-bindings: phy: add bcm63xx-usbh bindings
    phy: armada-38x: fix NETA lockup when repeatedly switching speeds
    dt: update Marvell Armada 38x COMPHY binding
    phy: samsung-ufs: Fix IS_ERR argument
    dt-bindings: phy: renesas,usb3-phy: Add r8a774e1 support
    dt-bindings: phy: renesas,usb2-phy: Add r8a774e1 support
    phy: renesas: rcar-gen3-usb2: exit if request_irq() failed
    phy: renesas: rcar-gen3-usb2: move irq registration to init
    devicetree: bindings: phy: Document ipq806x dwc3 qcom phy
    phy: qualcomm: add qcom ipq806x dwc usb phy driver
    phy: samsung-ufs: add UFS PHY driver for samsung SoC
    dt-bindings: phy: Document Samsung UFS PHY bindings
    phy: sun4i-usb: explicitly include gpio/consumer.h
    phy: stm32: use NULL instead of zero
    phy: exynos5-usbdrd: use correct format for structure description
    phy: rockchip-typec: use correct format for structure description
    phy: xgene: remove unsigned integer comparison with less than zero
    phy: mapphone-mdm6600: Add missing description for some structure fields
    ...

    Greg Kroah-Hartman
     
  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Link: https://lore.kernel.org/r/20200713104453.33414-1-grandmaster@al2klimov.de
    Signed-off-by: Greg Kroah-Hartman

    Alexander A. Klimov
     
  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Link: https://lore.kernel.org/r/20200713164024.35988-1-grandmaster@al2klimov.de
    Signed-off-by: Greg Kroah-Hartman

    Alexander A. Klimov
     
  • Drop the repeated word "the" in a comment.

    Cc: Arve Hjønnevåg
    Cc: Todd Kjos
    Cc: Martijn Coenen
    Cc: Joel Fernandes
    Cc: Hridya Valsaraju
    Cc: Suren Baghdasaryan
    Cc: devel@driverdev.osuosl.org
    Acked-by: Christian Brauner
    Signed-off-by: Randy Dunlap
    Link: https://lore.kernel.org/r/20200719002738.20210-1-rdunlap@infradead.org
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Drop the repeated word "the" in a comment.

    Signed-off-by: Randy Dunlap
    Cc: Sudeep Dutt
    Cc: Ashutosh Dixit
    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Link: https://lore.kernel.org/r/20200719002943.20624-1-rdunlap@infradead.org
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • One-element arrays are being deprecated[1]. Replace the one-element
    arrays with a simple value type u8 reserved, once this is just a
    placeholder for alignment.

    Also, while there, use the preferred form for passing a size of a struct.
    The alternative form where struct name is spelled out hurts readability
    and introduces an opportunity for a bug when the variable type is changed
    but the corresponding sizeof that is passed as argument is not.

    [1] https://github.com/KSPP/linux/issues/79

    Signed-off-by: Gustavo A. R. Silva
    Link: https://lore.kernel.org/r/20200714214516.GA1040@embeddedor
    Signed-off-by: Greg Kroah-Hartman

    Gustavo A. R. Silva
     
  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Acked-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200717185925.84102-1-grandmaster@al2klimov.de
    Signed-off-by: Greg Kroah-Hartman

    Alexander A. Klimov
     
  • There is a regular need in the kernel to provide a way to declare
    having a dynamically sized set of trailing elements in a structure.
    Kernel code should always use “flexible array members”[1] for these
    cases. The older style of one-element or zero-length arrays should
    no longer be used[2].

    Also, make use of the array_size() helper instead of the open-coded
    version in memcpy(). These sorts of multiplication factors need to
    be wrapped in array_size().

    And while there, use the preferred form for passing a size of a struct.
    The alternative form where struct name is spelled out hurts readability
    and introduces an opportunity for a bug when the pointer variable type is
    changed but the corresponding sizeof that is passed as argument is not.

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://github.com/KSPP/linux/issues/79

    Signed-off-by: Gustavo A. R. Silva
    Link: https://lore.kernel.org/r/20200722181534.GA31357@embeddedor
    Signed-off-by: Greg Kroah-Hartman

    Gustavo A. R. Silva
     
  • …nux-fpga into char-misc-next

    Moritz writes:

    FPGA Manager changes for 5.9-rc1

    Here is the (slightly larger than usual) patch set for the 5.9-rc1 merge
    window.

    DFL:
    - Xu's changes add support for AFU interrupt handling and puts them to
    use for error handling.
    - Xu's other change also adds another device-id for the Intel FPGA PAC N3000.
    - John's change converts from using get_user_pages() to
    pin_user_pages().
    - Gustavo's patch cleans up some of the allocation by using
    struct_size().

    Xilinx:
    - Luca's changes clean up the xilinx-spi and xilinx-slave-serial drivers
    and updates the comments and dt-bindings to reflect the fact it also
    supports 7 series devices.

    Core:
    - Tom cleaned up the fpga-bridge / fpga-mgr core by removing some
    dead-stores.

    All patches have been reviewed on the mailing list, and have been in the
    last few linux-next releases (as part of my for-next branch) without issues.

    Signed-off-by: Moritz Fischer <mdf@kernel.org>

    * tag 'fpga-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mdf/linux-fpga:
    fpga: dfl: pci: add device id for Intel FPGA PAC N3000
    Documentation: fpga: dfl: add descriptions for interrupt related interfaces.
    fpga: dfl: afu: add AFU interrupt support
    fpga: dfl: fme: add interrupt support for global error reporting
    fpga: dfl: afu: add interrupt support for port error reporting
    fpga: dfl: introduce interrupt trigger setting API
    fpga: dfl: pci: add irq info for feature devices enumeration
    fpga: dfl: parse interrupt info for feature devices on enumeration
    fpga manager: xilinx-spi: check INIT_B pin during write_init
    dt-bindings: fpga: xilinx-slave-serial: add optional INIT_B GPIO
    fpga: Fix dead store in fpga-bridge.c
    fpga: Fix dead store fpga-mgr.c
    fpga: dfl: Use struct_size() in kzalloc()
    fpga manager: xilinx-spi: remove unneeded, mistyped variables
    fpga manager: xilinx-spi: valid for the 7 Series too
    dt-bindings: fpga: xilinx-slave-serial: valid for the 7 Series too
    fpga: dfl: afu: convert get_user_pages() --> pin_user_pages()

    Greg Kroah-Hartman
     
  • …koul/soundwire into char-misc-next

    Vinod writes:

    soundwire updates for 5.9-rc1

    This contains few core changes and bunch of Intel driver updates:

    - Adds definitions for 1.2 spec
    - Sanyog left as a MAINTAINER and Bard took his place while Sanyog
    is a reviewer now.
    - Intel: Lots of updates to stream/dai handling, wake support and link
    synchronization.

    * tag 'soundwire-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (31 commits)
    Soundwire: intel_init: save Slave(s) _ADR info in sdw_intel_ctx
    soundwire: intel: add wake interrupt support
    soundwire: intel/cadence: merge Soundwire interrupt handlers/threads
    soundwire: intel_init: use EXPORT_SYMBOL_NS
    soundwire: intel_init: add implementation of sdw_intel_enable_irq()
    soundwire: intel: introduce helper for link synchronization
    soundwire: intel: introduce a helper to arm link synchronization
    soundwire: intel: revisit SHIM programming sequences.
    soundwire: intel: reuse code for wait loops to set/clear bits
    soundwire: fix the kernel-doc comment
    soundwire: sdw.h: fix indentation
    soundwire: sdw.h: fix PRBS/Static_1 swapped definitions
    soundwire: intel: don't free dma_data in DAI shutdown
    soundwire: cadence: allocate/free dma_data in set_sdw_stream
    soundwire: intel: remove stream allocation/free
    soundwire: stream: add helper to startup/shutdown streams
    soundwire: intel: implement get_sdw_stream() operations
    MAINTAINERS: change SoundWire maintainer
    soundwire: bus: initialize bus clock base and scale registers
    soundwire: extend SDW_SLAVE_ENTRY
    ...

    Greg Kroah-Hartman
     

22 Jul, 2020

4 commits

  • When reading registers defined by the PCIe spec, use the names already
    defined by the PCI core. This makes maintenance of the PCI core and
    drivers easier. No functional change intended.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200721212336.1159079-6-helgaas@kernel.org
    [ additional replacements due to changes in my tree - gregkh ]
    Signed-off-by: Greg Kroah-Hartman

    Bjorn Helgaas
     
  • Instead of hard-coding the location of the L1 PM Substates capability based
    on the Device ID, search for it in the extended capabilities list. This
    works for any device, as long as it implements the L1 PM Substates
    capability correctly, so it doesn't require maintenance as new devices are
    added. No functional change intended.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200721212336.1159079-5-helgaas@kernel.org
    [ minor addition due to differences in my tree - gregkh]
    Signed-off-by: Greg Kroah-Hartman

    Bjorn Helgaas
     
  • rtsx_pci_read_config_dword() and similar wrappers around the PCI config
    accessors add very little value, and they obscure the fact that often we
    are accessing standard PCI registers that should be coordinated with the
    PCI core.

    Remove the wrappers and use the PCI config accessors directly. No
    functional change intended.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200721212336.1159079-4-helgaas@kernel.org
    [ fixed up some other instances as original patch was based on old tree - gregkh
    Signed-off-by: Greg Kroah-Hartman

    Bjorn Helgaas
     
  • There are no more uses of struct rtsx_pcr.pcie_cap. Remove it.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200721212336.1159079-3-helgaas@kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Bjorn Helgaas