Commit 35482f9d authored by Dave Airlie's avatar Dave Airlie
Browse files

Backmerge tag 'v5.14-rc3' into drm-next



Linux 5.14-rc3

Daniel said we should pull the nouveau fix from fixes in here, probably
a good plan.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parents 8da49a33 ff117646
Loading
Loading
Loading
Loading
+18 −8
Original line number Diff line number Diff line
@@ -45,8 +45,9 @@ how the user addresses are used by the kernel:

1. User addresses not accessed by the kernel but used for address space
   management (e.g. ``mprotect()``, ``madvise()``). The use of valid
   tagged pointers in this context is allowed with the exception of
   ``brk()``, ``mmap()`` and the ``new_address`` argument to
   tagged pointers in this context is allowed with these exceptions:

   - ``brk()``, ``mmap()`` and the ``new_address`` argument to
     ``mremap()`` as these have the potential to alias with existing
      user addresses.

@@ -54,6 +55,15 @@ how the user addresses are used by the kernel:
     incorrectly accept valid tagged pointers for the ``brk()``,
     ``mmap()`` and ``mremap()`` system calls.

   - The ``range.start``, ``start`` and ``dst`` arguments to the
     ``UFFDIO_*`` ``ioctl()``s used on a file descriptor obtained from
     ``userfaultfd()``, as fault addresses subsequently obtained by reading
     the file descriptor will be untagged, which may otherwise confuse
     tag-unaware programs.

     NOTE: This behaviour changed in v5.14 and so some earlier kernels may
     incorrectly accept valid tagged pointers for this system call.

2. User addresses accessed by the kernel (e.g. ``write()``). This ABI
   relaxation is disabled by default and the application thread needs to
   explicitly enable it via ``prctl()`` as follows:
+0 −56
Original line number Diff line number Diff line
IMX8 glue layer controller, NXP imx8 families support Synopsys MAC 5.10a IP.

This file documents platform glue layer for IMX.
Please see stmmac.txt for the other unchanged properties.

The device node has following properties.

Required properties:
- compatible:  Should be "nxp,imx8mp-dwmac-eqos" to select glue layer
	       and "snps,dwmac-5.10a" to select IP version.
- clocks: Must contain a phandle for each entry in clock-names.
- clock-names: Should be "stmmaceth" for the host clock.
	       Should be "pclk" for the MAC apb clock.
	       Should be "ptp_ref" for the MAC timer clock.
	       Should be "tx" for the MAC RGMII TX clock:
	       Should be "mem" for EQOS MEM clock.
		- "mem" clock is required for imx8dxl platform.
		- "mem" clock is not required for imx8mp platform.
- interrupt-names: Should contain a list of interrupt names corresponding to
		   the interrupts in the interrupts property, if available.
		   Should be "macirq" for the main MAC IRQ
		   Should be "eth_wake_irq" for the IT which wake up system
- intf_mode: Should be phandle/offset pair. The phandle to the syscon node which
	     encompases the GPR register, and the offset of the GPR register.
		- required for imx8mp platform.
		- is optional for imx8dxl platform.

Optional properties:
- intf_mode: is optional for imx8dxl platform.
- snps,rmii_refclk_ext: to select RMII reference clock from external.

Example:
	eqos: ethernet@30bf0000 {
		compatible = "nxp,imx8mp-dwmac-eqos", "snps,dwmac-5.10a";
		reg = <0x30bf0000 0x10000>;
		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "eth_wake_irq", "macirq";
		clocks = <&clk IMX8MP_CLK_ENET_QOS_ROOT>,
			 <&clk IMX8MP_CLK_QOS_ENET_ROOT>,
			 <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
			 <&clk IMX8MP_CLK_ENET_QOS>;
		clock-names = "stmmaceth", "pclk", "ptp_ref", "tx";
		assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
				  <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
				  <&clk IMX8MP_CLK_ENET_QOS>;
		assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
					 <&clk IMX8MP_SYS_PLL2_100M>,
					 <&clk IMX8MP_SYS_PLL2_125M>;
		assigned-clock-rates = <0>, <100000000>, <125000000>;
		nvmem-cells = <&eth_mac0>;
		nvmem-cell-names = "mac-address";
		nvmem_macaddr_swap;
		intf_mode = <&gpr 0x4>;
		status = "disabled";
	};
+93 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/nxp,dwmac-imx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP i.MX8 DWMAC glue layer Device Tree Bindings

maintainers:
  - Joakim Zhang <qiangqing.zhang@nxp.com>

# We need a select here so we don't match all nodes with 'snps,dwmac'
select:
  properties:
    compatible:
      contains:
        enum:
          - nxp,imx8mp-dwmac-eqos
          - nxp,imx8dxl-dwmac-eqos
  required:
    - compatible

allOf:
  - $ref: "snps,dwmac.yaml#"

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - nxp,imx8mp-dwmac-eqos
              - nxp,imx8dxl-dwmac-eqos
          - const: snps,dwmac-5.10a

  clocks:
    minItems: 3
    maxItems: 5
    items:
      - description: MAC host clock
      - description: MAC apb clock
      - description: MAC timer clock
      - description: MAC RGMII TX clock
      - description: EQOS MEM clock

  clock-names:
    minItems: 3
    maxItems: 5
    contains:
      enum:
        - stmmaceth
        - pclk
        - ptp_ref
        - tx
        - mem

  intf_mode:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
      Should be phandle/offset pair. The phandle to the syscon node which
      encompases the GPR register, and the offset of the GPR register.

  snps,rmii_refclk_ext:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      To select RMII reference clock from external.

required:
  - compatible
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/clock/imx8mp-clock.h>

    eqos: ethernet@30bf0000 {
            compatible = "nxp,imx8mp-dwmac-eqos","snps,dwmac-5.10a";
            reg = <0x30bf0000 0x10000>;
            interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "macirq", "eth_wake_irq";
            clocks = <&clk IMX8MP_CLK_ENET_QOS_ROOT>,
                     <&clk IMX8MP_CLK_QOS_ENET_ROOT>,
                     <&clk IMX8MP_CLK_ENET_QOS_TIMER>,
                     <&clk IMX8MP_CLK_ENET_QOS>;
            clock-names = "stmmaceth", "pclk", "ptp_ref", "tx";
            phy-mode = "rgmii";
            status = "disabled";
    };
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ select:
          - snps,dwmac-4.00
          - snps,dwmac-4.10a
          - snps,dwmac-4.20a
          - snps,dwmac-5.10a
          - snps,dwxgmac
          - snps,dwxgmac-2.10

@@ -82,6 +83,7 @@ properties:
        - snps,dwmac-4.00
        - snps,dwmac-4.10a
        - snps,dwmac-4.20a
        - snps,dwmac-5.10a
        - snps,dwxgmac
        - snps,dwxgmac-2.10

@@ -375,6 +377,7 @@ allOf:
              - snps,dwmac-4.00
              - snps,dwmac-4.10a
              - snps,dwmac-4.20a
              - snps,dwmac-5.10a
              - snps,dwxgmac
              - snps,dwxgmac-2.10
              - st,spear600-gmac
+2 −0
Original line number Diff line number Diff line
@@ -57,12 +57,14 @@ properties:
    maxItems: 1

  power-domains:
    deprecated: true
    description:
      Power domain to use for enable control. This binding is only
      available if the compatible is chosen to regulator-fixed-domain.
    maxItems: 1

  required-opps:
    deprecated: true
    description:
      Performance state to use for enable control. This binding is only
      available if the compatible is chosen to regulator-fixed-domain. The
Loading