20 Jan, 2021

2 commits

  • This is the 5.10.8 stable release

    * tag 'v5.10.8': (104 commits)
    Linux 5.10.8
    tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
    drm/panfrost: Remove unused variables in panfrost_job_close()
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     
  • This is the 5.10.7 stable release

    * tag 'v5.10.7': (144 commits)
    Linux 5.10.7
    scsi: target: Fix XCOPY NAA identifier lookup
    rtlwifi: rise completion at the last step of firmware callback
    ...

    Signed-off-by: Jason Liu

    Jason Liu
     

17 Jan, 2021

2 commits

  • commit f6bcb4c7f366905b66ce8ffca7190118244bb642 upstream.

    This code will leak "map->debugfs_name" because the if statement is
    reversed so it only frees NULL pointers instead of non-NULL. In
    fact the if statement is not required and should just be removed
    because kfree() accepts NULL pointers.

    Fixes: cffa4b2122f5 ("regmap: debugfs: Fix a memory leak when calling regmap_attach_dev")
    Signed-off-by: Dan Carpenter
    Link: https://lore.kernel.org/r/X/RQpfAwRdLg0GqQ@mwanda
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • commit cffa4b2122f5f3e53cf3d529bbc74651f95856d5 upstream.

    After initializing the regmap through
    syscon_regmap_lookup_by_compatible, then regmap_attach_dev to the
    device, because the debugfs_name has been allocated, there is no
    need to redistribute it again

    unreferenced object 0xd8399b80 (size 64):
    comm "swapper/0", pid 1, jiffies 4294937641 (age 278.590s)
    hex dump (first 32 bytes):
    64 75 6d 6d 79 2d 69 6f 6d 75 78 63 2d 67 70 72
    dummy-iomuxc-gpr
    40 32 30 65 34 30 30 30 00 7f 52 5b d8 7e 42 69
    @20e4000..R[.~Bi
    backtrace:
    [] kasprintf+0x2c/0x54
    [] regmap_debugfs_init+0xdc/0x2fc
    [] __regmap_init+0xc38/0xd88
    [] of_syscon_register+0x168/0x294
    [] device_node_get_regmap+0x6c/0x98
    [] imx6ul_init_machine+0x20/0x88
    [] customize_machine+0x1c/0x30
    [] do_one_initcall+0x80/0x3ac
    [] kernel_init_freeable+0x170/0x1f0
    [] kernel_init+0x8/0x120
    [] ret_from_fork+0x14/0x20
    [] 0x0

    Fixes: 9b947a13e7f6 ("regmap: use debugfs even when no device")
    Signed-off-by: Xiaolei Wang
    Link: https://lore.kernel.org/r/20201229105046.41984-1-xiaolei.wang@windriver.com
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Xiaolei Wang
     

13 Jan, 2021

1 commit

  • commit 47f4469970d8861bc06d2d4d45ac8200ff07c693 upstream.

    While commit d5dcce0c414f ("device property: Keep secondary firmware
    node secondary by type") describes everything correct in its commit
    message, the change it made does the opposite and original commit
    c15e1bdda436 ("device property: Fix the secondary firmware node handling
    in set_primary_fwnode()") was fully correct.

    Revert the former one here and improve documentation in the next patch.

    Fixes: d5dcce0c414f ("device property: Keep secondary firmware node secondary by type")
    Signed-off-by: Bard Liao
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Heikki Krogerus
    Cc: 5.10+ # 5.10+
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Bard Liao
     

04 Jan, 2021

1 commit

  • This is the 5.10.4 stable release

    * tag 'v5.10.4': (717 commits)
    Linux 5.10.4
    x86/CPU/AMD: Save AMD NodeId as cpu_die_id
    drm/edid: fix objtool warning in drm_cvt_modes()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/gpu/drm/imx/dcss/dcss-plane.c
    drivers/media/i2c/ov5640.c

    Jason Liu
     

30 Dec, 2020

1 commit

  • commit 66482f640755b31cb94371ff6cef17400cda6db5 upstream.

    The device_links_purge() function (called from device_del()) tries to
    remove the links.needs_suppliers list entry, but it's using
    list_del(), hence it doesn't initialize after the removal. This is OK
    for normal cases where device_del() is called via device_destroy().
    However, it's not guaranteed that the device object will be really
    deleted soon after device_del(). In a minor case like HD-audio codec
    reconfiguration that re-initializes the device after device_del(), it
    may lead to a crash by the corrupted list entry.

    As a simple fix, replace list_del() with list_del_init() in order to
    make the list intact after the device_del() call.

    Fixes: e2ae9bcc4aaa ("driver core: Add support for linking devices during device addition")
    Cc:
    Reviewed-by: Rafael J. Wysocki
    Signed-off-by: Takashi Iwai
    Link: https://lore.kernel.org/r/20201208190326.27531-1-tiwai@suse.de
    Cc: Saravana Kannan
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

18 Dec, 2020

3 commits

  • * reset/next: (15 commits)
    LF-2881-3 reset: imx7: add the imx8mp pcie clkreq reset
    LF-218 reset: dispmix: remove dev when init mmio regmap
    MLK-21865 Revert "regmap: use debugfs even when no device"
    reset: Kconfig: use 'ARCH_MXC' for reset dispmix
    reset: imx8m: Correct clock name for dispmix driver
    ...

    BJ DevOps Team
     
  • * pm/next: (55 commits)
    MLK-24081-01: power: imx: Add hdmi rx power domain
    soc: fsl: enable acpi support in RCPM driver
    soc: fsl: handle RCPM errata A-008646 on SoC LS1021A
    LF-2594-4 imx: scu-pd: remove mlb power domain
    MLK-24833-1 imx: scu-pd: add lpi2c4 power domain for imx8qm
    ...

    BJ DevOps Team
     
  • * origin/net/dpaa2: (31 commits)
    bus: fsl-mc: added missing fields to dprc_rsp_get_obj_region structure
    bus: fsl-mc: simplify DPRC version check
    Fixed qbman alignment error in the virtualization context
    dpaa2-mac: select FSL_XGMAC_MDIO
    dpaa2-mac: probe standalone DPMAC objects
    ...

    BJ DevOps Team
     

14 Dec, 2020

8 commits

  • This reverts commit 9b947a13e7f6017f18470f665992dbae267852b3.

    The commit 9b947a13e7f6017f18470f665992dbae267852b3 does not consider power and
    clock when expose the regmap into debugsfs. This may bring some problem for some
    case. E.g., For reset registers (not real GPR, but csi bridge register) for
    MIPI DSI, MIPI CSI and LCDIF on i.mx8mm, they only can be accessed after the
    disp_root clock and dispmix power has been turned on, otherwise the system may
    be stuck.

    on i.mx8mm evk, the command to reproduce (with default dtb, no display/capture
    running):
    cat /sys/kernel/debug/regmap/dummy-display-gpr@32e28000/registers

    This patch reverted previous commit to avoid the exposure.

    Signed-off-by: Robby Cai
    Reviewed-by: Fancy Fang

    Robby Cai
     
  • It's possible for a platform to define multi states but without
    using a governor.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • For a domain has no working devices anymore, let's choose the deepest state
    to enter to save power. e.g. driver probe failure.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • Currently the generic power domain will power off the domain if all
    devices in it have been stopped during system suspend.

    It is done by checking if the domain is active in genpd_sync_power_off,
    then disable it. However, for power domains supporting multiple low power
    states, it may have already entered an intermediate low power state by
    runtime PM before system suspend and the status is already
    GPD_STATE_POWER_OFF which results in then the power domain stay at an
    intermediate low power state during system suspend.
    Then genpd_sync_power_off will keep it at the low power state instead
    of completely gate off it.

    Let's give the power domain a chance to switch to the deepest state in
    case it's already off but in an intermediate low power state.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • Move the Subdomain check into _genpd_power_off, then the caller does
    not have to check it each time. This also ensures a double check
    of &genpd->sd_count before really power off domain in case it's
    increased asychronously by subdomains. This is the same behavior
    as the original genpd_power_off() does.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • Only moving device pm to tail for defer probe is not enough because
    the device driver may be probed out of order without defer probe
    due to different driver init levels.

    Let's move the device pm to tail in the driver bound to ensure
    the device pm sequence is exactly the same as its probe sequence.

    Signed-off-by: Dong Aisheng

    Dong Aisheng
     
  • Exporting the next_driver() function is necessary, for the moment, so
    that the dpaa2_mac driver can be forcefully unbound from the DPMAC
    object when a kernel driver DPNI is connected to it.
    This will be removed once the MC sends interrupts notifying any link
    partnet change to all connectable objects (not just DPNIs).

    Signed-off-by: Ioana Ciornei

    Ioana Ciornei
     
  • Instead of scraping dmesg for messages such as 'Linked as a consumer to'
    or 'Dropping the link to' export two new sysfs entries in the device
    folder that list the consumer and supplier devices.

    Signed-off-by: Ioana Ciornei

    Ioana Ciornei
     

03 Nov, 2020

3 commits

  • Since the device is resumed from runtime-suspend in
    __device_release_driver() anyway, it is better to do that before
    looking for busy managed device links from it to consumers, because
    if there are any, device_links_unbind_consumers() will be called
    and it will cause the consumer devices' drivers to unbind, so the
    consumer devices will be runtime-resumed. In turn, resuming each
    consumer device will cause the supplier to be resumed and when the
    runtime PM references from the given consumer to it are dropped, it
    may be suspended. Then, the runtime-resume of the next consumer
    will cause the supplier to resume again and so on.

    Update the code accordingly.

    Signed-off-by: Rafael J. Wysocki
    Fixes: 9ed9895370ae ("driver core: Functional dependencies tracking support")
    Cc: All applicable # All applicable
    Tested-by: Xiang Chen
    Reviewed-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • After commit d12544fb2aa9 ("PM: runtime: Remove link state checks in
    rpm_get/put_supplier()") nothing prevents the consumer device's
    runtime PM from acquiring additional references to the supplier
    device after pm_runtime_clean_up_links() has run (or even while it
    is running), so calling this function from __device_release_driver()
    may be pointless (or even harmful).

    Moreover, it ignores stateless device links, so the runtime PM
    handling of managed and stateless device links is inconsistent
    because of it, so better get rid of it entirely.

    Fixes: d12544fb2aa9 ("PM: runtime: Remove link state checks in rpm_get/put_supplier()")
    Signed-off-by: Rafael J. Wysocki
    Cc: 5.1+ # 5.1+
    Tested-by: Xiang Chen
    Reviewed-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • While removing a device link, drop the supplier device's runtime PM
    usage counter as many times as needed to drop all of the runtime PM
    references to it from the consumer in addition to dropping the
    consumer's link count.

    Fixes: baa8809f6097 ("PM / runtime: Optimize the use of device links")
    Signed-off-by: Rafael J. Wysocki
    Cc: 5.1+ # 5.1+
    Tested-by: Xiang Chen
    Reviewed-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     

28 Oct, 2020

2 commits

  • It appears that firmware nodes can be shared between devices. In such case
    when a (child) device is about to be deleted, its firmware node may be shared
    and ACPI_COMPANION_SET(..., NULL) call for it breaks the secondary link
    of the shared primary firmware node.

    In order to prevent that, check, if the device has a parent and parent's
    firmware node is shared with its child, and avoid crashing the link.

    Fixes: c15e1bdda436 ("device property: Fix the secondary firmware node handling in set_primary_fwnode()")
    Reported-by: Ferry Toth
    Signed-off-by: Andy Shevchenko
    Reviewed-by: Heikki Krogerus
    Tested-by: Ferry Toth
    Cc: 5.9+ # 5.9+
    Signed-off-by: Rafael J. Wysocki

    Andy Shevchenko
     
  • Behind primary and secondary we understand the type of the nodes
    which might define their ordering. However, if primary node gone,
    we can't maintain the ordering by definition of the linked list.
    Thus, by ordering secondary node becomes first in the list.
    But in this case the meaning of it is still secondary (or auxiliary).
    The type of the node is maintained by the secondary pointer in it:

    secondary pointer Meaning
    NULL or valid primary node
    ERR_PTR(-ENODEV) secondary node

    So, if by some reason we do the following sequence of calls

    set_primary_fwnode(dev, NULL);
    set_primary_fwnode(dev, primary);

    we should preserve secondary node.

    This concept is supported by the description of set_primary_fwnode()
    along with implementation of set_secondary_fwnode(). Hence, fix
    the commit c15e1bdda436 to follow this as well.

    Fixes: c15e1bdda436 ("device property: Fix the secondary firmware node handling in set_primary_fwnode()")
    Cc: Ferry Toth
    Signed-off-by: Andy Shevchenko
    Reviewed-by: Heikki Krogerus
    Tested-by: Ferry Toth
    Cc: 5.9+ # 5.9+
    Signed-off-by: Rafael J. Wysocki

    Andy Shevchenko
     

24 Oct, 2020

2 commits

  • Pull more power management updates from Rafael Wysocki:
    "First of all, the adaptive voltage scaling (AVS) drivers go to new
    platform-specific locations as planned (this part was reported to have
    merge conflicts against the new arm-soc updates in linux-next).

    In addition to that, there are some fixes (intel_idle, intel_pstate,
    RAPL, acpi_cpufreq), the addition of on/off notifiers and idle state
    accounting support to the generic power domains (genpd) code and some
    janitorial changes all over.

    Specifics:

    - Move the AVS drivers to new platform-specific locations and get rid
    of the drivers/power/avs directory (Ulf Hansson).

    - Add on/off notifiers and idle state accounting support to the
    generic power domains (genpd) framework (Ulf Hansson, Lina Iyer).

    - Ulf will maintain the PM domain part of cpuidle-psci (Ulf Hansson).

    - Make intel_idle disregard ACPI _CST if it cannot use the data
    returned by that method (Mel Gorman).

    - Modify intel_pstate to avoid leaving useless sysfs directory
    structure behind if it cannot be registered (Chen Yu).

    - Fix domain detection in the RAPL power capping driver and prevent
    it from failing to enumerate the Psys RAPL domain (Zhang Rui).

    - Allow acpi-cpufreq to use ACPI _PSD information with Family 19 and
    later AMD chips (Wei Huang).

    - Update the driver assumptions comment in intel_idle and fix a
    kerneldoc comment in the runtime PM framework (Alexander Monakov,
    Bean Huo).

    - Avoid unnecessary resets of the cached frequency in the schedutil
    cpufreq governor to reduce overhead (Wei Wang).

    - Clean up the cpufreq core a bit (Viresh Kumar).

    - Make assorted minor janitorial changes (Daniel Lezcano, Geert
    Uytterhoeven, Hubert Jasudowicz, Tom Rix).

    - Clean up and optimize the cpupower utility somewhat (Colin Ian
    King, Martin Kaistra)"

    * tag 'pm-5.10-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits)
    PM: sleep: remove unreachable break
    PM: AVS: Drop the avs directory and the corresponding Kconfig
    PM: AVS: qcom-cpr: Move the driver to the qcom specific drivers
    PM: runtime: Fix typo in pm_runtime_set_active() helper comment
    PM: domains: Fix build error for genpd notifiers
    powercap: Fix typo in Kconfig "Plance" -> "Plane"
    cpufreq: schedutil: restore cached freq when next_f is not changed
    acpi-cpufreq: Honor _PSD table setting on new AMD CPUs
    PM: AVS: smartreflex Move driver to soc specific drivers
    PM: AVS: rockchip-io: Move the driver to the rockchip specific drivers
    PM: domains: enable domain idle state accounting
    PM: domains: Add curly braces to delimit comment + statement block
    PM: domains: Add support for PM domain on/off notifiers for genpd
    powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain
    powercap/intel_rapl: Fix domain detection
    intel_idle: Ignore _CST if control cannot be taken from the platform
    cpuidle: Remove pointless stub
    intel_idle: mention assumption that WBINVD is not needed
    MAINTAINERS: Add section for cpuidle-psci PM domain
    cpufreq: intel_pstate: Delete intel_pstate sysfs if failed to register the driver
    ...

    Linus Torvalds
     
  • * pm-core:
    PM: runtime: Fix typo in pm_runtime_set_active() helper comment

    * pm-sleep:
    PM: sleep: remove unreachable break

    * pm-tools:
    cpupower: speed up generating git version string
    cpupowerutils: fix spelling mistake "dependant" -> "dependent"

    * powercap:
    powercap: Fix typo in Kconfig "Plance" -> "Plane"
    powercap/intel_rapl: enumerate Psys RAPL domain together with package RAPL domain
    powercap/intel_rapl: Fix domain detection

    Rafael J. Wysocki
     

23 Oct, 2020

1 commit


21 Oct, 2020

1 commit

  • The __raw_notifier_call_chain() was recently removed and replaced with
    raw_notifier_call_chain_robust(). Recent changes to genpd didn't take that
    into account, which causes a build error. Let's fix this by converting to
    the raw_notifier_call_chain_robust() in genpd.

    Reported-by: kernel test robot
    Reported-by: Lina Iyer
    Signed-off-by: Ulf Hansson
    Signed-off-by: Rafael J. Wysocki

    Ulf Hansson
     

17 Oct, 2020

3 commits

  • Pull documentation updates from Mauro Carvalho Chehab:
    "A series of patches addressing warnings produced by make htmldocs.
    This includes:

    - kernel-doc markup fixes

    - ReST fixes

    - Updates at the build system in order to support newer versions of
    the docs build toolchain (Sphinx)

    After this series, the number of html build warnings should reduce
    significantly, and building with Sphinx 3.1 or later should now be
    supported (although it is still recommended to use Sphinx 2.4.4).

    As agreed with Jon, I should be sending you a late pull request by the
    end of the merge window addressing remaining issues with docs build,
    as there are a number of warning fixes that depends on pull requests
    that should be happening along the merge window.

    The end goal is to have a clean htmldocs build on Kernel 5.10.

    PS. It should be noticed that Sphinx 3.0 is not currently supported,
    as it lacks support for C domain namespaces. Such feature, needed in
    order to document uAPI system calls with Sphinx 3.x, was added only on
    Sphinx 3.1"

    * tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (75 commits)
    PM / devfreq: remove a duplicated kernel-doc markup
    mm/doc: fix a literal block markup
    workqueue: fix a kernel-doc warning
    docs: virt: user_mode_linux_howto_v2.rst: fix a literal block markup
    Input: sparse-keymap: add a description for @sw
    rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu
    nl80211: docs: add a description for s1g_cap parameter
    usb: docs: document altmode register/unregister functions
    kunit: test.h: fix a bad kernel-doc markup
    drivers: core: fix kernel-doc markup for dev_err_probe()
    docs: bio: fix a kerneldoc markup
    kunit: test.h: solve kernel-doc warnings
    block: bio: fix a warning at the kernel-doc markups
    docs: powerpc: syscall64-abi.rst: fix a malformed table
    drivers: net: hamradio: fix document location
    net: appletalk: Kconfig: Fix docs location
    dt-bindings: fix references to files converted to yaml
    memblock: get rid of a :c:type leftover
    math64.h: kernel-docs: Convert some markups into normal comments
    media: uAPI: buffer.rst: remove a left-over documentation
    ...

    Linus Torvalds
     
  • At boot time, or when doing memory hot-add operations, if the links in
    sysfs can't be created, the system is still able to run, so just report
    the error in the kernel log rather than BUG_ON and potentially make system
    unusable because the callpath can be called with locks held.

    Since the number of memory blocks managed could be high, the messages are
    rate limited.

    As a consequence, link_mem_sections() has no status to report anymore.

    Signed-off-by: Laurent Dufour
    Signed-off-by: Andrew Morton
    Reviewed-by: Oscar Salvador
    Acked-by: Michal Hocko
    Acked-by: David Hildenbrand
    Cc: Greg Kroah-Hartman
    Cc: Fenghua Yu
    Cc: Nathan Lynch
    Cc: "Rafael J . Wysocki"
    Cc: Scott Cheloha
    Cc: Tony Luck
    Link: https://lkml.kernel.org/r/20200915094143.79181-4-ldufour@linux.ibm.com
    Signed-off-by: Linus Torvalds

    Laurent Dufour
     
  • We soon want to pass flags, e.g., to mark added System RAM resources.
    mergeable. Prepare for that.

    This patch is based on a similar patch by Oscar Salvador:

    https://lkml.kernel.org/r/20190625075227.15193-3-osalvador@suse.de

    Signed-off-by: David Hildenbrand
    Signed-off-by: Andrew Morton
    Reviewed-by: Juergen Gross # Xen related part
    Reviewed-by: Pankaj Gupta
    Acked-by: Wei Liu
    Cc: Michal Hocko
    Cc: Dan Williams
    Cc: Jason Gunthorpe
    Cc: Baoquan He
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "Rafael J. Wysocki"
    Cc: Len Brown
    Cc: Greg Kroah-Hartman
    Cc: Vishal Verma
    Cc: Dave Jiang
    Cc: "K. Y. Srinivasan"
    Cc: Haiyang Zhang
    Cc: Stephen Hemminger
    Cc: Wei Liu
    Cc: Heiko Carstens
    Cc: Vasily Gorbik
    Cc: Christian Borntraeger
    Cc: David Hildenbrand
    Cc: "Michael S. Tsirkin"
    Cc: Jason Wang
    Cc: Boris Ostrovsky
    Cc: Stefano Stabellini
    Cc: "Oliver O'Halloran"
    Cc: Pingfan Liu
    Cc: Nathan Lynch
    Cc: Libor Pechacek
    Cc: Anton Blanchard
    Cc: Leonardo Bras
    Cc: Ard Biesheuvel
    Cc: Eric Biederman
    Cc: Julien Grall
    Cc: Kees Cook
    Cc: Roger Pau Monné
    Cc: Thomas Gleixner
    Cc: Wei Yang
    Link: https://lkml.kernel.org/r/20200911103459.10306-5-david@redhat.com
    Signed-off-by: Linus Torvalds

    David Hildenbrand
     

16 Oct, 2020

5 commits

  • To enable better debug of PM domains, keep a track of successful
    and failing attempts to enter each domain idle state.

    This statistics are exported in debugfs when reading the
    idle_states node associated with each PM domain.

    Signed-off-by: Lina Iyer
    [ rjw: Subject and changelog edits ]
    Signed-off-by: Rafael J. Wysocki

    Lina Iyer
     
  • There is not strict need to group a comment and a single statement in an
    if block, as comments are stripped by the pre-processor. However,
    adding curly braces does make the code easier to read, and may avoid
    mistakes when changing the code later.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Ulf Hansson
    Signed-off-by: Rafael J. Wysocki

    Geert Uytterhoeven
     
  • A device may have specific HW constraints that must be obeyed to, before
    its corresponding PM domain (genpd) can be powered off - and vice verse at
    power on. These constraints can't be managed through the regular runtime PM
    based deployment for a device, because the access pattern for it, isn't
    always request based. In other words, using the runtime PM callbacks to
    deal with the constraints doesn't work for these cases.

    For these reasons, let's instead add a PM domain power on/off notification
    mechanism to genpd. To add/remove a notifier for a device, the device must
    already have been attached to the genpd, which also means that it needs to
    be a part of the PM domain topology.

    To add/remove a notifier, let's introduce two genpd specific functions:
    - dev_pm_genpd_add|remove_notifier()

    Note that, to further clarify when genpd power on/off notifiers may be
    used, one can compare with the existing CPU_CLUSTER_PM_ENTER|EXIT
    notifiers. In the long run, the genpd power on/off notifiers should be able
    to replace them, but that requires additional genpd based platform support
    for the current users.

    Signed-off-by: Ulf Hansson
    Tested-by: Lina Iyer
    Signed-off-by: Rafael J. Wysocki

    Ulf Hansson
     
  • Pull dma-mapping updates from Christoph Hellwig:

    - rework the non-coherent DMA allocator

    - move private definitions out of

    - lower CMA_ALIGNMENT (Paul Cercueil)

    - remove the omap1 dma address translation in favor of the common code

    - make dma-direct aware of multiple dma offset ranges (Jim Quinlan)

    - support per-node DMA CMA areas (Barry Song)

    - increase the default seg boundary limit (Nicolin Chen)

    - misc fixes (Robin Murphy, Thomas Tai, Xu Wang)

    - various cleanups

    * tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping: (63 commits)
    ARM/ixp4xx: add a missing include of dma-map-ops.h
    dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling
    dma-direct: factor out a dma_direct_alloc_from_pool helper
    dma-direct check for highmem pages in dma_direct_alloc_pages
    dma-mapping: merge into
    dma-mapping: move large parts of to kernel/dma
    dma-mapping: move dma-debug.h to kernel/dma/
    dma-mapping: remove
    dma-mapping: merge into
    dma-contiguous: remove dma_contiguous_set_default
    dma-contiguous: remove dev_set_cma_area
    dma-contiguous: remove dma_declare_contiguous
    dma-mapping: split
    cma: decrease CMA_ALIGNMENT lower limit to 2
    firewire-ohci: use dma_alloc_pages
    dma-iommu: implement ->alloc_noncoherent
    dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
    dma-mapping: add a new dma_alloc_pages API
    dma-mapping: remove dma_cache_sync
    53c700: convert to dma_alloc_noncoherent
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char, misc, and other assorted driver subsystem
    patches for 5.10-rc1.

    There's a lot of different things in here, all over the drivers/
    directory. Some summaries:

    - soundwire driver updates

    - habanalabs driver updates

    - extcon driver updates

    - nitro_enclaves new driver

    - fsl-mc driver and core updates

    - mhi core and bus updates

    - nvmem driver updates

    - eeprom driver updates

    - binder driver updates and fixes

    - vbox minor bugfixes

    - fsi driver updates

    - w1 driver updates

    - coresight driver updates

    - interconnect driver updates

    - misc driver updates

    - other minor driver updates

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (396 commits)
    binder: fix UAF when releasing todo list
    docs: w1: w1_therm: Fix broken xref, mistakes, clarify text
    misc: Kconfig: fix a HISI_HIKEY_USB dependency
    LSM: Fix type of id parameter in kernel_post_load_data prototype
    misc: Kconfig: add a new dependency for HISI_HIKEY_USB
    firmware_loader: fix a kernel-doc markup
    w1: w1_therm: make w1_poll_completion static
    binder: simplify the return expression of binder_mmap
    test_firmware: Test partial read support
    firmware: Add request_partial_firmware_into_buf()
    firmware: Store opt_flags in fw_priv
    fs/kernel_file_read: Add "offset" arg for partial reads
    IMA: Add support for file reads without contents
    LSM: Add "contents" flag to kernel_read_file hook
    module: Call security_kernel_post_load_data()
    firmware_loader: Use security_post_load_data()
    LSM: Introduce kernel_post_load_data() hook
    fs/kernel_read_file: Add file_size output argument
    fs/kernel_read_file: Switch buffer size arg to size_t
    fs/kernel_read_file: Remove redundant size argument
    ...

    Linus Torvalds
     

15 Oct, 2020

5 commits

  • There are two literal blocks there. Fix the markups, in order
    to produce the right html output and solve those warnings:

    ./drivers/base/core.c:4218: WARNING: Unexpected indentation.
    ./drivers/base/core.c:4222: WARNING: Definition list ends without a blank line; unexpected unindent.
    ./drivers/base/core.c:4223: WARNING: Block quote ends without a blank line; unexpected unindent.

    Fixes: a787e5400a1c ("driver core: add device probe log helper")
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Pull driver core updates from Greg KH:
    "Here is the "big" set of driver core patches for 5.10-rc1

    They include a lot of different things, all related to the driver core
    and/or some driver logic:

    - sysfs common write functions to make it easier to audit sysfs
    attributes

    - device connection cleanups and fixes

    - devm helpers for a few functions

    - NOIO allocations for when devices are being removed

    - minor cleanups and fixes

    All have been in linux-next for a while with no reported issues"

    * tag 'driver-core-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (31 commits)
    regmap: debugfs: use semicolons rather than commas to separate statements
    platform/x86: intel_pmc_core: do not create a static struct device
    drivers core: node: Use a more typical macro definition style for ACCESS_ATTR
    drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show
    mm: and drivers core: Convert hugetlb_report_node_meminfo to sysfs_emit
    drivers core: Miscellaneous changes for sysfs_emit
    drivers core: Reindent a couple uses around sysfs_emit
    drivers core: Remove strcat uses around sysfs_emit and neaten
    drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions
    sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
    dyndbg: use keyword, arg varnames for query term pairs
    driver core: force NOIO allocations during unplug
    platform_device: switch to simpler IDA interface
    driver core: platform: Document return type of more functions
    Revert "driver core: Annotate dev_err_probe() with __must_check"
    Revert "test_firmware: Test platform fw loading on non-EFI systems"
    iio: adc: xilinx-xadc: use devm_krealloc()
    hwmon: pmbus: use more devres helpers
    devres: provide devm_krealloc()
    syscore: Use pm_pr_dbg() for syscore_{suspend,resume}()
    ...

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These add support for generic initiator-only proximity domains to the
    ACPI NUMA code and the architectures using it, clean up some
    non-ACPICA code referring to debug facilities from ACPICA, reduce the
    overhead related to accessing GPE registers, add a new DPTF (Dynamic
    Power and Thermal Framework) participant driver, update the ACPICA
    code in the kernel to upstream revision 20200925, add a new ACPI
    backlight whitelist entry, fix a few assorted issues and clean up some
    code.

    Specifics:

    - Add support for generic initiator-only proximity domains to the
    ACPI NUMA code and the architectures using it (Jonathan Cameron)

    - Clean up some non-ACPICA code referring to debug facilities from
    ACPICA that are not actually used in there (Hanjun Guo)

    - Add new DPTF driver for the PCH FIVR participant (Srinivas
    Pandruvada)

    - Reduce overhead related to accessing GPE registers in ACPICA and
    the OS interface layer and make it possible to access GPE registers
    using logical addresses if they are memory-mapped (Rafael Wysocki)

    - Update the ACPICA code in the kernel to upstream revision 20200925
    including changes as follows:
    + Add predefined names from the SMBus sepcification (Bob Moore)
    + Update acpi_help UUID list (Bob Moore)
    + Return exceptions for string-to-integer conversions in iASL (Bob
    Moore)
    + Add a new "ALL " debugger command (Bob Moore)
    + Add support for 64 bit risc-v compilation (Colin Ian King)
    + Do assorted cleanups (Bob Moore, Colin Ian King, Randy Dunlap)

    - Add new ACPI backlight whitelist entry for HP 635 Notebook (Alex
    Hung)

    - Move TPS68470 OpRegion driver to drivers/acpi/pmic/ and split out
    Kconfig and Makefile specific for ACPI PMIC (Andy Shevchenko)

    - Clean up the ACPI SoC driver for AMD SoCs (Hanjun Guo)

    - Add missing config_item_put() to fix refcount leak (Hanjun Guo)

    - Drop lefrover field from struct acpi_memory_device (Hanjun Guo)

    - Make the ACPI extlog driver check for RDMSR failures (Ben
    Hutchings)

    - Fix handling of lid state changes in the ACPI button driver when
    input device is closed (Dmitry Torokhov)

    - Fix several assorted build issues (Barnabás Pőcze, John Garry,
    Nathan Chancellor, Tian Tao)

    - Drop unused inline functions and reduce code duplication by using
    kobj_to_dev() in the NFIT parsing code (YueHaibing, Wang Qing)

    - Serialize tools/power/acpi Makefile (Thomas Renninger)"

    * tag 'acpi-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
    ACPICA: Update version to 20200925 Version 20200925
    ACPICA: Remove unnecessary semicolon
    ACPICA: Debugger: Add a new command: "ALL "
    ACPICA: iASL: Return exceptions for string-to-integer conversions
    ACPICA: acpi_help: Update UUID list
    ACPICA: Add predefined names found in the SMBus sepcification
    ACPICA: Tree-wide: fix various typos and spelling mistakes
    ACPICA: Drop the repeated word "an" in a comment
    ACPICA: Add support for 64 bit risc-v compilation
    ACPI: button: fix handling lid state changes when input device closed
    tools/power/acpi: Serialize Makefile
    ACPI: scan: Replace ACPI_DEBUG_PRINT() with pr_debug()
    ACPI: memhotplug: Remove 'state' from struct acpi_memory_device
    ACPI / extlog: Check for RDMSR failure
    ACPI: Make acpi_evaluate_dsm() prototype consistent
    docs: mm: numaperf.rst Add brief description for access class 1.
    node: Add access1 class to represent CPU to memory characteristics
    ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3
    ACPI: Let ACPI know we support Generic Initiator Affinity Structures
    x86: Support Generic Initiator only proximity domains
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These rework the collection of cpufreq statistics to allow it to take
    place if fast frequency switching is enabled in the governor, rework
    the frequency invariance handling in the cpufreq core and drivers, add
    new hardware support to a couple of cpufreq drivers, fix a number of
    assorted issues and clean up the code all over.

    Specifics:

    - Rework cpufreq statistics collection to allow it to take place when
    fast frequency switching is enabled in the governor (Viresh Kumar).

    - Make the cpufreq core set the frequency scale on behalf of the
    driver and update several cpufreq drivers accordingly (Ionela
    Voinescu, Valentin Schneider).

    - Add new hardware support to the STI and qcom cpufreq drivers and
    improve them (Alain Volmat, Manivannan Sadhasivam).

    - Fix multiple assorted issues in cpufreq drivers (Jon Hunter,
    Krzysztof Kozlowski, Matthias Kaehlcke, Pali Rohár, Stephan
    Gerhold, Viresh Kumar).

    - Fix several assorted issues in the operating performance points
    (OPP) framework (Stephan Gerhold, Viresh Kumar).

    - Allow devfreq drivers to fetch devfreq instances by DT enumeration
    instead of using explicit phandles and modify the devfreq core code
    to support driver-specific devfreq DT bindings (Leonard Crestez,
    Chanwoo Choi).

    - Improve initial hardware resetting in the tegra30 devfreq driver
    and clean up the tegra cpuidle driver (Dmitry Osipenko).

    - Update the cpuidle core to collect state entry rejection statistics
    and expose them via sysfs (Lina Iyer).

    - Improve the ACPI _CST code handling diagnostics (Chen Yu).

    - Update the PSCI cpuidle driver to allow the PM domain
    initialization to occur in the OSI mode as well as in the PC mode
    (Ulf Hansson).

    - Rework the generic power domains (genpd) core code to allow domain
    power off transition to be aborted in the absence of the "power
    off" domain callback (Ulf Hansson).

    - Fix two suspend-to-idle issues in the ACPI EC driver (Rafael
    Wysocki).

    - Fix the handling of timer_expires in the PM-runtime framework on
    32-bit systems and the handling of device links in it (Grygorii
    Strashko, Xiang Chen).

    - Add IO requests batching support to the hibernate image saving and
    reading code and drop a bogus get_gendisk() from there (Xiaoyi
    Chen, Christoph Hellwig).

    - Allow PCIe ports to be put into the D3cold power state if they are
    power-manageable via ACPI (Lukas Wunner).

    - Add missing header file include to a power capping driver (Pujin
    Shi).

    - Clean up the qcom-cpr AVS driver a bit (Liu Shixin).

    - Kevin Hilman steps down as designated reviwer of adaptive voltage
    scaling (AVS) drivers (Kevin Hilman)"

    * tag 'pm-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (65 commits)
    cpufreq: stats: Fix string format specifier mismatch
    arm: disable frequency invariance for CONFIG_BL_SWITCHER
    cpufreq,arm,arm64: restructure definitions of arch_set_freq_scale()
    cpufreq: stats: Add memory barrier to store_reset()
    cpufreq: schedutil: Simplify sugov_fast_switch()
    ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe()
    ACPI: EC: PM: Flush EC work unconditionally after wakeup
    PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI
    PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
    cpufreq: Move traces and update to policy->cur to cpufreq core
    cpufreq: stats: Enable stats for fast-switch as well
    cpufreq: stats: Mark few conditionals with unlikely()
    cpufreq: stats: Remove locking
    cpufreq: stats: Defer stats update to cpufreq_stats_record_transition()
    PM: domains: Allow to abort power off when no ->power_off() callback
    PM: domains: Rename power state enums for genpd
    PM / devfreq: tegra30: Improve initial hardware resetting
    PM / devfreq: event: Change prototype of devfreq_event_get_edev_by_phandle function
    PM / devfreq: Change prototype of devfreq_get_devfreq_by_phandle function
    PM / devfreq: Add devfreq_get_devfreq_by_node function
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:
    "181 patches.

    Subsystems affected by this patch series: kbuild, scripts, ntfs,
    ocfs2, vfs, mm (slab, slub, kmemleak, dax, debug, pagecache, fadvise,
    gup, swap, memremap, memcg, selftests, pagemap, mincore, hmm, dma,
    memory-failure, vmallo and migration)"

    * emailed patches from Andrew Morton : (181 commits)
    mm/migrate: remove obsolete comment about device public
    mm/migrate: remove cpages-- in migrate_vma_finalize()
    mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
    memblock: use separate iterators for memory and reserved regions
    memblock: implement for_each_reserved_mem_region() using __next_mem_region()
    memblock: remove unused memblock_mem_size()
    x86/setup: simplify reserve_crashkernel()
    x86/setup: simplify initrd relocation and reservation
    arch, drivers: replace for_each_membock() with for_each_mem_range()
    arch, mm: replace for_each_memblock() with for_each_mem_pfn_range()
    memblock: reduce number of parameters in for_each_mem_range()
    memblock: make memblock_debug and related functionality private
    memblock: make for_each_memblock_type() iterator private
    mircoblaze: drop unneeded NUMA and sparsemem initializations
    riscv: drop unneeded node initialization
    h8300, nds32, openrisc: simplify detection of memory extents
    arm64: numa: simplify dummy_numa_init()
    arm, xtensa: simplify initialization of high memory pages
    dma-contiguous: simplify cma_early_percent_memory()
    KVM: PPC: Book3S HV: simplify kvm_cma_reserve()
    ...

    Linus Torvalds