25 Aug, 2022

1 commit

  • commit 9066e151c37950af92c3be6a7270daa8e8063db9 upstream.

    Since commit 488dac0c9237 ("libfs: fix error cast of negative value in
    simple_attr_write()"), the EINJ debugfs interface no longer accepts
    negative values as input. Attempt to do so will result in EINVAL.

    Fixes: 488dac0c9237 ("libfs: fix error cast of negative value in simple_attr_write()")
    Signed-off-by: Qifu Zhang
    Reviewed-by: Tony Luck
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Qifu Zhang
     

27 Jan, 2022

1 commit

  • commit a11174952205d082f1658fab4314f0caf706e0a8 upstream.

    The data node reference documentation was missing a package that must
    contain the property values, instead property name and multiple values
    being present in a single package. This is not aligned with the _DSD
    spec.

    Fix it by adding the package for the values.

    Also add the missing "reg" properties to two numbered nodes.

    Fixes: b10134a3643d ("ACPI: property: Document hierarchical data extension references")
    Signed-off-by: Sakari Ailus
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Sakari Ailus
     

26 Jul, 2021

1 commit

  • The conversion tools used during DocBook/LaTeX/html/Markdown->ReST
    conversion and some cut-and-pasted text contain some characters that
    aren't easily reachable on standard keyboards and/or could cause
    troubles when parsed by the documentation build system.

    Replace the occurences of the following characters:

    - U+00a0 (' '): NO-BREAK SPACE
    as it can cause lines being truncated on PDF output

    Acked-by: Rafael J. Wysocki
    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/a65b04a5cf341cff02d4b514dd4889b4fa4f94b8.1626947264.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

09 Jul, 2021

1 commit

  • …ierry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This contains mostly various fixes, cleanups and some conversions to
    the atomic API. One noteworthy change is that PWM consumers can now
    pass a hint to the PWM core about the PWM usage, enabling PWM
    providers to implement various optimizations.

    There's also a fair bit of simplification here with the addition of
    some device-managed helpers as well as unification between the DT and
    ACPI firmware interfaces"

    * tag 'pwm/for-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (50 commits)
    pwm: Remove redundant assignment to pointer pwm
    pwm: ep93xx: Fix read of uninitialized variable ret
    pwm: ep93xx: Prepare clock before using it
    pwm: ep93xx: Unfold legacy callbacks into ep93xx_pwm_apply()
    pwm: ep93xx: Implement .apply callback
    pwm: vt8500: Only unprepare the clock after the pwmchip was removed
    pwm: vt8500: Drop if with an always false condition
    pwm: tegra: Assert reset only after the PWM was unregistered
    pwm: tegra: Don't needlessly enable and disable the clock in .remove()
    pwm: tegra: Don't modify HW state in .remove callback
    pwm: tegra: Drop an if block with an always false condition
    pwm: core: Simplify some devm_*pwm*() functions
    pwm: core: Remove unused devm_pwm_put()
    pwm: core: Unify fwnode checks in the module
    pwm: core: Reuse fwnode_to_pwmchip() in ACPI case
    pwm: core: Convert to use fwnode for matching
    docs: firmware-guide: ACPI: Add a PWM example
    dt-bindings: pwm: pwm-tiecap: Add compatible string for AM64 SoC
    dt-bindings: pwm: pwm-tiecap: Convert to json schema
    pwm: sprd: Don't check the return code of pwmchip_remove()
    ...

    Linus Torvalds
     

01 Jul, 2021

2 commits

  • Pull networking updates from Jakub Kicinski:
    "Core:

    - BPF:
    - add syscall program type and libbpf support for generating
    instructions and bindings for in-kernel BPF loaders (BPF loaders
    for BPF), this is a stepping stone for signed BPF programs
    - infrastructure to migrate TCP child sockets from one listener to
    another in the same reuseport group/map to improve flexibility
    of service hand-off/restart
    - add broadcast support to XDP redirect

    - allow bypass of the lockless qdisc to improving performance (for
    pktgen: +23% with one thread, +44% with 2 threads)

    - add a simpler version of "DO_ONCE()" which does not require jump
    labels, intended for slow-path usage

    - virtio/vsock: introduce SOCK_SEQPACKET support

    - add getsocketopt to retrieve netns cookie

    - ip: treat lowest address of a IPv4 subnet as ordinary unicast
    address allowing reclaiming of precious IPv4 addresses

    - ipv6: use prandom_u32() for ID generation

    - ip: add support for more flexible field selection for hashing
    across multi-path routes (w/ offload to mlxsw)

    - icmp: add support for extended RFC 8335 PROBE (ping)

    - seg6: add support for SRv6 End.DT46 behavior

    - mptcp:
    - DSS checksum support (RFC 8684) to detect middlebox meddling
    - support Connection-time 'C' flag
    - time stamping support

    - sctp: packetization Layer Path MTU Discovery (RFC 8899)

    - xfrm: speed up state addition with seq set

    - WiFi:
    - hidden AP discovery on 6 GHz and other HE 6 GHz improvements
    - aggregation handling improvements for some drivers
    - minstrel improvements for no-ack frames
    - deferred rate control for TXQs to improve reaction times
    - switch from round robin to virtual time-based airtime scheduler

    - add trace points:
    - tcp checksum errors
    - openvswitch - action execution, upcalls
    - socket errors via sk_error_report

    Device APIs:

    - devlink: add rate API for hierarchical control of max egress rate
    of virtual devices (VFs, SFs etc.)

    - don't require RCU read lock to be held around BPF hooks in NAPI
    context

    - page_pool: generic buffer recycling

    New hardware/drivers:

    - mobile:
    - iosm: PCIe Driver for Intel M.2 Modem
    - support for Qualcomm MSM8998 (ipa)

    - WiFi: Qualcomm QCN9074 and WCN6855 PCI devices

    - sparx5: Microchip SparX-5 family of Enterprise Ethernet switches

    - Mellanox BlueField Gigabit Ethernet (control NIC of the DPU)

    - NXP SJA1110 Automotive Ethernet 10-port switch

    - Qualcomm QCA8327 switch support (qca8k)

    - Mikrotik 10/25G NIC (atl1c)

    Driver changes:

    - ACPI support for some MDIO, MAC and PHY devices from Marvell and
    NXP (our first foray into MAC/PHY description via ACPI)

    - HW timestamping (PTP) support: bnxt_en, ice, sja1105, hns3, tja11xx

    - Mellanox/Nvidia NIC (mlx5)
    - NIC VF offload of L2 bridging
    - support IRQ distribution to Sub-functions

    - Marvell (prestera):
    - add flower and match all
    - devlink trap
    - link aggregation

    - Netronome (nfp): connection tracking offload

    - Intel 1GE (igc): add AF_XDP support

    - Marvell DPU (octeontx2): ingress ratelimit offload

    - Google vNIC (gve): new ring/descriptor format support

    - Qualcomm mobile (rmnet & ipa): inline checksum offload support

    - MediaTek WiFi (mt76)
    - mt7915 MSI support
    - mt7915 Tx status reporting
    - mt7915 thermal sensors support
    - mt7921 decapsulation offload
    - mt7921 enable runtime pm and deep sleep

    - Realtek WiFi (rtw88)
    - beacon filter support
    - Tx antenna path diversity support
    - firmware crash information via devcoredump

    - Qualcomm WiFi (wcn36xx)
    - Wake-on-WLAN support with magic packets and GTK rekeying

    - Micrel PHY (ksz886x/ksz8081): add cable test support"

    * tag 'net-next-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2168 commits)
    tcp: change ICSK_CA_PRIV_SIZE definition
    tcp_yeah: check struct yeah size at compile time
    gve: DQO: Fix off by one in gve_rx_dqo()
    stmmac: intel: set PCI_D3hot in suspend
    stmmac: intel: Enable PHY WOL option in EHL
    net: stmmac: option to enable PHY WOL with PMT enabled
    net: say "local" instead of "static" addresses in ndo_dflt_fdb_{add,del}
    net: use netdev_info in ndo_dflt_fdb_{add,del}
    ptp: Set lookup cookie when creating a PTP PPS source.
    net: sock: add trace for socket errors
    net: sock: introduce sk_error_report
    net: dsa: replay the local bridge FDB entries pointing to the bridge dev too
    net: dsa: ensure during dsa_fdb_offload_notify that dev_hold and dev_put are on the same dev
    net: dsa: include fdb entries pointing to bridge in the host fdb list
    net: dsa: include bridge addresses which are local in the host fdb list
    net: dsa: sync static FDB entries on foreign interfaces to hardware
    net: dsa: install the host MDB and FDB entries in the master's RX filter
    net: dsa: reference count the FDB addresses at the cross-chip notifier level
    net: dsa: introduce a separate cross-chip notifier type for host FDBs
    net: dsa: reference count the MDB entries at the cross-chip notifier level
    ...

    Linus Torvalds
     
  • When PWM support for ACPI has been added into the kernel, it missed
    the documentation update. Hence update documentation here.

    Fixes: 4a6ef8e37c4d ("pwm: Add support referencing PWMs from ACPI")
    Signed-off-by: Andy Shevchenko
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Thierry Reding

    Andy Shevchenko
     

23 Jun, 2021

1 commit

  • Document additional MAC configuration modes which can be processed
    by the existing fwnode_ phylink helpers:

    * "managed" standard ACPI _DSD property [1]
    * "fixed-link" data-only subnode linked in the _DSD package via
    generic mechanism of the hierarchical data extension [2]

    [1] https://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf
    [2] https://github.com/UEFI/DSD-Guide/blob/main/dsd-guide.pdf

    Signed-off-by: Marcin Wojtas
    Signed-off-by: David S. Miller

    Marcin Wojtas
     

19 Jun, 2021

2 commits


18 Jun, 2021

1 commit


12 Jun, 2021

1 commit

  • Introduce a mechanism based on generic ACPI _DSD device properties
    definition [1] to get PHYs registered on a MDIO bus and provide them to
    be connected to MAC.

    [1] http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf

    Describe properties "phy-handle" and "phy-mode".

    Signed-off-by: Calvin Johnson
    Signed-off-by: Ioana Ciornei
    Acked-by: Rafael J. Wysocki
    Acked-by: Grant Likely
    Signed-off-by: David S. Miller

    Calvin Johnson
     

29 Apr, 2021

1 commit


08 Mar, 2021

5 commits

  • Drop the definitions of the following symbols:

    ACPI_SBS_COMPONENT
    ACPI_FAN_COMPONENT
    ACPI_CONTAINER_COMPONENT
    ACPI_MEMORY_DEVICE_COMPONENT

    that are not used in a meaningful way any more and update the ACPI
    debug documentation to avoid confusing users by making the impression
    that the ACPICA debug can be used for anything other than ACPICA
    itself, which is incorrect.

    No functional impact.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo

    Rafael J. Wysocki
     
  • Replace the only ACPI_EXCEPTION() instance in sysfs.c with a
    pr_warn() call, drop the _COMPONENT and ACPI_MODULE_NAME()
    definitions that are not used any more and drop the
    ACPI_SYSTEM_COMPONENT definition that would not be used any
    more in a meaningful way after the above changes.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo

    Rafael J. Wysocki
     
  • Merge the ACPI PCI topic branch depended on by the following material.

    Rafael J. Wysocki
     
  • The ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() macros are used for
    message printing in the ACPICA code and they should not be used
    elsewhere. Special configuration (either kernel command line or
    sysfs-based) is needed to see the messages printed by them and
    the format of those messages is also special and convoluted.

    For this reason, replace all of the ACPI_DEBUG_PRINT() and
    ACPI_EXCEPTION() instances in the ACPI processor driver with
    corresponding dev_*(), acpi_handle_*() and pr_*() calls depending
    on the context in which they appear.

    Also drop the ACPI_PROCESSOR_COMPONENT definition that is not going
    to be necessary any more.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo

    Rafael J. Wysocki
     
  • After dropping all of the code using ACPI_PCI_COMPONENT drop the
    definition of it too and update the documentation to remove all
    ACPI_PCI_COMPONENT references from it.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo

    Rafael J. Wysocki
     

16 Feb, 2021

1 commit

  • * acpi-messages:
    ACPI: OSL: Clean up printing messages
    ACPI: OSL: Rework acpi_check_resource_conflict()
    ACPI: thermal: Clean up printing messages
    ACPI: video: Clean up printing messages
    ACPI: button: Clean up printing messages
    ACPI: battery: Clean up printing messages
    ACPI: AC: Clean up printing messages
    ACPI: bus: Drop ACPI_BUS_COMPONENT which is not used any more
    ACPI: utils: Clean up printing messages
    ACPI: scan: Clean up printing messages
    ACPI: bus: Clean up printing messages
    ACPI: PM: Clean up printing messages
    ACPI: power: Clean up printing messages

    Rafael J. Wysocki
     

05 Feb, 2021

7 commits

  • Replace the ACPI_DEBUG_PRINT() instances in thermal.c with
    acpi_handle_debug() calls and modify the ACPI_THERMAL_TRIPS_EXCEPTION()
    macro in there to use acpi_handle_info() internally, which among other
    things causes the excessive log level of the messages printed by it to
    be increased.

    Drop the _COMPONENT and ACPI_MODULE_NAME() definitions that are not
    used any more from thermal.c, drop the no longer needed
    ACPI_THERMAL_COMPONENT definition from the headers and update the
    documentation accordingly.

    While at it, add a pr_fmt() definition to thermal.c, drop the PREFIX
    definition from there and replace some pr_warn() calls with pr_info()
    or acpi_handle_info() to reduce the excessive log level and (in the
    latter case) facilitate easier identification of the message source.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo
    Reviewed-by: Hans de Goede

    Rafael J. Wysocki
     
  • Replace the ACPI_DEBUG_PRINT() instances in acpi_video.c with
    acpi_handle_debug() calls and the ACPI_EXCEPTION()/ACPI_ERROR()/
    ACPI_WARNING() instances in there with acpi_handle_info() calls,
    which among other things causes the excessive log levels of those
    messages to be increased.

    Drop the _COMPONENT and ACPI_MODULE_NAME() definitions that are not
    used any more from acpi_video.c, drop the no longer needed
    ACPI_VIDEO_COMPONENT definition from the headers and update the
    documentation accordingly.

    While at it, add a pr_fmt() definition to acpi_video.c, replace the
    direct printk() invocations in there with acpi_handle_info() or
    pr_info() (and reduce the excessive log level where applicable) and
    drop the PREFIX sybmbol definition which is not necessary any more
    from acpi_video.c.

    Also make unrelated janitorial changes to fix up white space and
    use ACPI_FAILURE() instead of negating ACPI_SUCCESS().

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo
    Reviewed-by: Hans de Goede

    Rafael J. Wysocki
     
  • Replace the ACPI_DEBUG_PRINT() instance in button.c with an
    acpi_handle_debug() call, drop the _COMPONENT and ACPI_MODULE_NAME()
    definitions that are not used any more, drop the no longer needed
    ACPI_BUTTON_COMPONENT definition from the headers and update the
    documentation accordingly.

    While at it, replace the direct printk() invocations with pr_info()
    (that changes the excessive log level for some of them too) and drop
    the unneeded PREFIX sybmbol definition from battery.c.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo
    Reviewed-by: Hans de Goede

    Rafael J. Wysocki
     
  • Replace the ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() instances
    in battery.c with acpi_handle_debug() and acpi_handle_info() calls,
    respectively, which among other things causes the excessive log
    level of the messages previously printed via ACPI_EXCEPTION() to
    be increased.

    Drop the _COMPONENT and ACPI_MODULE_NAME() definitions that are not
    used any more, drop the no longer needed ACPI_BATTERY_COMPONENT
    definition from the headers and update the documentation accordingly.

    While at it, update the pr_fmt() definition and drop the unneeded
    PREFIX sybmbol definition from battery.c. Also adapt the existing
    pr_info() calls to the new pr_fmt() definition.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo
    Reviewed-by: Hans de Goede

    Rafael J. Wysocki
     
  • Replace the ACPI_DEBUG_PRINT() and ACPI_EXCEPTION() instances
    in ac.c with acpi_handle_debug() and acpi_handle_info() calls,
    respectively, which among other things causes the excessive log
    level of the messages previously printed via ACPI_EXCEPTION() to
    be increased.

    Drop the _COMPONENT and ACPI_MODULE_NAME() definitions that are not
    used any more, drop the no longer needed ACPI_AC_COMPONENT definition
    from the headers and update the documentation accordingly.

    While at it, replace the direct printk() invocation with pr_info(),
    add a pr_fmt() definition to ac.c and drop the unneeded PREFIX
    symbol definition from there.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hanjun Guo
    Reviewed-by: Hans de Goede

    Rafael J. Wysocki
     
  • After dropping all of the code using ACPI_BUS_COMPONENT drop it
    too and modify the example in the documentation using it.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Replace the remaining ACPI_DEBUG_PRINT() instances in device_pm.c
    with dev_dbg() invocations, drop the _COMPONENT and ACPI_MODULE_NAME()
    definitions that are not used any more, and drop the no longer needed
    ACPI_POWER_COMPONENT definition from the headers and documentation.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

22 Jan, 2021

1 commit


14 Jan, 2021

1 commit

  • Fix the error type value for PCI Express uncorrectable non-fatal
    error to 0x00000080 and fix the error type value for PCI Express
    uncorrectable fatal error to 0x00000100.

    See Advanced Configuration and Power Interface Specification,
    version 6.2, table "18-409 Error Type Definition".

    Signed-off-by: Qiuxu Zhuo
    Reported-by: Lijian Zhao
    [ rjw: Subject edits ]
    Signed-off-by: Rafael J. Wysocki

    Qiuxu Zhuo
     

24 Nov, 2020

1 commit

  • For "fixed" PCI devices, such as chips directly soldered
    on the main board (ethernet, Wi-Fi, serial ports, etc.),
    it is possible to find an ACPI enumeration.

    This allows to add useful properties to these devices.
    Just for an example: the property "gpio-line-names" can be
    added to the pins of a GPIO expander on the PCI bus.

    In order to find the ACPI name of a PCI device, it's necessary
    to disassemble the BIOS ACPI tables (in particular the DSDT)
    and also to analyze the PCI bus topology of the board.

    This patch, with a practical example, show how to do this.

    Signed-off-by: Flavio Suligoi
    Reviewed-by: Mika Westerberg
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Rafael J. Wysocki

    Flavio Suligoi
     

23 Nov, 2020

1 commit


17 Nov, 2020

1 commit


11 Nov, 2020

1 commit


10 Nov, 2020

3 commits


11 Sep, 2020

1 commit


27 Jul, 2020

1 commit

  • 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: Vishal Verma
    Acked-by: Sakari Ailus
    Signed-off-by: Rafael J. Wysocki

    Alexander A. Klimov
     

13 May, 2020

1 commit


08 Apr, 2020

1 commit


20 Dec, 2019

1 commit


14 Oct, 2019

1 commit