Merge drm/drm-next into drm-misc-next
Required backmerge since we will be based on top of v5.11, and there has been a request to backmerge already to upstream some features. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
This commit is contained in:
8
.mailmap
8
.mailmap
@@ -82,7 +82,10 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com>
|
|||||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
||||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
||||||
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
||||||
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
Dmitry Baryshkov <dbaryshkov@gmail.com>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com>
|
||||||
|
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
|
||||||
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
||||||
@@ -287,6 +290,7 @@ Santosh Shilimkar <ssantosh@kernel.org>
|
|||||||
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
||||||
Sascha Hauer <s.hauer@pengutronix.de>
|
Sascha Hauer <s.hauer@pengutronix.de>
|
||||||
S.Çağlar Onur <caglar@pardus.org.tr>
|
S.Çağlar Onur <caglar@pardus.org.tr>
|
||||||
|
Sean Christopherson <seanjc@google.com> <sean.j.christopherson@intel.com>
|
||||||
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
||||||
Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
||||||
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
||||||
@@ -318,6 +322,8 @@ TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
|
|||||||
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
||||||
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
||||||
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
||||||
|
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||||
|
Uwe Kleine-König <ukleinek@strlen.de>
|
||||||
Uwe Kleine-König <ukl@pengutronix.de>
|
Uwe Kleine-König <ukl@pengutronix.de>
|
||||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
||||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||||
|
15
CREDITS
15
CREDITS
@@ -740,6 +740,11 @@ S: (ask for current address)
|
|||||||
S: Portland, Oregon
|
S: Portland, Oregon
|
||||||
S: USA
|
S: USA
|
||||||
|
|
||||||
|
N: Jason Cooper
|
||||||
|
D: ARM/Marvell SOC co-maintainer
|
||||||
|
D: irqchip co-maintainer
|
||||||
|
D: MVEBU PCI DRIVER co-maintainer
|
||||||
|
|
||||||
N: Robin Cornelius
|
N: Robin Cornelius
|
||||||
E: robincornelius@users.sourceforge.net
|
E: robincornelius@users.sourceforge.net
|
||||||
D: Ralink rt2x00 WLAN driver
|
D: Ralink rt2x00 WLAN driver
|
||||||
@@ -849,6 +854,12 @@ D: trivial hack to add variable address length routing to Rose.
|
|||||||
D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO
|
D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO
|
||||||
D: ax25-utils maintainer.
|
D: ax25-utils maintainer.
|
||||||
|
|
||||||
|
N: Kamil Debski
|
||||||
|
E: kamil@wypas.org
|
||||||
|
D: Samsung S5P 2D graphics acceleration and Multi Format Codec drivers
|
||||||
|
D: Samsung USB2 phy drivers
|
||||||
|
D: PWM fan driver
|
||||||
|
|
||||||
N: Helge Deller
|
N: Helge Deller
|
||||||
E: deller@gmx.de
|
E: deller@gmx.de
|
||||||
W: http://www.parisc-linux.org/
|
W: http://www.parisc-linux.org/
|
||||||
@@ -2852,6 +2863,10 @@ D: IPX development and support
|
|||||||
N: Venkatesh Pallipadi (Venki)
|
N: Venkatesh Pallipadi (Venki)
|
||||||
D: x86/HPET
|
D: x86/HPET
|
||||||
|
|
||||||
|
N: Kyungmin Park
|
||||||
|
E: kyungmin.park@samsung.com
|
||||||
|
D: Samsung S5Pv210 and Exynos4210 mobile platforms
|
||||||
|
|
||||||
N: David Parsons
|
N: David Parsons
|
||||||
E: orc@pell.chi.il.us
|
E: orc@pell.chi.il.us
|
||||||
D: improved memory detection code.
|
D: improved memory detection code.
|
||||||
|
@@ -109,30 +109,6 @@ Description:
|
|||||||
When counting down the counter start from preset value
|
When counting down the counter start from preset value
|
||||||
and fire event when reach 0.
|
and fire event when reach 0.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
|
|
||||||
KernelVersion: 4.12
|
|
||||||
Contact: benjamin.gaignard@st.com
|
|
||||||
Description:
|
|
||||||
Reading returns the list possible quadrature modes.
|
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
|
|
||||||
KernelVersion: 4.12
|
|
||||||
Contact: benjamin.gaignard@st.com
|
|
||||||
Description:
|
|
||||||
Configure the device counter quadrature modes:
|
|
||||||
|
|
||||||
channel_A:
|
|
||||||
Encoder A input servers as the count input and B as
|
|
||||||
the UP/DOWN direction control input.
|
|
||||||
|
|
||||||
channel_B:
|
|
||||||
Encoder B input serves as the count input and A as
|
|
||||||
the UP/DOWN direction control input.
|
|
||||||
|
|
||||||
quadrature:
|
|
||||||
Encoder A and B inputs are mixed to get direction
|
|
||||||
and count with a scale of 0.25.
|
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
|
What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
|
||||||
KernelVersion: 4.12
|
KernelVersion: 4.12
|
||||||
Contact: benjamin.gaignard@st.com
|
Contact: benjamin.gaignard@st.com
|
||||||
|
@@ -137,15 +137,24 @@ Boot Kernel With a Boot Config
|
|||||||
==============================
|
==============================
|
||||||
|
|
||||||
Since the boot configuration file is loaded with initrd, it will be added
|
Since the boot configuration file is loaded with initrd, it will be added
|
||||||
to the end of the initrd (initramfs) image file with size, checksum and
|
to the end of the initrd (initramfs) image file with padding, size,
|
||||||
12-byte magic word as below.
|
checksum and 12-byte magic word as below.
|
||||||
|
|
||||||
[initrd][bootconfig][size(u32)][checksum(u32)][#BOOTCONFIG\n]
|
[initrd][bootconfig][padding][size(le32)][checksum(le32)][#BOOTCONFIG\n]
|
||||||
|
|
||||||
|
The size and checksum fields are unsigned 32bit little endian value.
|
||||||
|
|
||||||
|
When the boot configuration is added to the initrd image, the total
|
||||||
|
file size is aligned to 4 bytes. To fill the gap, null characters
|
||||||
|
(``\0``) will be added. Thus the ``size`` is the length of the bootconfig
|
||||||
|
file + padding bytes.
|
||||||
|
|
||||||
The Linux kernel decodes the last part of the initrd image in memory to
|
The Linux kernel decodes the last part of the initrd image in memory to
|
||||||
get the boot configuration data.
|
get the boot configuration data.
|
||||||
Because of this "piggyback" method, there is no need to change or
|
Because of this "piggyback" method, there is no need to change or
|
||||||
update the boot loader and the kernel image itself.
|
update the boot loader and the kernel image itself as long as the boot
|
||||||
|
loader passes the correct initrd file size. If by any chance, the boot
|
||||||
|
loader passes a longer size, the kernel feils to find the bootconfig data.
|
||||||
|
|
||||||
To do this operation, Linux kernel provides "bootconfig" command under
|
To do this operation, Linux kernel provides "bootconfig" command under
|
||||||
tools/bootconfig, which allows admin to apply or delete the config file
|
tools/bootconfig, which allows admin to apply or delete the config file
|
||||||
@@ -176,7 +185,8 @@ up to 512 key-value pairs. If keys contains 3 words in average, it can
|
|||||||
contain 256 key-value pairs. In most cases, the number of config items
|
contain 256 key-value pairs. In most cases, the number of config items
|
||||||
will be under 100 entries and smaller than 8KB, so it would be enough.
|
will be under 100 entries and smaller than 8KB, so it would be enough.
|
||||||
If the node number exceeds 1024, parser returns an error even if the file
|
If the node number exceeds 1024, parser returns an error even if the file
|
||||||
size is smaller than 32KB.
|
size is smaller than 32KB. (Note that this maximum size is not including
|
||||||
|
the padding null characters.)
|
||||||
Anyway, since bootconfig command verifies it when appending a boot config
|
Anyway, since bootconfig command verifies it when appending a boot config
|
||||||
to initrd image, user can notice it before boot.
|
to initrd image, user can notice it before boot.
|
||||||
|
|
||||||
|
@@ -2858,6 +2858,8 @@
|
|||||||
mds=off [X86]
|
mds=off [X86]
|
||||||
tsx_async_abort=off [X86]
|
tsx_async_abort=off [X86]
|
||||||
kvm.nx_huge_pages=off [X86]
|
kvm.nx_huge_pages=off [X86]
|
||||||
|
no_entry_flush [PPC]
|
||||||
|
no_uaccess_flush [PPC]
|
||||||
|
|
||||||
Exceptions:
|
Exceptions:
|
||||||
This does not have any effect on
|
This does not have any effect on
|
||||||
@@ -3186,6 +3188,8 @@
|
|||||||
|
|
||||||
noefi Disable EFI runtime services support.
|
noefi Disable EFI runtime services support.
|
||||||
|
|
||||||
|
no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel.
|
||||||
|
|
||||||
noexec [IA-64]
|
noexec [IA-64]
|
||||||
|
|
||||||
noexec [X86]
|
noexec [X86]
|
||||||
@@ -3235,6 +3239,9 @@
|
|||||||
nospec_store_bypass_disable
|
nospec_store_bypass_disable
|
||||||
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
|
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
|
||||||
|
|
||||||
|
no_uaccess_flush
|
||||||
|
[PPC] Don't flush the L1-D cache after accessing user data.
|
||||||
|
|
||||||
noxsave [BUGS=X86] Disables x86 extended register state save
|
noxsave [BUGS=X86] Disables x86 extended register state save
|
||||||
and restore using xsave. The kernel will fallback to
|
and restore using xsave. The kernel will fallback to
|
||||||
enabling legacy floating-point and sse state.
|
enabling legacy floating-point and sse state.
|
||||||
|
@@ -90,7 +90,7 @@ things to try.
|
|||||||
re-run kunit_tool.
|
re-run kunit_tool.
|
||||||
5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This
|
5. Try to run ``make ARCH=um defconfig`` before running ``kunit.py run``. This
|
||||||
may help clean up any residual config items which could be causing problems.
|
may help clean up any residual config items which could be causing problems.
|
||||||
6. Finally, try running KUnit outside UML. KUnit and KUnit tests can run be
|
6. Finally, try running KUnit outside UML. KUnit and KUnit tests can be
|
||||||
built into any kernel, or can be built as a module and loaded at runtime.
|
built into any kernel, or can be built as a module and loaded at runtime.
|
||||||
Doing so should allow you to determine if UML is causing the issue you're
|
Doing so should allow you to determine if UML is causing the issue you're
|
||||||
seeing. When tests are built-in, they will execute when the kernel boots, and
|
seeing. When tests are built-in, they will execute when the kernel boots, and
|
||||||
|
@@ -183,9 +183,9 @@ An example Kconfig entry:
|
|||||||
This builds unit tests for foo.
|
This builds unit tests for foo.
|
||||||
|
|
||||||
For more information on KUnit and unit tests in general, please refer
|
For more information on KUnit and unit tests in general, please refer
|
||||||
to the KUnit documentation in Documentation/dev-tools/kunit
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
||||||
|
|
||||||
If unsure, say N
|
If unsure, say N.
|
||||||
|
|
||||||
|
|
||||||
Test File and Module Names
|
Test File and Module Names
|
||||||
|
@@ -92,7 +92,7 @@ behavior of a function called ``add``; the first parameter is always of type
|
|||||||
the second parameter, in this case, is what the value is expected to be; the
|
the second parameter, in this case, is what the value is expected to be; the
|
||||||
last value is what the value actually is. If ``add`` passes all of these
|
last value is what the value actually is. If ``add`` passes all of these
|
||||||
expectations, the test case, ``add_test_basic`` will pass; if any one of these
|
expectations, the test case, ``add_test_basic`` will pass; if any one of these
|
||||||
expectations fail, the test case will fail.
|
expectations fails, the test case will fail.
|
||||||
|
|
||||||
It is important to understand that a test case *fails* when any expectation is
|
It is important to understand that a test case *fails* when any expectation is
|
||||||
violated; however, the test will continue running, potentially trying other
|
violated; however, the test will continue running, potentially trying other
|
||||||
@@ -202,7 +202,7 @@ Example:
|
|||||||
kunit_test_suite(example_test_suite);
|
kunit_test_suite(example_test_suite);
|
||||||
|
|
||||||
In the above example the test suite, ``example_test_suite``, would run the test
|
In the above example the test suite, ``example_test_suite``, would run the test
|
||||||
cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``,
|
cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``;
|
||||||
each would have ``example_test_init`` called immediately before it and would
|
each would have ``example_test_init`` called immediately before it and would
|
||||||
have ``example_test_exit`` called immediately after it.
|
have ``example_test_exit`` called immediately after it.
|
||||||
``kunit_test_suite(example_test_suite)`` registers the test suite with the
|
``kunit_test_suite(example_test_suite)`` registers the test suite with the
|
||||||
@@ -229,7 +229,7 @@ through some sort of indirection where a function is exposed as part of an API
|
|||||||
such that the definition of that function can be changed without affecting the
|
such that the definition of that function can be changed without affecting the
|
||||||
rest of the code base. In the kernel this primarily comes from two constructs,
|
rest of the code base. In the kernel this primarily comes from two constructs,
|
||||||
classes, structs that contain function pointers that are provided by the
|
classes, structs that contain function pointers that are provided by the
|
||||||
implementer, and architecture specific functions which have definitions selected
|
implementer, and architecture-specific functions which have definitions selected
|
||||||
at compile time.
|
at compile time.
|
||||||
|
|
||||||
Classes
|
Classes
|
||||||
@@ -459,7 +459,7 @@ KUnit on non-UML architectures
|
|||||||
By default KUnit uses UML as a way to provide dependencies for code under test.
|
By default KUnit uses UML as a way to provide dependencies for code under test.
|
||||||
Under most circumstances KUnit's usage of UML should be treated as an
|
Under most circumstances KUnit's usage of UML should be treated as an
|
||||||
implementation detail of how KUnit works under the hood. Nevertheless, there
|
implementation detail of how KUnit works under the hood. Nevertheless, there
|
||||||
are instances where being able to run architecture specific code or test
|
are instances where being able to run architecture-specific code or test
|
||||||
against real hardware is desirable. For these reasons KUnit supports running on
|
against real hardware is desirable. For these reasons KUnit supports running on
|
||||||
other architectures.
|
other architectures.
|
||||||
|
|
||||||
@@ -599,7 +599,7 @@ writing normal KUnit tests. One special caveat is that you have to reset
|
|||||||
hardware state in between test cases; if this is not possible, you may only be
|
hardware state in between test cases; if this is not possible, you may only be
|
||||||
able to run one test case per invocation.
|
able to run one test case per invocation.
|
||||||
|
|
||||||
.. TODO(brendanhiggins@google.com): Add an actual example of an architecture
|
.. TODO(brendanhiggins@google.com): Add an actual example of an architecture-
|
||||||
dependent KUnit test.
|
dependent KUnit test.
|
||||||
|
|
||||||
KUnit debugfs representation
|
KUnit debugfs representation
|
||||||
|
@@ -57,7 +57,7 @@ examples:
|
|||||||
};
|
};
|
||||||
|
|
||||||
can@53fc8000 {
|
can@53fc8000 {
|
||||||
compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
|
compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan";
|
||||||
reg = <0x53fc8000 0x4000>;
|
reg = <0x53fc8000 0x4000>;
|
||||||
interrupts = <82>;
|
interrupts = <82>;
|
||||||
clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
|
clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
|
||||||
|
@@ -76,6 +76,12 @@ properties:
|
|||||||
resets:
|
resets:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
wifi-2.4ghz-coexistence:
|
||||||
|
type: boolean
|
||||||
|
description: >
|
||||||
|
Should the pixel frequencies in the WiFi frequencies range be
|
||||||
|
avoided?
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
@@ -43,7 +43,7 @@ Required properties (all function blocks):
|
|||||||
"mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt
|
"mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt
|
||||||
"mediatek,<chip>-disp-mutex" - display mutex
|
"mediatek,<chip>-disp-mutex" - display mutex
|
||||||
"mediatek,<chip>-disp-od" - overdrive
|
"mediatek,<chip>-disp-od" - overdrive
|
||||||
the supported chips are mt2701, mt7623, mt2712 and mt8173.
|
the supported chips are mt2701, mt7623, mt2712, mt8167 and mt8173.
|
||||||
- reg: Physical base address and length of the function block register space
|
- reg: Physical base address and length of the function block register space
|
||||||
- interrupts: The interrupt signal from the function block (required, except for
|
- interrupts: The interrupt signal from the function block (required, except for
|
||||||
merge and split function blocks).
|
merge and split function blocks).
|
||||||
@@ -59,7 +59,7 @@ Required properties (DMA function blocks):
|
|||||||
"mediatek,<chip>-disp-ovl"
|
"mediatek,<chip>-disp-ovl"
|
||||||
"mediatek,<chip>-disp-rdma"
|
"mediatek,<chip>-disp-rdma"
|
||||||
"mediatek,<chip>-disp-wdma"
|
"mediatek,<chip>-disp-wdma"
|
||||||
the supported chips are mt2701 and mt8173.
|
the supported chips are mt2701, mt8167 and mt8173.
|
||||||
- larb: Should contain a phandle pointing to the local arbiter device as defined
|
- larb: Should contain a phandle pointing to the local arbiter device as defined
|
||||||
in Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
|
in Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
|
||||||
- iommus: Should point to the respective IOMMU block with master port as
|
- iommus: Should point to the respective IOMMU block with master port as
|
||||||
|
@@ -1,42 +0,0 @@
|
|||||||
Mediatek DPI Device
|
|
||||||
===================
|
|
||||||
|
|
||||||
The Mediatek DPI function block is a sink of the display subsystem and
|
|
||||||
provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a parallel
|
|
||||||
output bus.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: "mediatek,<chip>-dpi"
|
|
||||||
the supported chips are mt2701, mt7623, mt8173 and mt8183.
|
|
||||||
- reg: Physical base address and length of the controller's registers
|
|
||||||
- interrupts: The interrupt signal from the function block.
|
|
||||||
- clocks: device clocks
|
|
||||||
See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
|
|
||||||
- clock-names: must contain "pixel", "engine", and "pll"
|
|
||||||
- port: Output port node with endpoint definitions as described in
|
|
||||||
Documentation/devicetree/bindings/graph.txt. This port should be connected
|
|
||||||
to the input port of an attached HDMI or LVDS encoder chip.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- pinctrl-names: Contain "default" and "sleep".
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
dpi0: dpi@1401d000 {
|
|
||||||
compatible = "mediatek,mt8173-dpi";
|
|
||||||
reg = <0 0x1401d000 0 0x1000>;
|
|
||||||
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
|
|
||||||
clocks = <&mmsys CLK_MM_DPI_PIXEL>,
|
|
||||||
<&mmsys CLK_MM_DPI_ENGINE>,
|
|
||||||
<&apmixedsys CLK_APMIXED_TVDPLL>;
|
|
||||||
clock-names = "pixel", "engine", "pll";
|
|
||||||
pinctrl-names = "default", "sleep";
|
|
||||||
pinctrl-0 = <&dpi_pin_func>;
|
|
||||||
pinctrl-1 = <&dpi_pin_idle>;
|
|
||||||
|
|
||||||
port {
|
|
||||||
dpi0_out: endpoint {
|
|
||||||
remote-endpoint = <&hdmi0_in>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@@ -0,0 +1,98 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/display/mediatek/mediatek,dpi.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: mediatek DPI Controller Device Tree Bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- CK Hu <ck.hu@mediatek.com>
|
||||||
|
- Jitao shi <jitao.shi@mediatek.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Mediatek DPI function block is a sink of the display subsystem and
|
||||||
|
provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a parallel
|
||||||
|
output bus.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- mediatek,mt2701-dpi
|
||||||
|
- mediatek,mt7623-dpi
|
||||||
|
- mediatek,mt8173-dpi
|
||||||
|
- mediatek,mt8183-dpi
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: Pixel Clock
|
||||||
|
- description: Engine Clock
|
||||||
|
- description: DPI PLL
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: pixel
|
||||||
|
- const: engine
|
||||||
|
- const: pll
|
||||||
|
|
||||||
|
pinctrl-0: true
|
||||||
|
pinctrl-1: true
|
||||||
|
|
||||||
|
pinctrl-names:
|
||||||
|
items:
|
||||||
|
- const: default
|
||||||
|
- const: sleep
|
||||||
|
|
||||||
|
port:
|
||||||
|
type: object
|
||||||
|
description:
|
||||||
|
Output port node with endpoint definitions as described in
|
||||||
|
Documentation/devicetree/bindings/graph.txt. This port should be connected
|
||||||
|
to the input port of an attached HDMI or LVDS encoder chip.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
endpoint:
|
||||||
|
type: object
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- port
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/clock/mt8173-clk.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
dpi0: dpi@1401d000 {
|
||||||
|
compatible = "mediatek,mt8173-dpi";
|
||||||
|
reg = <0x1401d000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
clocks = <&mmsys CLK_MM_DPI_PIXEL>,
|
||||||
|
<&mmsys CLK_MM_DPI_ENGINE>,
|
||||||
|
<&apmixedsys CLK_APMIXED_TVDPLL>;
|
||||||
|
clock-names = "pixel", "engine", "pll";
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
pinctrl-0 = <&dpi_pin_func>;
|
||||||
|
pinctrl-1 = <&dpi_pin_idle>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
dpi0_out: endpoint {
|
||||||
|
remote-endpoint = <&hdmi0_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
@@ -39,6 +39,10 @@ Required properties:
|
|||||||
a4xx Snapdragon SoCs. See
|
a4xx Snapdragon SoCs. See
|
||||||
Documentation/devicetree/bindings/sram/qcom,ocmem.yaml.
|
Documentation/devicetree/bindings/sram/qcom,ocmem.yaml.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- #cooling-cells: The value must be 2. For details, please refer
|
||||||
|
Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml.
|
||||||
|
|
||||||
Example 3xx/4xx:
|
Example 3xx/4xx:
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
@@ -61,6 +65,7 @@ Example 3xx/4xx:
|
|||||||
power-domains = <&mmcc OXILICX_GDSC>;
|
power-domains = <&mmcc OXILICX_GDSC>;
|
||||||
operating-points-v2 = <&gpu_opp_table>;
|
operating-points-v2 = <&gpu_opp_table>;
|
||||||
iommus = <&gpu_iommu 0>;
|
iommus = <&gpu_iommu 0>;
|
||||||
|
#cooling-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpu_sram: ocmem@fdd00000 {
|
gpu_sram: ocmem@fdd00000 {
|
||||||
@@ -98,6 +103,8 @@ Example a6xx (with GMU):
|
|||||||
reg = <0x5000000 0x40000>, <0x509e000 0x10>;
|
reg = <0x5000000 0x40000>, <0x509e000 0x10>;
|
||||||
reg-names = "kgsl_3d0_reg_memory", "cx_mem";
|
reg-names = "kgsl_3d0_reg_memory", "cx_mem";
|
||||||
|
|
||||||
|
#cooling-cells = <2>;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Look ma, no clocks! The GPU clocks and power are
|
* Look ma, no clocks! The GPU clocks and power are
|
||||||
* controlled entirely by the GMU
|
* controlled entirely by the GMU
|
||||||
|
@@ -20,14 +20,17 @@ properties:
|
|||||||
- fsl,imx8qm-flexcan
|
- fsl,imx8qm-flexcan
|
||||||
- fsl,imx8mp-flexcan
|
- fsl,imx8mp-flexcan
|
||||||
- fsl,imx6q-flexcan
|
- fsl,imx6q-flexcan
|
||||||
- fsl,imx53-flexcan
|
|
||||||
- fsl,imx35-flexcan
|
|
||||||
- fsl,imx28-flexcan
|
- fsl,imx28-flexcan
|
||||||
- fsl,imx25-flexcan
|
- fsl,imx25-flexcan
|
||||||
- fsl,p1010-flexcan
|
- fsl,p1010-flexcan
|
||||||
- fsl,vf610-flexcan
|
- fsl,vf610-flexcan
|
||||||
- fsl,ls1021ar2-flexcan
|
- fsl,ls1021ar2-flexcan
|
||||||
- fsl,lx2160ar1-flexcan
|
- fsl,lx2160ar1-flexcan
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- fsl,imx53-flexcan
|
||||||
|
- fsl,imx35-flexcan
|
||||||
|
- const: fsl,imx25-flexcan
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
- fsl,imx7d-flexcan
|
- fsl,imx7d-flexcan
|
||||||
@@ -80,6 +83,7 @@ properties:
|
|||||||
req_gpr is the gpr register offset of CAN stop request.
|
req_gpr is the gpr register offset of CAN stop request.
|
||||||
req_bit is the bit offset of CAN stop request.
|
req_bit is the bit offset of CAN stop request.
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
items:
|
||||||
items:
|
items:
|
||||||
- description: The 'gpr' is the phandle to general purpose register node.
|
- description: The 'gpr' is the phandle to general purpose register node.
|
||||||
- description: The 'req_gpr' is the gpr register offset of CAN stop request.
|
- description: The 'req_gpr' is the gpr register offset of CAN stop request.
|
||||||
|
@@ -33,7 +33,7 @@ tcan4x5x: tcan4x5x@0 {
|
|||||||
spi-max-frequency = <10000000>;
|
spi-max-frequency = <10000000>;
|
||||||
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
|
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
|
||||||
interrupt-parent = <&gpio1>;
|
interrupt-parent = <&gpio1>;
|
||||||
interrupts = <14 GPIO_ACTIVE_LOW>;
|
interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
|
||||||
device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
|
device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
|
||||||
device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||||
reset-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
|
reset-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
|
||||||
|
@@ -25,7 +25,7 @@ Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2):
|
|||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
|
|
||||||
interrupt-parent = <&gpio1>;
|
interrupt-parent = <&gpio1>;
|
||||||
interrupts = <29 GPIO_ACTIVE_HIGH>;
|
interrupts = <29 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
enable-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
||||||
firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
|
firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
|
||||||
|
@@ -25,7 +25,7 @@ Example (for ARM-based BeagleBone with PN544 on I2C2):
|
|||||||
clock-frequency = <400000>;
|
clock-frequency = <400000>;
|
||||||
|
|
||||||
interrupt-parent = <&gpio1>;
|
interrupt-parent = <&gpio1>;
|
||||||
interrupts = <17 GPIO_ACTIVE_HIGH>;
|
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
|
enable-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
|
||||||
firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
|
firmware-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
|
||||||
|
@@ -8,10 +8,16 @@ Required properties:
|
|||||||
|
|
||||||
- reg : The I2C address of the device.
|
- reg : The I2C address of the device.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
|
||||||
|
- realtek,power-up-delay-ms
|
||||||
|
Set a delay time for flush work to be completed,
|
||||||
|
this value is adjustable depending on platform.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
rt1015: codec@28 {
|
rt1015: codec@28 {
|
||||||
compatible = "realtek,rt1015";
|
compatible = "realtek,rt1015";
|
||||||
reg = <0x28>;
|
reg = <0x28>;
|
||||||
|
realtek,power-up-delay-ms = <50>;
|
||||||
};
|
};
|
||||||
|
@@ -149,11 +149,11 @@ vidtv_psi.[ch]
|
|||||||
Because the generator is implemented in a separate file, it can be
|
Because the generator is implemented in a separate file, it can be
|
||||||
reused elsewhere in the media subsystem.
|
reused elsewhere in the media subsystem.
|
||||||
|
|
||||||
Currently vidtv supports working with 3 PSI tables: PAT, PMT and
|
Currently vidtv supports working with 5 PSI tables: PAT, PMT,
|
||||||
SDT.
|
SDT, NIT and EIT.
|
||||||
|
|
||||||
The specification for PAT and PMT can be found in *ISO 13818-1:
|
The specification for PAT and PMT can be found in *ISO 13818-1:
|
||||||
Systems*, while the specification for the SDT can be found in *ETSI
|
Systems*, while the specification for the SDT, NIT, EIT can be found in *ETSI
|
||||||
EN 300 468: Specification for Service Information (SI) in DVB
|
EN 300 468: Specification for Service Information (SI) in DVB
|
||||||
systems*.
|
systems*.
|
||||||
|
|
||||||
@@ -197,6 +197,8 @@ vidtv_channel.[ch]
|
|||||||
|
|
||||||
#. Their programs will be concatenated to populate the PAT
|
#. Their programs will be concatenated to populate the PAT
|
||||||
|
|
||||||
|
#. Their events will be concatenated to populate the EIT
|
||||||
|
|
||||||
#. For each program in the PAT, a PMT section will be created
|
#. For each program in the PAT, a PMT section will be created
|
||||||
|
|
||||||
#. The PMT section for a channel will be assigned its streams.
|
#. The PMT section for a channel will be assigned its streams.
|
||||||
@@ -256,6 +258,42 @@ Using dvb-fe-tool
|
|||||||
The first step to check whether the demod loaded successfully is to run::
|
The first step to check whether the demod loaded successfully is to run::
|
||||||
|
|
||||||
$ dvb-fe-tool
|
$ dvb-fe-tool
|
||||||
|
Device Dummy demod for DVB-T/T2/C/S/S2 (/dev/dvb/adapter0/frontend0) capabilities:
|
||||||
|
CAN_FEC_1_2
|
||||||
|
CAN_FEC_2_3
|
||||||
|
CAN_FEC_3_4
|
||||||
|
CAN_FEC_4_5
|
||||||
|
CAN_FEC_5_6
|
||||||
|
CAN_FEC_6_7
|
||||||
|
CAN_FEC_7_8
|
||||||
|
CAN_FEC_8_9
|
||||||
|
CAN_FEC_AUTO
|
||||||
|
CAN_GUARD_INTERVAL_AUTO
|
||||||
|
CAN_HIERARCHY_AUTO
|
||||||
|
CAN_INVERSION_AUTO
|
||||||
|
CAN_QAM_16
|
||||||
|
CAN_QAM_32
|
||||||
|
CAN_QAM_64
|
||||||
|
CAN_QAM_128
|
||||||
|
CAN_QAM_256
|
||||||
|
CAN_QAM_AUTO
|
||||||
|
CAN_QPSK
|
||||||
|
CAN_TRANSMISSION_MODE_AUTO
|
||||||
|
DVB API Version 5.11, Current v5 delivery system: DVBC/ANNEX_A
|
||||||
|
Supported delivery systems:
|
||||||
|
DVBT
|
||||||
|
DVBT2
|
||||||
|
[DVBC/ANNEX_A]
|
||||||
|
DVBS
|
||||||
|
DVBS2
|
||||||
|
Frequency range for the current standard:
|
||||||
|
From: 51.0 MHz
|
||||||
|
To: 2.15 GHz
|
||||||
|
Step: 62.5 kHz
|
||||||
|
Tolerance: 29.5 MHz
|
||||||
|
Symbol rate ranges for the current standard:
|
||||||
|
From: 1.00 MBauds
|
||||||
|
To: 45.0 MBauds
|
||||||
|
|
||||||
This should return what is currently set up at the demod struct, i.e.::
|
This should return what is currently set up at the demod struct, i.e.::
|
||||||
|
|
||||||
@@ -314,7 +352,7 @@ For this, one should provide a configuration file known as a 'scan file',
|
|||||||
here's an example::
|
here's an example::
|
||||||
|
|
||||||
[Channel]
|
[Channel]
|
||||||
FREQUENCY = 330000000
|
FREQUENCY = 474000000
|
||||||
MODULATION = QAM/AUTO
|
MODULATION = QAM/AUTO
|
||||||
SYMBOL_RATE = 6940000
|
SYMBOL_RATE = 6940000
|
||||||
INNER_FEC = AUTO
|
INNER_FEC = AUTO
|
||||||
@@ -335,6 +373,14 @@ You can browse scan tables online here: `dvb-scan-tables
|
|||||||
Assuming this channel is named 'channel.conf', you can then run::
|
Assuming this channel is named 'channel.conf', you can then run::
|
||||||
|
|
||||||
$ dvbv5-scan channel.conf
|
$ dvbv5-scan channel.conf
|
||||||
|
dvbv5-scan ~/vidtv.conf
|
||||||
|
ERROR command BANDWIDTH_HZ (5) not found during retrieve
|
||||||
|
Cannot calc frequency shift. Either bandwidth/symbol-rate is unavailable (yet).
|
||||||
|
Scanning frequency #1 330000000
|
||||||
|
(0x00) Signal= -68.00dBm
|
||||||
|
Scanning frequency #2 474000000
|
||||||
|
Lock (0x1f) Signal= -34.45dBm C/N= 33.74dB UCB= 0
|
||||||
|
Service Beethoven, provider LinuxTV.org: digital television
|
||||||
|
|
||||||
For more information on dvb-scan, check its documentation online here:
|
For more information on dvb-scan, check its documentation online here:
|
||||||
`dvb-scan Documentation <https://www.linuxtv.org/wiki/index.php/Dvbscan>`_.
|
`dvb-scan Documentation <https://www.linuxtv.org/wiki/index.php/Dvbscan>`_.
|
||||||
@@ -344,23 +390,38 @@ Using dvb-zap
|
|||||||
|
|
||||||
dvbv5-zap is a command line tool that can be used to record MPEG-TS to disk. The
|
dvbv5-zap is a command line tool that can be used to record MPEG-TS to disk. The
|
||||||
typical use is to tune into a channel and put it into record mode. The example
|
typical use is to tune into a channel and put it into record mode. The example
|
||||||
below - which is taken from the documentation - illustrates that::
|
below - which is taken from the documentation - illustrates that\ [1]_::
|
||||||
|
|
||||||
$ dvbv5-zap -c dvb_channel.conf "trilhas sonoras" -r
|
$ dvbv5-zap -c dvb_channel.conf "beethoven" -o music.ts -P -t 10
|
||||||
using demux '/dev/dvb/adapter0/demux0'
|
using demux 'dvb0.demux0'
|
||||||
reading channels from file 'dvb_channel.conf'
|
reading channels from file 'dvb_channel.conf'
|
||||||
service has pid type 05: 204
|
tuning to 474000000 Hz
|
||||||
tuning to 573000000 Hz
|
pass all PID's to TS
|
||||||
audio pid 104
|
dvb_set_pesfilter 8192
|
||||||
dvb_set_pesfilter 104
|
dvb_dev_set_bufsize: buffer set to 6160384
|
||||||
Lock (0x1f) Quality= Good Signal= 100.00% C/N= -13.80dB UCB= 70 postBER= 3.14x10^-3 PER= 0
|
Lock (0x1f) Quality= Good Signal= -34.66dBm C/N= 33.41dB UCB= 0 postBER= 0 preBER= 1.05x10^-3 PER= 0
|
||||||
DVR interface '/dev/dvb/adapter0/dvr0' can now be opened
|
Lock (0x1f) Quality= Good Signal= -34.57dBm C/N= 33.46dB UCB= 0 postBER= 0 preBER= 1.05x10^-3 PER= 0
|
||||||
|
Record to file 'music.ts' started
|
||||||
|
received 24587768 bytes (2401 Kbytes/sec)
|
||||||
|
Lock (0x1f) Quality= Good Signal= -34.42dBm C/N= 33.89dB UCB= 0 postBER= 0 preBER= 2.44x10^-3 PER= 0
|
||||||
|
|
||||||
The channel can be watched by playing the contents of the DVR interface, with
|
.. [1] In this example, it records 10 seconds with all program ID's stored
|
||||||
some player that recognizes the MPEG-TS format, such as *mplayer* or *vlc*.
|
at the music.ts file.
|
||||||
|
|
||||||
|
|
||||||
|
The channel can be watched by playing the contents of the stream with some
|
||||||
|
player that recognizes the MPEG-TS format, such as ``mplayer`` or ``vlc``.
|
||||||
|
|
||||||
By playing the contents of the stream one can visually inspect the workings of
|
By playing the contents of the stream one can visually inspect the workings of
|
||||||
vidtv, e.g.::
|
vidtv, e.g., to play a recorded TS file with::
|
||||||
|
|
||||||
|
$ mplayer music.ts
|
||||||
|
|
||||||
|
or, alternatively, running this command on one terminal::
|
||||||
|
|
||||||
|
$ dvbv5-zap -c dvb_channel.conf "beethoven" -P -r &
|
||||||
|
|
||||||
|
And, on a second terminal, playing the contents from DVR interface with::
|
||||||
|
|
||||||
$ mplayer /dev/dvb/adapter0/dvr0
|
$ mplayer /dev/dvb/adapter0/dvr0
|
||||||
|
|
||||||
@@ -423,3 +484,30 @@ A nice addition is to simulate some noise when the signal quality is bad by:
|
|||||||
- Updating the error statistics accordingly (e.g. BER, etc).
|
- Updating the error statistics accordingly (e.g. BER, etc).
|
||||||
|
|
||||||
- Simulating some noise in the encoded data.
|
- Simulating some noise in the encoded data.
|
||||||
|
|
||||||
|
Functions and structs used within vidtv
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_bridge.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_channel.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_demod.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_encoder.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_mux.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_pes.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_psi.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_s302m.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_ts.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_tuner.h
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_common.c
|
||||||
|
|
||||||
|
.. kernel-doc:: drivers/media/test-drivers/vidtv/vidtv_tuner.c
|
||||||
|
@@ -256,6 +256,10 @@ which is 1024 bytes long:
|
|||||||
- s\_padding2
|
- s\_padding2
|
||||||
-
|
-
|
||||||
* - 0x54
|
* - 0x54
|
||||||
|
- \_\_be32
|
||||||
|
- s\_num\_fc\_blocks
|
||||||
|
- Number of fast commit blocks in the journal.
|
||||||
|
* - 0x58
|
||||||
- \_\_u32
|
- \_\_u32
|
||||||
- s\_padding[42]
|
- s\_padding[42]
|
||||||
-
|
-
|
||||||
@@ -310,6 +314,8 @@ The journal incompat features are any combination of the following:
|
|||||||
- This journal uses v3 of the checksum on-disk format. This is the same as
|
- This journal uses v3 of the checksum on-disk format. This is the same as
|
||||||
v2, but the journal block tag size is fixed regardless of the size of
|
v2, but the journal block tag size is fixed regardless of the size of
|
||||||
block numbers. (JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3)
|
block numbers. (JBD2\_FEATURE\_INCOMPAT\_CSUM\_V3)
|
||||||
|
* - 0x20
|
||||||
|
- Journal has fast commit blocks. (JBD2\_FEATURE\_INCOMPAT\_FAST\_COMMIT)
|
||||||
|
|
||||||
.. _jbd2_checksum_type:
|
.. _jbd2_checksum_type:
|
||||||
|
|
||||||
|
@@ -596,6 +596,13 @@ following:
|
|||||||
- Sparse Super Block, v2. If this flag is set, the SB field s\_backup\_bgs
|
- Sparse Super Block, v2. If this flag is set, the SB field s\_backup\_bgs
|
||||||
points to the two block groups that contain backup superblocks
|
points to the two block groups that contain backup superblocks
|
||||||
(COMPAT\_SPARSE\_SUPER2).
|
(COMPAT\_SPARSE\_SUPER2).
|
||||||
|
* - 0x400
|
||||||
|
- Fast commits supported. Although fast commits blocks are
|
||||||
|
backward incompatible, fast commit blocks are not always
|
||||||
|
present in the journal. If fast commit blocks are present in
|
||||||
|
the journal, JBD2 incompat feature
|
||||||
|
(JBD2\_FEATURE\_INCOMPAT\_FAST\_COMMIT) gets
|
||||||
|
set (COMPAT\_FAST\_COMMIT).
|
||||||
|
|
||||||
.. _super_incompat:
|
.. _super_incompat:
|
||||||
|
|
||||||
|
@@ -136,10 +136,8 @@ Fast commits
|
|||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
JBD2 to also allows you to perform file-system specific delta commits known as
|
JBD2 to also allows you to perform file-system specific delta commits known as
|
||||||
fast commits. In order to use fast commits, you first need to call
|
fast commits. In order to use fast commits, you will need to set following
|
||||||
:c:func:`jbd2_fc_init` and tell how many blocks at the end of journal
|
callbacks that perform correspodning work:
|
||||||
area should be reserved for fast commits. Along with that, you will also need
|
|
||||||
to set following callbacks that perform correspodning work:
|
|
||||||
|
|
||||||
`journal->j_fc_cleanup_cb`: Cleanup function called after every full commit and
|
`journal->j_fc_cleanup_cb`: Cleanup function called after every full commit and
|
||||||
fast commit.
|
fast commit.
|
||||||
|
@@ -19,9 +19,9 @@ report the "current" state of the lid as either "opened" or "closed".
|
|||||||
|
|
||||||
For most platforms, both the _LID method and the lid notifications are
|
For most platforms, both the _LID method and the lid notifications are
|
||||||
reliable. However, there are exceptions. In order to work with these
|
reliable. However, there are exceptions. In order to work with these
|
||||||
exceptional buggy platforms, special restrictions and expections should be
|
exceptional buggy platforms, special restrictions and exceptions should be
|
||||||
taken into account. This document describes the restrictions and the
|
taken into account. This document describes the restrictions and the
|
||||||
expections of the Linux ACPI lid device driver.
|
exceptions of the Linux ACPI lid device driver.
|
||||||
|
|
||||||
|
|
||||||
Restrictions of the returning value of the _LID control method
|
Restrictions of the returning value of the _LID control method
|
||||||
@@ -46,7 +46,7 @@ state is changed to "closed". The "closed" notification is normally used to
|
|||||||
trigger some system power saving operations on Windows. Since it is fully
|
trigger some system power saving operations on Windows. Since it is fully
|
||||||
tested, it is reliable from all AML tables.
|
tested, it is reliable from all AML tables.
|
||||||
|
|
||||||
Expections for the userspace users of the ACPI lid device driver
|
Exceptions for the userspace users of the ACPI lid device driver
|
||||||
================================================================
|
================================================================
|
||||||
|
|
||||||
The ACPI button driver exports the lid state to the userspace via the
|
The ACPI button driver exports the lid state to the userspace via the
|
||||||
@@ -100,7 +100,7 @@ use the following kernel parameter:
|
|||||||
C. button.lid_init_state=ignore:
|
C. button.lid_init_state=ignore:
|
||||||
When this option is specified, the ACPI button driver never reports the
|
When this option is specified, the ACPI button driver never reports the
|
||||||
initial lid state and there is a compensation mechanism implemented to
|
initial lid state and there is a compensation mechanism implemented to
|
||||||
ensure that the reliable "closed" notifications can always be delievered
|
ensure that the reliable "closed" notifications can always be delivered
|
||||||
to the userspace by always pairing "closed" input events with complement
|
to the userspace by always pairing "closed" input events with complement
|
||||||
"opened" input events. But there is still no guarantee that the "opened"
|
"opened" input events. But there is still no guarantee that the "opened"
|
||||||
notifications can be delivered to the userspace when the lid is actually
|
notifications can be delivered to the userspace when the lid is actually
|
||||||
|
@@ -20,9 +20,9 @@ index, like the ASL example below shows::
|
|||||||
|
|
||||||
Name (_CRS, ResourceTemplate ()
|
Name (_CRS, ResourceTemplate ()
|
||||||
{
|
{
|
||||||
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
|
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
|
||||||
"\\_SB.GPO0", 0, ResourceConsumer) {15}
|
"\\_SB.GPO0", 0, ResourceConsumer) {15}
|
||||||
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
|
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
|
||||||
"\\_SB.GPO0", 0, ResourceConsumer) {27, 31}
|
"\\_SB.GPO0", 0, ResourceConsumer) {27, 31}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -49,15 +49,41 @@ index
|
|||||||
pin
|
pin
|
||||||
Pin in the GpioIo()/GpioInt() resource. Typically this is zero.
|
Pin in the GpioIo()/GpioInt() resource. Typically this is zero.
|
||||||
active_low
|
active_low
|
||||||
If 1 the GPIO is marked as active_low.
|
If 1, the GPIO is marked as active_low.
|
||||||
|
|
||||||
Since ACPI GpioIo() resource does not have a field saying whether it is
|
Since ACPI GpioIo() resource does not have a field saying whether it is
|
||||||
active low or high, the "active_low" argument can be used here. Setting
|
active low or high, the "active_low" argument can be used here. Setting
|
||||||
it to 1 marks the GPIO as active low.
|
it to 1 marks the GPIO as active low.
|
||||||
|
|
||||||
|
Note, active_low in _DSD does not make sense for GpioInt() resource and
|
||||||
|
must be 0. GpioInt() resource has its own means of defining it.
|
||||||
|
|
||||||
In our Bluetooth example the "reset-gpios" refers to the second GpioIo()
|
In our Bluetooth example the "reset-gpios" refers to the second GpioIo()
|
||||||
resource, second pin in that resource with the GPIO number of 31.
|
resource, second pin in that resource with the GPIO number of 31.
|
||||||
|
|
||||||
|
The GpioIo() resource unfortunately doesn't explicitly provide an initial
|
||||||
|
state of the output pin which driver should use during its initialization.
|
||||||
|
|
||||||
|
Linux tries to use common sense here and derives the state from the bias
|
||||||
|
and polarity settings. The table below shows the expectations:
|
||||||
|
|
||||||
|
========= ============= ==============
|
||||||
|
Pull Bias Polarity Requested...
|
||||||
|
========= ============= ==============
|
||||||
|
Implicit x AS IS (assumed firmware configured for us)
|
||||||
|
Explicit x (no _DSD) as Pull Bias (Up == High, Down == Low),
|
||||||
|
assuming non-active (Polarity = !Pull Bias)
|
||||||
|
Down Low as low, assuming active
|
||||||
|
Down High as low, assuming non-active
|
||||||
|
Up Low as high, assuming non-active
|
||||||
|
Up High as high, assuming active
|
||||||
|
========= ============= ==============
|
||||||
|
|
||||||
|
That said, for our above example the both GPIOs, since the bias setting
|
||||||
|
is explicit and _DSD is present, will be treated as active with a high
|
||||||
|
polarity and Linux will configure the pins in this state until a driver
|
||||||
|
reprograms them differently.
|
||||||
|
|
||||||
It is possible to leave holes in the array of GPIOs. This is useful in
|
It is possible to leave holes in the array of GPIOs. This is useful in
|
||||||
cases like with SPI host controllers where some chip selects may be
|
cases like with SPI host controllers where some chip selects may be
|
||||||
implemented as GPIOs and some as native signals. For example a SPI host
|
implemented as GPIOs and some as native signals. For example a SPI host
|
||||||
@@ -112,8 +138,8 @@ Example::
|
|||||||
Package () {
|
Package () {
|
||||||
"gpio-line-names",
|
"gpio-line-names",
|
||||||
Package () {
|
Package () {
|
||||||
"SPI0_CS_N", "EXP2_INT", "MUX6_IO", "UART0_RXD", "MUX7_IO",
|
"SPI0_CS_N", "EXP2_INT", "MUX6_IO", "UART0_RXD",
|
||||||
"LVL_C_A1", "MUX0_IO", "SPI1_MISO"
|
"MUX7_IO", "LVL_C_A1", "MUX0_IO", "SPI1_MISO",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +163,7 @@ to the GPIO lines it is going to use and provide the GPIO subsystem with a
|
|||||||
mapping between those names and the ACPI GPIO resources corresponding to them.
|
mapping between those names and the ACPI GPIO resources corresponding to them.
|
||||||
|
|
||||||
To do that, the driver needs to define a mapping table as a NULL-terminated
|
To do that, the driver needs to define a mapping table as a NULL-terminated
|
||||||
array of struct acpi_gpio_mapping objects that each contain a name, a pointer
|
array of struct acpi_gpio_mapping objects that each contains a name, a pointer
|
||||||
to an array of line data (struct acpi_gpio_params) objects and the size of that
|
to an array of line data (struct acpi_gpio_params) objects and the size of that
|
||||||
array. Each struct acpi_gpio_params object consists of three fields,
|
array. Each struct acpi_gpio_params object consists of three fields,
|
||||||
crs_entry_index, line_index, active_low, representing the index of the target
|
crs_entry_index, line_index, active_low, representing the index of the target
|
||||||
@@ -154,13 +180,14 @@ question would look like this::
|
|||||||
static const struct acpi_gpio_mapping bluetooth_acpi_gpios[] = {
|
static const struct acpi_gpio_mapping bluetooth_acpi_gpios[] = {
|
||||||
{ "reset-gpios", &reset_gpio, 1 },
|
{ "reset-gpios", &reset_gpio, 1 },
|
||||||
{ "shutdown-gpios", &shutdown_gpio, 1 },
|
{ "shutdown-gpios", &shutdown_gpio, 1 },
|
||||||
{ },
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
Next, the mapping table needs to be passed as the second argument to
|
Next, the mapping table needs to be passed as the second argument to
|
||||||
acpi_dev_add_driver_gpios() that will register it with the ACPI device object
|
acpi_dev_add_driver_gpios() or its managed analogue that will
|
||||||
pointed to by its first argument. That should be done in the driver's .probe()
|
register it with the ACPI device object pointed to by its first
|
||||||
routine. On removal, the driver should unregister its GPIO mapping table by
|
argument. That should be done in the driver's .probe() routine.
|
||||||
|
On removal, the driver should unregister its GPIO mapping table by
|
||||||
calling acpi_dev_remove_driver_gpios() on the ACPI device object where that
|
calling acpi_dev_remove_driver_gpios() on the ACPI device object where that
|
||||||
table was previously registered.
|
table was previously registered.
|
||||||
|
|
||||||
@@ -191,12 +218,12 @@ The driver might expect to get the right GPIO when it does::
|
|||||||
but since there is no way to know the mapping between "reset" and
|
but since there is no way to know the mapping between "reset" and
|
||||||
the GpioIo() in _CRS desc will hold ERR_PTR(-ENOENT).
|
the GpioIo() in _CRS desc will hold ERR_PTR(-ENOENT).
|
||||||
|
|
||||||
The driver author can solve this by passing the mapping explictly
|
The driver author can solve this by passing the mapping explicitly
|
||||||
(the recommended way and documented in the above chapter).
|
(this is the recommended way and it's documented in the above chapter).
|
||||||
|
|
||||||
The ACPI GPIO mapping tables should not contaminate drivers that are not
|
The ACPI GPIO mapping tables should not contaminate drivers that are not
|
||||||
knowing about which exact device they are servicing on. It implies that
|
knowing about which exact device they are servicing on. It implies that
|
||||||
the ACPI GPIO mapping tables are hardly linked to ACPI ID and certain
|
the ACPI GPIO mapping tables are hardly linked to an ACPI ID and certain
|
||||||
objects, as listed in the above chapter, of the device in question.
|
objects, as listed in the above chapter, of the device in question.
|
||||||
|
|
||||||
Getting GPIO descriptor
|
Getting GPIO descriptor
|
||||||
@@ -229,5 +256,5 @@ Case 2 explicitly tells GPIO core to look for resources in _CRS.
|
|||||||
Be aware that gpiod_get_index() in cases 1 and 2, assuming that there
|
Be aware that gpiod_get_index() in cases 1 and 2, assuming that there
|
||||||
are two versions of ACPI device description provided and no mapping is
|
are two versions of ACPI device description provided and no mapping is
|
||||||
present in the driver, will return different resources. That's why a
|
present in the driver, will return different resources. That's why a
|
||||||
certain driver has to handle them carefully as explained in previous
|
certain driver has to handle them carefully as explained in the previous
|
||||||
chapter.
|
chapter.
|
||||||
|
@@ -98,7 +98,7 @@ subject to change::
|
|||||||
[ 0.188903] exdebug-0398 ex_trace_point : Method End [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution.
|
[ 0.188903] exdebug-0398 ex_trace_point : Method End [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution.
|
||||||
|
|
||||||
Developers can utilize these special log entries to track the AML
|
Developers can utilize these special log entries to track the AML
|
||||||
interpretion, thus can aid issue debugging and performance tuning. Note
|
interpretation, thus can aid issue debugging and performance tuning. Note
|
||||||
that, as the "AML tracer" logs are implemented via ACPI_DEBUG_PRINT()
|
that, as the "AML tracer" logs are implemented via ACPI_DEBUG_PRINT()
|
||||||
macro, CONFIG_ACPI_DEBUG is also required to be enabled for enabling
|
macro, CONFIG_ACPI_DEBUG is also required to be enabled for enabling
|
||||||
"AML tracer" logs.
|
"AML tracer" logs.
|
||||||
|
@@ -57,9 +57,8 @@ to enable them. ::
|
|||||||
They can be enabled individually. The full list of the parameters: ::
|
They can be enabled individually. The full list of the parameters: ::
|
||||||
|
|
||||||
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
||||||
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump OBJSIZE=llvm-size \
|
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
||||||
READELF=llvm-readelf HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar \
|
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
|
||||||
HOSTLD=ld.lld
|
|
||||||
|
|
||||||
Currently, the integrated assembler is disabled by default. You can pass
|
Currently, the integrated assembler is disabled by default. You can pass
|
||||||
``LLVM_IAS=1`` to enable it.
|
``LLVM_IAS=1`` to enable it.
|
||||||
|
@@ -110,7 +110,7 @@ Q: I sent a patch and I'm wondering what happened to it?
|
|||||||
Q: How can I tell whether it got merged?
|
Q: How can I tell whether it got merged?
|
||||||
A: Start by looking at the main patchworks queue for netdev:
|
A: Start by looking at the main patchworks queue for netdev:
|
||||||
|
|
||||||
http://patchwork.ozlabs.org/project/netdev/list/
|
https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
|
|
||||||
The "State" field will tell you exactly where things are at with your
|
The "State" field will tell you exactly where things are at with your
|
||||||
patch.
|
patch.
|
||||||
@@ -152,7 +152,7 @@ networking subsystem, and then hands them off to Greg.
|
|||||||
|
|
||||||
There is a patchworks queue that you can see here:
|
There is a patchworks queue that you can see here:
|
||||||
|
|
||||||
http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
|
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
|
||||||
|
|
||||||
It contains the patches which Dave has selected, but not yet handed off
|
It contains the patches which Dave has selected, but not yet handed off
|
||||||
to Greg. If Greg already has the patch, then it will be here:
|
to Greg. If Greg already has the patch, then it will be here:
|
||||||
@@ -254,6 +254,32 @@ you will have done run-time testing specific to your change, but at a
|
|||||||
minimum, your changes should survive an ``allyesconfig`` and an
|
minimum, your changes should survive an ``allyesconfig`` and an
|
||||||
``allmodconfig`` build without new warnings or failures.
|
``allmodconfig`` build without new warnings or failures.
|
||||||
|
|
||||||
|
Q: How do I post corresponding changes to user space components?
|
||||||
|
----------------------------------------------------------------
|
||||||
|
A: User space code exercising kernel features should be posted
|
||||||
|
alongside kernel patches. This gives reviewers a chance to see
|
||||||
|
how any new interface is used and how well it works.
|
||||||
|
|
||||||
|
When user space tools reside in the kernel repo itself all changes
|
||||||
|
should generally come as one series. If series becomes too large
|
||||||
|
or the user space project is not reviewed on netdev include a link
|
||||||
|
to a public repo where user space patches can be seen.
|
||||||
|
|
||||||
|
In case user space tooling lives in a separate repository but is
|
||||||
|
reviewed on netdev (e.g. patches to `iproute2` tools) kernel and
|
||||||
|
user space patches should form separate series (threads) when posted
|
||||||
|
to the mailing list, e.g.::
|
||||||
|
|
||||||
|
[PATCH net-next 0/3] net: some feature cover letter
|
||||||
|
└─ [PATCH net-next 1/3] net: some feature prep
|
||||||
|
└─ [PATCH net-next 2/3] net: some feature do it
|
||||||
|
└─ [PATCH net-next 3/3] selftest: net: some feature
|
||||||
|
|
||||||
|
[PATCH iproute2-next] ip: add support for some feature
|
||||||
|
|
||||||
|
Posting as one thread is discouraged because it confuses patchwork
|
||||||
|
(as of patchwork 2.2.2).
|
||||||
|
|
||||||
Q: Any other tips to help ensure my net/net-next patch gets OK'd?
|
Q: Any other tips to help ensure my net/net-next patch gets OK'd?
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
A: Attention to detail. Re-read your own work as if you were the
|
A: Attention to detail. Re-read your own work as if you were the
|
||||||
|
@@ -247,8 +247,8 @@ Some of the interface modes are described below:
|
|||||||
speeds (see below.)
|
speeds (see below.)
|
||||||
|
|
||||||
``PHY_INTERFACE_MODE_2500BASEX``
|
``PHY_INTERFACE_MODE_2500BASEX``
|
||||||
This defines a variant of 1000BASE-X which is clocked 2.5 times faster,
|
This defines a variant of 1000BASE-X which is clocked 2.5 times as fast
|
||||||
than the 802.3 standard giving a fixed bit rate of 3.125Gbaud.
|
as the 802.3 standard, giving a fixed bit rate of 3.125Gbaud.
|
||||||
|
|
||||||
``PHY_INTERFACE_MODE_SGMII``
|
``PHY_INTERFACE_MODE_SGMII``
|
||||||
This is used for Cisco SGMII, which is a modification of 1000BASE-X
|
This is used for Cisco SGMII, which is a modification of 1000BASE-X
|
||||||
|
@@ -39,7 +39,7 @@ Procedure for submitting patches to the -stable tree
|
|||||||
submission guidelines as described in
|
submission guidelines as described in
|
||||||
:ref:`Documentation/networking/netdev-FAQ.rst <netdev-FAQ>`
|
:ref:`Documentation/networking/netdev-FAQ.rst <netdev-FAQ>`
|
||||||
after first checking the stable networking queue at
|
after first checking the stable networking queue at
|
||||||
https://patchwork.ozlabs.org/bundle/davem/stable/?series=&submitter=&state=*&q=&archive=
|
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
|
||||||
to ensure the requested patch is not already queued up.
|
to ensure the requested patch is not already queued up.
|
||||||
- Security patches should not be handled (solely) by the -stable review
|
- Security patches should not be handled (solely) by the -stable review
|
||||||
process but should follow the procedures in
|
process but should follow the procedures in
|
||||||
|
@@ -46,7 +46,7 @@ Procedura per sottomettere patch per i sorgenti -stable
|
|||||||
:ref:`Documentation/translations/it_IT/networking/netdev-FAQ.rst <it_netdev-FAQ>`;
|
:ref:`Documentation/translations/it_IT/networking/netdev-FAQ.rst <it_netdev-FAQ>`;
|
||||||
ma solo dopo aver verificato al seguente indirizzo che la patch non sia
|
ma solo dopo aver verificato al seguente indirizzo che la patch non sia
|
||||||
già in coda:
|
già in coda:
|
||||||
https://patchwork.ozlabs.org/bundle/davem/stable/?series=&submitter=&state=*&q=&archive=
|
https://patchwork.kernel.org/bundle/netdev/stable/?state=*
|
||||||
- Una patch di sicurezza non dovrebbero essere gestite (solamente) dal processo
|
- Una patch di sicurezza non dovrebbero essere gestite (solamente) dal processo
|
||||||
di revisione -stable, ma dovrebbe seguire le procedure descritte in
|
di revisione -stable, ma dovrebbe seguire le procedure descritte in
|
||||||
:ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`.
|
:ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`.
|
||||||
|
@@ -6367,7 +6367,7 @@ accesses that would usually trigger a #GP by KVM into the guest will
|
|||||||
instead get bounced to user space through the KVM_EXIT_X86_RDMSR and
|
instead get bounced to user space through the KVM_EXIT_X86_RDMSR and
|
||||||
KVM_EXIT_X86_WRMSR exit notifications.
|
KVM_EXIT_X86_WRMSR exit notifications.
|
||||||
|
|
||||||
8.25 KVM_X86_SET_MSR_FILTER
|
8.27 KVM_X86_SET_MSR_FILTER
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
:Architectures: x86
|
:Architectures: x86
|
||||||
@@ -6381,8 +6381,7 @@ In combination with KVM_CAP_X86_USER_SPACE_MSR, this allows user space to
|
|||||||
trap and emulate MSRs that are outside of the scope of KVM as well as
|
trap and emulate MSRs that are outside of the scope of KVM as well as
|
||||||
limit the attack surface on KVM's MSR emulation code.
|
limit the attack surface on KVM's MSR emulation code.
|
||||||
|
|
||||||
|
8.28 KVM_CAP_ENFORCE_PV_CPUID
|
||||||
8.26 KVM_CAP_ENFORCE_PV_CPUID
|
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
Architectures: x86
|
Architectures: x86
|
||||||
|
@@ -455,7 +455,7 @@ If the generation number of the spte does not equal the global generation
|
|||||||
number, it will ignore the cached MMIO information and handle the page
|
number, it will ignore the cached MMIO information and handle the page
|
||||||
fault through the slow path.
|
fault through the slow path.
|
||||||
|
|
||||||
Since only 19 bits are used to store generation-number on mmio spte, all
|
Since only 18 bits are used to store generation-number on mmio spte, all
|
||||||
pages are zapped when there is an overflow.
|
pages are zapped when there is an overflow.
|
||||||
|
|
||||||
Unfortunately, a single memory access might access kvm_memslots(kvm) multiple
|
Unfortunately, a single memory access might access kvm_memslots(kvm) multiple
|
||||||
|
@@ -82,7 +82,8 @@ Default MMUv2-compatible layout::
|
|||||||
+------------------+
|
+------------------+
|
||||||
| VMALLOC area | VMALLOC_START 0xc0000000 128MB - 64KB
|
| VMALLOC area | VMALLOC_START 0xc0000000 128MB - 64KB
|
||||||
+------------------+ VMALLOC_END
|
+------------------+ VMALLOC_END
|
||||||
| Cache aliasing | TLBTEMP_BASE_1 0xc7ff0000 DCACHE_WAY_SIZE
|
+------------------+
|
||||||
|
| Cache aliasing | TLBTEMP_BASE_1 0xc8000000 DCACHE_WAY_SIZE
|
||||||
| remap area 1 |
|
| remap area 1 |
|
||||||
+------------------+
|
+------------------+
|
||||||
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
||||||
@@ -124,7 +125,8 @@ Default MMUv2-compatible layout::
|
|||||||
+------------------+
|
+------------------+
|
||||||
| VMALLOC area | VMALLOC_START 0xa0000000 128MB - 64KB
|
| VMALLOC area | VMALLOC_START 0xa0000000 128MB - 64KB
|
||||||
+------------------+ VMALLOC_END
|
+------------------+ VMALLOC_END
|
||||||
| Cache aliasing | TLBTEMP_BASE_1 0xa7ff0000 DCACHE_WAY_SIZE
|
+------------------+
|
||||||
|
| Cache aliasing | TLBTEMP_BASE_1 0xa8000000 DCACHE_WAY_SIZE
|
||||||
| remap area 1 |
|
| remap area 1 |
|
||||||
+------------------+
|
+------------------+
|
||||||
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
||||||
@@ -167,7 +169,8 @@ Default MMUv2-compatible layout::
|
|||||||
+------------------+
|
+------------------+
|
||||||
| VMALLOC area | VMALLOC_START 0x90000000 128MB - 64KB
|
| VMALLOC area | VMALLOC_START 0x90000000 128MB - 64KB
|
||||||
+------------------+ VMALLOC_END
|
+------------------+ VMALLOC_END
|
||||||
| Cache aliasing | TLBTEMP_BASE_1 0x97ff0000 DCACHE_WAY_SIZE
|
+------------------+
|
||||||
|
| Cache aliasing | TLBTEMP_BASE_1 0x98000000 DCACHE_WAY_SIZE
|
||||||
| remap area 1 |
|
| remap area 1 |
|
||||||
+------------------+
|
+------------------+
|
||||||
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
| Cache aliasing | TLBTEMP_BASE_2 DCACHE_WAY_SIZE
|
||||||
|
158
MAINTAINERS
158
MAINTAINERS
@@ -1279,7 +1279,7 @@ M: Igor Russkikh <irusskikh@marvell.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://www.marvell.com/
|
W: https://www.marvell.com/
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: Documentation/networking/device_drivers/ethernet/aquantia/atlantic.rst
|
F: Documentation/networking/device_drivers/ethernet/aquantia/atlantic.rst
|
||||||
F: drivers/net/ethernet/aquantia/atlantic/
|
F: drivers/net/ethernet/aquantia/atlantic/
|
||||||
|
|
||||||
@@ -1486,10 +1486,20 @@ F: Documentation/devicetree/bindings/iommu/arm,smmu*
|
|||||||
F: drivers/iommu/arm/
|
F: drivers/iommu/arm/
|
||||||
F: drivers/iommu/io-pgtable-arm*
|
F: drivers/iommu/io-pgtable-arm*
|
||||||
|
|
||||||
|
ARM AND ARM64 SoC SUB-ARCHITECTURES (COMMON PARTS)
|
||||||
|
M: Arnd Bergmann <arnd@arndb.de>
|
||||||
|
M: Olof Johansson <olof@lixom.net>
|
||||||
|
M: soc@kernel.org
|
||||||
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
|
S: Maintained
|
||||||
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
|
||||||
|
F: arch/arm/boot/dts/Makefile
|
||||||
|
F: arch/arm64/boot/dts/Makefile
|
||||||
|
|
||||||
ARM SUB-ARCHITECTURES
|
ARM SUB-ARCHITECTURES
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
|
||||||
F: arch/arm/mach-*/
|
F: arch/arm/mach-*/
|
||||||
F: arch/arm/plat-*/
|
F: arch/arm/plat-*/
|
||||||
|
|
||||||
@@ -1546,6 +1556,7 @@ F: drivers/clk/sunxi/
|
|||||||
ARM/Allwinner sunXi SoC support
|
ARM/Allwinner sunXi SoC support
|
||||||
M: Maxime Ripard <mripard@kernel.org>
|
M: Maxime Ripard <mripard@kernel.org>
|
||||||
M: Chen-Yu Tsai <wens@csie.org>
|
M: Chen-Yu Tsai <wens@csie.org>
|
||||||
|
R: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
|
||||||
@@ -1723,11 +1734,13 @@ F: arch/arm/mach-ep93xx/micro9.c
|
|||||||
|
|
||||||
ARM/CORESIGHT FRAMEWORK AND DRIVERS
|
ARM/CORESIGHT FRAMEWORK AND DRIVERS
|
||||||
M: Mathieu Poirier <mathieu.poirier@linaro.org>
|
M: Mathieu Poirier <mathieu.poirier@linaro.org>
|
||||||
R: Suzuki K Poulose <suzuki.poulose@arm.com>
|
M: Suzuki K Poulose <suzuki.poulose@arm.com>
|
||||||
R: Mike Leach <mike.leach@linaro.org>
|
R: Mike Leach <mike.leach@linaro.org>
|
||||||
|
R: Leo Yan <leo.yan@linaro.org>
|
||||||
L: coresight@lists.linaro.org (moderated for non-subscribers)
|
L: coresight@lists.linaro.org (moderated for non-subscribers)
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/coresight/linux.git
|
||||||
F: Documentation/ABI/testing/sysfs-bus-coresight-devices-*
|
F: Documentation/ABI/testing/sysfs-bus-coresight-devices-*
|
||||||
F: Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
|
F: Documentation/devicetree/bindings/arm/coresight-cpu-debug.txt
|
||||||
F: Documentation/devicetree/bindings/arm/coresight-cti.yaml
|
F: Documentation/devicetree/bindings/arm/coresight-cti.yaml
|
||||||
@@ -1994,7 +2007,6 @@ N: lpc18xx
|
|||||||
|
|
||||||
ARM/LPC32XX SOC SUPPORT
|
ARM/LPC32XX SOC SUPPORT
|
||||||
M: Vladimir Zapolskiy <vz@mleia.com>
|
M: Vladimir Zapolskiy <vz@mleia.com>
|
||||||
M: Sylvain Lemieux <slemieux.tyco@gmail.com>
|
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://github.com/vzapolskiy/linux-lpc32xx.git
|
T: git git://github.com/vzapolskiy/linux-lpc32xx.git
|
||||||
@@ -2012,7 +2024,6 @@ M: Philipp Zabel <philipp.zabel@gmail.com>
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
ARM/Marvell Dove/MV78xx0/Orion SOC support
|
ARM/Marvell Dove/MV78xx0/Orion SOC support
|
||||||
M: Jason Cooper <jason@lakedaemon.net>
|
|
||||||
M: Andrew Lunn <andrew@lunn.ch>
|
M: Andrew Lunn <andrew@lunn.ch>
|
||||||
M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||||
M: Gregory Clement <gregory.clement@bootlin.com>
|
M: Gregory Clement <gregory.clement@bootlin.com>
|
||||||
@@ -2029,7 +2040,6 @@ F: arch/arm/plat-orion/
|
|||||||
F: drivers/soc/dove/
|
F: drivers/soc/dove/
|
||||||
|
|
||||||
ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
|
ARM/Marvell Kirkwood and Armada 370, 375, 38x, 39x, XP, 3700, 7K/8K, CN9130 SOC support
|
||||||
M: Jason Cooper <jason@lakedaemon.net>
|
|
||||||
M: Andrew Lunn <andrew@lunn.ch>
|
M: Andrew Lunn <andrew@lunn.ch>
|
||||||
M: Gregory Clement <gregory.clement@bootlin.com>
|
M: Gregory Clement <gregory.clement@bootlin.com>
|
||||||
M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||||
@@ -2374,7 +2384,7 @@ F: drivers/i2c/busses/i2c-rk3x.c
|
|||||||
F: sound/soc/rockchip/
|
F: sound/soc/rockchip/
|
||||||
N: rockchip
|
N: rockchip
|
||||||
|
|
||||||
ARM/SAMSUNG EXYNOS ARM ARCHITECTURES
|
ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES
|
||||||
M: Krzysztof Kozlowski <krzk@kernel.org>
|
M: Krzysztof Kozlowski <krzk@kernel.org>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
L: linux-samsung-soc@vger.kernel.org
|
L: linux-samsung-soc@vger.kernel.org
|
||||||
@@ -2403,15 +2413,7 @@ N: s3c2410
|
|||||||
N: s3c64xx
|
N: s3c64xx
|
||||||
N: s5pv210
|
N: s5pv210
|
||||||
|
|
||||||
ARM/SAMSUNG MOBILE MACHINE SUPPORT
|
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
|
||||||
S: Maintained
|
|
||||||
F: arch/arm/mach-s5pv210/
|
|
||||||
|
|
||||||
ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
|
ARM/SAMSUNG S5P SERIES 2D GRAPHICS ACCELERATION (G2D) SUPPORT
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
M: Kamil Debski <kamil@wypas.org>
|
|
||||||
M: Andrzej Hajda <a.hajda@samsung.com>
|
M: Andrzej Hajda <a.hajda@samsung.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org
|
L: linux-arm-kernel@lists.infradead.org
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
@@ -2436,9 +2438,6 @@ S: Maintained
|
|||||||
F: drivers/media/platform/s5p-jpeg/
|
F: drivers/media/platform/s5p-jpeg/
|
||||||
|
|
||||||
ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
|
ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
M: Kamil Debski <kamil@wypas.org>
|
|
||||||
M: Jeongtae Park <jtp.park@samsung.com>
|
|
||||||
M: Andrzej Hajda <a.hajda@samsung.com>
|
M: Andrzej Hajda <a.hajda@samsung.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org
|
L: linux-arm-kernel@lists.infradead.org
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
@@ -3243,12 +3242,12 @@ F: drivers/iio/accel/bma400*
|
|||||||
BPF (Safe dynamic programs and tools)
|
BPF (Safe dynamic programs and tools)
|
||||||
M: Alexei Starovoitov <ast@kernel.org>
|
M: Alexei Starovoitov <ast@kernel.org>
|
||||||
M: Daniel Borkmann <daniel@iogearbox.net>
|
M: Daniel Borkmann <daniel@iogearbox.net>
|
||||||
|
M: Andrii Nakryiko <andrii@kernel.org>
|
||||||
R: Martin KaFai Lau <kafai@fb.com>
|
R: Martin KaFai Lau <kafai@fb.com>
|
||||||
R: Song Liu <songliubraving@fb.com>
|
R: Song Liu <songliubraving@fb.com>
|
||||||
R: Yonghong Song <yhs@fb.com>
|
R: Yonghong Song <yhs@fb.com>
|
||||||
R: Andrii Nakryiko <andrii@kernel.org>
|
|
||||||
R: John Fastabend <john.fastabend@gmail.com>
|
R: John Fastabend <john.fastabend@gmail.com>
|
||||||
R: KP Singh <kpsingh@chromium.org>
|
R: KP Singh <kpsingh@kernel.org>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
L: bpf@vger.kernel.org
|
L: bpf@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -3366,6 +3365,17 @@ S: Supported
|
|||||||
F: arch/x86/net/
|
F: arch/x86/net/
|
||||||
X: arch/x86/net/bpf_jit_comp32.c
|
X: arch/x86/net/bpf_jit_comp32.c
|
||||||
|
|
||||||
|
BPF LSM (Security Audit and Enforcement using BPF)
|
||||||
|
M: KP Singh <kpsingh@kernel.org>
|
||||||
|
R: Florent Revest <revest@chromium.org>
|
||||||
|
R: Brendan Jackman <jackmanb@chromium.org>
|
||||||
|
L: bpf@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/bpf/bpf_lsm.rst
|
||||||
|
F: include/linux/bpf_lsm.h
|
||||||
|
F: kernel/bpf/bpf_lsm.c
|
||||||
|
F: security/bpf/
|
||||||
|
|
||||||
BROADCOM B44 10/100 ETHERNET DRIVER
|
BROADCOM B44 10/100 ETHERNET DRIVER
|
||||||
M: Michael Chan <michael.chan@broadcom.com>
|
M: Michael Chan <michael.chan@broadcom.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
@@ -3538,11 +3548,12 @@ BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER
|
|||||||
M: Arend van Spriel <arend.vanspriel@broadcom.com>
|
M: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||||
M: Franky Lin <franky.lin@broadcom.com>
|
M: Franky Lin <franky.lin@broadcom.com>
|
||||||
M: Hante Meuleman <hante.meuleman@broadcom.com>
|
M: Hante Meuleman <hante.meuleman@broadcom.com>
|
||||||
M: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
|
M: Chi-hsien Lin <chi-hsien.lin@infineon.com>
|
||||||
M: Wright Feng <wright.feng@cypress.com>
|
M: Wright Feng <wright.feng@infineon.com>
|
||||||
|
M: Chung-hsien Hsu <chung-hsien.hsu@infineon.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
L: brcm80211-dev-list.pdl@broadcom.com
|
L: brcm80211-dev-list.pdl@broadcom.com
|
||||||
L: brcm80211-dev-list@cypress.com
|
L: SHA-cyfmac-dev-list@infineon.com
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/net/wireless/broadcom/brcm80211/
|
F: drivers/net/wireless/broadcom/brcm80211/
|
||||||
|
|
||||||
@@ -4284,6 +4295,7 @@ B: https://github.com/ClangBuiltLinux/linux/issues
|
|||||||
C: irc://chat.freenode.net/clangbuiltlinux
|
C: irc://chat.freenode.net/clangbuiltlinux
|
||||||
F: Documentation/kbuild/llvm.rst
|
F: Documentation/kbuild/llvm.rst
|
||||||
F: scripts/clang-tools/
|
F: scripts/clang-tools/
|
||||||
|
F: scripts/lld-version.sh
|
||||||
K: \b(?i:clang|llvm)\b
|
K: \b(?i:clang|llvm)\b
|
||||||
|
|
||||||
CLEANCACHE API
|
CLEANCACHE API
|
||||||
@@ -4710,7 +4722,7 @@ T: git git://linuxtv.org/anttip/media_tree.git
|
|||||||
F: drivers/media/dvb-frontends/cxd2820r*
|
F: drivers/media/dvb-frontends/cxd2820r*
|
||||||
|
|
||||||
CXGB3 ETHERNET DRIVER (CXGB3)
|
CXGB3 ETHERNET DRIVER (CXGB3)
|
||||||
M: Vishal Kulkarni <vishal@chelsio.com>
|
M: Raju Rangoju <rajur@chelsio.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.chelsio.com
|
W: http://www.chelsio.com
|
||||||
@@ -4742,7 +4754,7 @@ W: http://www.chelsio.com
|
|||||||
F: drivers/net/ethernet/chelsio/inline_crypto/
|
F: drivers/net/ethernet/chelsio/inline_crypto/
|
||||||
|
|
||||||
CXGB4 ETHERNET DRIVER (CXGB4)
|
CXGB4 ETHERNET DRIVER (CXGB4)
|
||||||
M: Vishal Kulkarni <vishal@chelsio.com>
|
M: Raju Rangoju <rajur@chelsio.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.chelsio.com
|
W: http://www.chelsio.com
|
||||||
@@ -4764,7 +4776,7 @@ F: drivers/infiniband/hw/cxgb4/
|
|||||||
F: include/uapi/rdma/cxgb4-abi.h
|
F: include/uapi/rdma/cxgb4-abi.h
|
||||||
|
|
||||||
CXGB4VF ETHERNET DRIVER (CXGB4VF)
|
CXGB4VF ETHERNET DRIVER (CXGB4VF)
|
||||||
M: Vishal Kulkarni <vishal@gmail.com>
|
M: Raju Rangoju <rajur@chelsio.com>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.chelsio.com
|
W: http://www.chelsio.com
|
||||||
@@ -5870,6 +5882,7 @@ S: Supported
|
|||||||
F: Documentation/devicetree/bindings/display/mediatek/
|
F: Documentation/devicetree/bindings/display/mediatek/
|
||||||
F: drivers/gpu/drm/mediatek/
|
F: drivers/gpu/drm/mediatek/
|
||||||
F: drivers/phy/mediatek/phy-mtk-hdmi*
|
F: drivers/phy/mediatek/phy-mtk-hdmi*
|
||||||
|
F: drivers/phy/mediatek/phy-mtk-mipi*
|
||||||
|
|
||||||
DRM DRIVERS FOR NVIDIA TEGRA
|
DRM DRIVERS FOR NVIDIA TEGRA
|
||||||
M: Thierry Reding <thierry.reding@gmail.com>
|
M: Thierry Reding <thierry.reding@gmail.com>
|
||||||
@@ -6622,6 +6635,7 @@ Q: http://patchwork.ozlabs.org/project/linux-ext4/list/
|
|||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
|
||||||
F: Documentation/filesystems/ext4/
|
F: Documentation/filesystems/ext4/
|
||||||
F: fs/ext4/
|
F: fs/ext4/
|
||||||
|
F: include/trace/events/ext4.h
|
||||||
|
|
||||||
Extended Verification Module (EVM)
|
Extended Verification Module (EVM)
|
||||||
M: Mimi Zohar <zohar@linux.ibm.com>
|
M: Mimi Zohar <zohar@linux.ibm.com>
|
||||||
@@ -8836,8 +8850,8 @@ S: Supported
|
|||||||
W: http://www.intel.com/support/feedback.htm
|
W: http://www.intel.com/support/feedback.htm
|
||||||
W: http://e1000.sourceforge.net/
|
W: http://e1000.sourceforge.net/
|
||||||
Q: http://patchwork.ozlabs.org/project/intel-wired-lan/list/
|
Q: http://patchwork.ozlabs.org/project/intel-wired-lan/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git
|
||||||
F: Documentation/networking/device_drivers/ethernet/intel/
|
F: Documentation/networking/device_drivers/ethernet/intel/
|
||||||
F: drivers/net/ethernet/intel/
|
F: drivers/net/ethernet/intel/
|
||||||
F: drivers/net/ethernet/intel/*/
|
F: drivers/net/ethernet/intel/*/
|
||||||
@@ -9090,10 +9104,7 @@ S: Supported
|
|||||||
F: drivers/net/wireless/intel/iwlegacy/
|
F: drivers/net/wireless/intel/iwlegacy/
|
||||||
|
|
||||||
INTEL WIRELESS WIFI LINK (iwlwifi)
|
INTEL WIRELESS WIFI LINK (iwlwifi)
|
||||||
M: Johannes Berg <johannes.berg@intel.com>
|
|
||||||
M: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
|
||||||
M: Luca Coelho <luciano.coelho@intel.com>
|
M: Luca Coelho <luciano.coelho@intel.com>
|
||||||
M: Intel Linux Wireless <linuxwifi@intel.com>
|
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
|
W: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
|
||||||
@@ -9185,6 +9196,7 @@ F: include/linux/iomap.h
|
|||||||
|
|
||||||
IOMMU DRIVERS
|
IOMMU DRIVERS
|
||||||
M: Joerg Roedel <joro@8bytes.org>
|
M: Joerg Roedel <joro@8bytes.org>
|
||||||
|
M: Will Deacon <will@kernel.org>
|
||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
|
||||||
@@ -9268,7 +9280,6 @@ F: kernel/irq/
|
|||||||
|
|
||||||
IRQCHIP DRIVERS
|
IRQCHIP DRIVERS
|
||||||
M: Thomas Gleixner <tglx@linutronix.de>
|
M: Thomas Gleixner <tglx@linutronix.de>
|
||||||
M: Jason Cooper <jason@lakedaemon.net>
|
|
||||||
M: Marc Zyngier <maz@kernel.org>
|
M: Marc Zyngier <maz@kernel.org>
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -9668,6 +9679,7 @@ F: Documentation/virt/kvm/s390*
|
|||||||
F: arch/s390/include/asm/gmap.h
|
F: arch/s390/include/asm/gmap.h
|
||||||
F: arch/s390/include/asm/kvm*
|
F: arch/s390/include/asm/kvm*
|
||||||
F: arch/s390/include/uapi/asm/kvm*
|
F: arch/s390/include/uapi/asm/kvm*
|
||||||
|
F: arch/s390/kernel/uv.c
|
||||||
F: arch/s390/kvm/
|
F: arch/s390/kvm/
|
||||||
F: arch/s390/mm/gmap.c
|
F: arch/s390/mm/gmap.c
|
||||||
F: tools/testing/selftests/kvm/*/s390x/
|
F: tools/testing/selftests/kvm/*/s390x/
|
||||||
@@ -9856,13 +9868,6 @@ S: Maintained
|
|||||||
F: arch/mips/lantiq
|
F: arch/mips/lantiq
|
||||||
F: drivers/soc/lantiq
|
F: drivers/soc/lantiq
|
||||||
|
|
||||||
LAPB module
|
|
||||||
L: linux-x25@vger.kernel.org
|
|
||||||
S: Orphan
|
|
||||||
F: Documentation/networking/lapb-module.rst
|
|
||||||
F: include/*/lapb.h
|
|
||||||
F: net/lapb/
|
|
||||||
|
|
||||||
LASI 53c700 driver for PARISC
|
LASI 53c700 driver for PARISC
|
||||||
M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
|
M: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
|
||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
@@ -10573,6 +10578,13 @@ S: Supported
|
|||||||
F: Documentation/networking/device_drivers/ethernet/marvell/octeontx2.rst
|
F: Documentation/networking/device_drivers/ethernet/marvell/octeontx2.rst
|
||||||
F: drivers/net/ethernet/marvell/octeontx2/af/
|
F: drivers/net/ethernet/marvell/octeontx2/af/
|
||||||
|
|
||||||
|
MARVELL PRESTERA ETHERNET SWITCH DRIVER
|
||||||
|
M: Vadym Kochan <vkochan@marvell.com>
|
||||||
|
M: Taras Chornyi <tchornyi@marvell.com>
|
||||||
|
S: Supported
|
||||||
|
W: https://github.com/Marvell-switching/switchdev-prestera
|
||||||
|
F: drivers/net/ethernet/marvell/prestera/
|
||||||
|
|
||||||
MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
|
MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
|
||||||
M: Nicolas Pitre <nico@fluxnic.net>
|
M: Nicolas Pitre <nico@fluxnic.net>
|
||||||
S: Odd Fixes
|
S: Odd Fixes
|
||||||
@@ -11187,7 +11199,7 @@ M: Tariq Toukan <tariqt@nvidia.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlx4/en_*
|
F: drivers/net/ethernet/mellanox/mlx4/en_*
|
||||||
|
|
||||||
MELLANOX ETHERNET DRIVER (mlx5e)
|
MELLANOX ETHERNET DRIVER (mlx5e)
|
||||||
@@ -11195,7 +11207,7 @@ M: Saeed Mahameed <saeedm@nvidia.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlx5/core/en_*
|
F: drivers/net/ethernet/mellanox/mlx5/core/en_*
|
||||||
|
|
||||||
MELLANOX ETHERNET INNOVA DRIVERS
|
MELLANOX ETHERNET INNOVA DRIVERS
|
||||||
@@ -11203,7 +11215,7 @@ R: Boris Pismenny <borisp@nvidia.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlx5/core/accel/*
|
F: drivers/net/ethernet/mellanox/mlx5/core/accel/*
|
||||||
F: drivers/net/ethernet/mellanox/mlx5/core/en_accel/*
|
F: drivers/net/ethernet/mellanox/mlx5/core/en_accel/*
|
||||||
F: drivers/net/ethernet/mellanox/mlx5/core/fpga/*
|
F: drivers/net/ethernet/mellanox/mlx5/core/fpga/*
|
||||||
@@ -11215,7 +11227,7 @@ M: Ido Schimmel <idosch@nvidia.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlxsw/
|
F: drivers/net/ethernet/mellanox/mlxsw/
|
||||||
F: tools/testing/selftests/drivers/net/mlxsw/
|
F: tools/testing/selftests/drivers/net/mlxsw/
|
||||||
|
|
||||||
@@ -11224,7 +11236,7 @@ M: mlxsw@nvidia.com
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlxfw/
|
F: drivers/net/ethernet/mellanox/mlxfw/
|
||||||
|
|
||||||
MELLANOX HARDWARE PLATFORM SUPPORT
|
MELLANOX HARDWARE PLATFORM SUPPORT
|
||||||
@@ -11243,7 +11255,7 @@ L: netdev@vger.kernel.org
|
|||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: drivers/net/ethernet/mellanox/mlx4/
|
F: drivers/net/ethernet/mellanox/mlx4/
|
||||||
F: include/linux/mlx4/
|
F: include/linux/mlx4/
|
||||||
|
|
||||||
@@ -11264,7 +11276,7 @@ L: netdev@vger.kernel.org
|
|||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.mellanox.com
|
W: http://www.mellanox.com
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
F: Documentation/networking/device_drivers/ethernet/mellanox/
|
F: Documentation/networking/device_drivers/ethernet/mellanox/
|
||||||
F: drivers/net/ethernet/mellanox/mlx5/core/
|
F: drivers/net/ethernet/mellanox/mlx5/core/
|
||||||
F: include/linux/mlx5/
|
F: include/linux/mlx5/
|
||||||
@@ -12144,7 +12156,7 @@ M: Jakub Kicinski <kuba@kernel.org>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://www.linuxfoundation.org/en/Net
|
W: http://www.linuxfoundation.org/en/Net
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
|
||||||
F: Documentation/devicetree/bindings/net/
|
F: Documentation/devicetree/bindings/net/
|
||||||
@@ -12189,7 +12201,7 @@ M: Jakub Kicinski <kuba@kernel.org>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
W: http://www.linuxfoundation.org/en/Net
|
W: http://www.linuxfoundation.org/en/Net
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: https://patchwork.kernel.org/project/netdevbpf/list/
|
||||||
B: mailto:netdev@vger.kernel.org
|
B: mailto:netdev@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
|
||||||
@@ -13190,7 +13202,9 @@ M: Jesper Dangaard Brouer <hawk@kernel.org>
|
|||||||
M: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
M: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
F: Documentation/networking/page_pool.rst
|
||||||
F: include/net/page_pool.h
|
F: include/net/page_pool.h
|
||||||
|
F: include/trace/events/page_pool.h
|
||||||
F: net/core/page_pool.c
|
F: net/core/page_pool.c
|
||||||
|
|
||||||
PANASONIC LAPTOP ACPI EXTRAS DRIVER
|
PANASONIC LAPTOP ACPI EXTRAS DRIVER
|
||||||
@@ -13418,7 +13432,6 @@ F: drivers/pci/controller/mobiveil/pcie-mobiveil*
|
|||||||
|
|
||||||
PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
|
PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
|
||||||
M: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
M: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||||
M: Jason Cooper <jason@lakedaemon.net>
|
|
||||||
L: linux-pci@vger.kernel.org
|
L: linux-pci@vger.kernel.org
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -14224,7 +14237,6 @@ F: drivers/media/usb/pwc/*
|
|||||||
F: include/trace/events/pwc.h
|
F: include/trace/events/pwc.h
|
||||||
|
|
||||||
PWM FAN DRIVER
|
PWM FAN DRIVER
|
||||||
M: Kamil Debski <kamil@wypas.org>
|
|
||||||
M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
|
M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
|
||||||
L: linux-hwmon@vger.kernel.org
|
L: linux-hwmon@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -14833,7 +14845,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.g
|
|||||||
F: drivers/net/wireless/realtek/rtlwifi/
|
F: drivers/net/wireless/realtek/rtlwifi/
|
||||||
|
|
||||||
REALTEK WIRELESS DRIVER (rtw88)
|
REALTEK WIRELESS DRIVER (rtw88)
|
||||||
M: Yan-Hsuan Chuang <yhchuang@realtek.com>
|
M: Yan-Hsuan Chuang <tony0620emma@gmail.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/net/wireless/realtek/rtw88/
|
F: drivers/net/wireless/realtek/rtw88/
|
||||||
@@ -15260,7 +15272,6 @@ F: drivers/iommu/s390-iommu.c
|
|||||||
S390 IUCV NETWORK LAYER
|
S390 IUCV NETWORK LAYER
|
||||||
M: Julian Wiedmann <jwi@linux.ibm.com>
|
M: Julian Wiedmann <jwi@linux.ibm.com>
|
||||||
M: Karsten Graul <kgraul@linux.ibm.com>
|
M: Karsten Graul <kgraul@linux.ibm.com>
|
||||||
M: Ursula Braun <ubraun@linux.ibm.com>
|
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.ibm.com/developerworks/linux/linux390/
|
W: http://www.ibm.com/developerworks/linux/linux390/
|
||||||
@@ -15271,7 +15282,6 @@ F: net/iucv/
|
|||||||
S390 NETWORK DRIVERS
|
S390 NETWORK DRIVERS
|
||||||
M: Julian Wiedmann <jwi@linux.ibm.com>
|
M: Julian Wiedmann <jwi@linux.ibm.com>
|
||||||
M: Karsten Graul <kgraul@linux.ibm.com>
|
M: Karsten Graul <kgraul@linux.ibm.com>
|
||||||
M: Ursula Braun <ubraun@linux.ibm.com>
|
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: http://www.ibm.com/developerworks/linux/linux390/
|
W: http://www.ibm.com/developerworks/linux/linux390/
|
||||||
@@ -15440,14 +15450,12 @@ F: Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
|
|||||||
F: drivers/nfc/s3fwrn5
|
F: drivers/nfc/s3fwrn5
|
||||||
|
|
||||||
SAMSUNG S5C73M3 CAMERA DRIVER
|
SAMSUNG S5C73M3 CAMERA DRIVER
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
M: Andrzej Hajda <a.hajda@samsung.com>
|
M: Andrzej Hajda <a.hajda@samsung.com>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/media/i2c/s5c73m3/*
|
F: drivers/media/i2c/s5c73m3/*
|
||||||
|
|
||||||
SAMSUNG S5K5BAF CAMERA DRIVER
|
SAMSUNG S5K5BAF CAMERA DRIVER
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
M: Andrzej Hajda <a.hajda@samsung.com>
|
M: Andrzej Hajda <a.hajda@samsung.com>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -15465,7 +15473,6 @@ F: Documentation/devicetree/bindings/crypto/samsung-sss.yaml
|
|||||||
F: drivers/crypto/s5p-sss.c
|
F: drivers/crypto/s5p-sss.c
|
||||||
|
|
||||||
SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
|
SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS
|
||||||
M: Kyungmin Park <kyungmin.park@samsung.com>
|
|
||||||
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
L: linux-media@vger.kernel.org
|
L: linux-media@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -15513,7 +15520,6 @@ T: git https://github.com/lmajewski/linux-samsung-thermal.git
|
|||||||
F: drivers/thermal/samsung/
|
F: drivers/thermal/samsung/
|
||||||
|
|
||||||
SAMSUNG USB2 PHY DRIVER
|
SAMSUNG USB2 PHY DRIVER
|
||||||
M: Kamil Debski <kamil@wypas.org>
|
|
||||||
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -15812,9 +15818,8 @@ F: drivers/slimbus/
|
|||||||
F: include/linux/slimbus.h
|
F: include/linux/slimbus.h
|
||||||
|
|
||||||
SFC NETWORK DRIVER
|
SFC NETWORK DRIVER
|
||||||
M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
|
M: Edward Cree <ecree.xilinx@gmail.com>
|
||||||
M: Edward Cree <ecree@solarflare.com>
|
M: Martin Habets <habetsm.xilinx@gmail.com>
|
||||||
M: Martin Habets <mhabets@solarflare.com>
|
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/net/ethernet/sfc/
|
F: drivers/net/ethernet/sfc/
|
||||||
@@ -15842,7 +15847,6 @@ S: Maintained
|
|||||||
F: drivers/misc/sgi-xp/
|
F: drivers/misc/sgi-xp/
|
||||||
|
|
||||||
SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
|
SHARED MEMORY COMMUNICATIONS (SMC) SOCKETS
|
||||||
M: Ursula Braun <ubraun@linux.ibm.com>
|
|
||||||
M: Karsten Graul <kgraul@linux.ibm.com>
|
M: Karsten Graul <kgraul@linux.ibm.com>
|
||||||
L: linux-s390@vger.kernel.org
|
L: linux-s390@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -18189,6 +18193,14 @@ L: linux-usb@vger.kernel.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/usb/class/usblp.c
|
F: drivers/usb/class/usblp.c
|
||||||
|
|
||||||
|
USB RAW GADGET DRIVER
|
||||||
|
R: Andrey Konovalov <andreyknvl@gmail.com>
|
||||||
|
L: linux-usb@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/usb/raw-gadget.rst
|
||||||
|
F: drivers/usb/gadget/legacy/raw_gadget.c
|
||||||
|
F: include/uapi/linux/usb/raw_gadget.h
|
||||||
|
|
||||||
USB QMI WWAN NETWORK DRIVER
|
USB QMI WWAN NETWORK DRIVER
|
||||||
M: Bjørn Mork <bjorn@mork.no>
|
M: Bjørn Mork <bjorn@mork.no>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
@@ -19014,12 +19026,18 @@ L: linux-kernel@vger.kernel.org
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
N: axp[128]
|
N: axp[128]
|
||||||
|
|
||||||
X.25 NETWORK LAYER
|
X.25 STACK
|
||||||
M: Andrew Hendry <andrew.hendry@gmail.com>
|
M: Martin Schiller <ms@dev.tdt.de>
|
||||||
L: linux-x25@vger.kernel.org
|
L: linux-x25@vger.kernel.org
|
||||||
S: Odd Fixes
|
S: Maintained
|
||||||
|
F: Documentation/networking/lapb-module.rst
|
||||||
F: Documentation/networking/x25*
|
F: Documentation/networking/x25*
|
||||||
|
F: drivers/net/wan/hdlc_x25.c
|
||||||
|
F: drivers/net/wan/lapbether.c
|
||||||
|
F: include/*/lapb.h
|
||||||
F: include/net/x25*
|
F: include/net/x25*
|
||||||
|
F: include/uapi/linux/x25.h
|
||||||
|
F: net/lapb/
|
||||||
F: net/x25/
|
F: net/x25/
|
||||||
|
|
||||||
X86 ARCHITECTURE (32-BIT AND 64-BIT)
|
X86 ARCHITECTURE (32-BIT AND 64-BIT)
|
||||||
@@ -19133,12 +19151,17 @@ L: netdev@vger.kernel.org
|
|||||||
L: bpf@vger.kernel.org
|
L: bpf@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: include/net/xdp.h
|
F: include/net/xdp.h
|
||||||
|
F: include/net/xdp_priv.h
|
||||||
F: include/trace/events/xdp.h
|
F: include/trace/events/xdp.h
|
||||||
F: kernel/bpf/cpumap.c
|
F: kernel/bpf/cpumap.c
|
||||||
F: kernel/bpf/devmap.c
|
F: kernel/bpf/devmap.c
|
||||||
F: net/core/xdp.c
|
F: net/core/xdp.c
|
||||||
N: xdp
|
F: samples/bpf/xdp*
|
||||||
K: xdp
|
F: tools/testing/selftests/bpf/*xdp*
|
||||||
|
F: tools/testing/selftests/bpf/*/*xdp*
|
||||||
|
F: drivers/net/ethernet/*/*/*/*/*xdp*
|
||||||
|
F: drivers/net/ethernet/*/*/*xdp*
|
||||||
|
K: (?:\b|_)xdp(?:\b|_)
|
||||||
|
|
||||||
XDP SOCKETS (AF_XDP)
|
XDP SOCKETS (AF_XDP)
|
||||||
M: Björn Töpel <bjorn.topel@intel.com>
|
M: Björn Töpel <bjorn.topel@intel.com>
|
||||||
@@ -19147,9 +19170,12 @@ R: Jonathan Lemon <jonathan.lemon@gmail.com>
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
L: bpf@vger.kernel.org
|
L: bpf@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
F: Documentation/networking/af_xdp.rst
|
||||||
F: include/net/xdp_sock*
|
F: include/net/xdp_sock*
|
||||||
F: include/net/xsk_buff_pool.h
|
F: include/net/xsk_buff_pool.h
|
||||||
F: include/uapi/linux/if_xdp.h
|
F: include/uapi/linux/if_xdp.h
|
||||||
|
F: include/uapi/linux/xdp_diag.h
|
||||||
|
F: include/net/netns/xdp.h
|
||||||
F: net/xdp/
|
F: net/xdp/
|
||||||
F: samples/bpf/xdpsock*
|
F: samples/bpf/xdpsock*
|
||||||
F: tools/lib/bpf/xsk*
|
F: tools/lib/bpf/xsk*
|
||||||
|
16
Makefile
16
Makefile
@@ -2,7 +2,7 @@
|
|||||||
VERSION = 5
|
VERSION = 5
|
||||||
PATCHLEVEL = 10
|
PATCHLEVEL = 10
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc3
|
EXTRAVERSION =
|
||||||
NAME = Kleptomaniac Octopus
|
NAME = Kleptomaniac Octopus
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@@ -433,7 +433,6 @@ NM = llvm-nm
|
|||||||
OBJCOPY = llvm-objcopy
|
OBJCOPY = llvm-objcopy
|
||||||
OBJDUMP = llvm-objdump
|
OBJDUMP = llvm-objdump
|
||||||
READELF = llvm-readelf
|
READELF = llvm-readelf
|
||||||
OBJSIZE = llvm-size
|
|
||||||
STRIP = llvm-strip
|
STRIP = llvm-strip
|
||||||
else
|
else
|
||||||
CC = $(CROSS_COMPILE)gcc
|
CC = $(CROSS_COMPILE)gcc
|
||||||
@@ -443,7 +442,6 @@ NM = $(CROSS_COMPILE)nm
|
|||||||
OBJCOPY = $(CROSS_COMPILE)objcopy
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||||
OBJDUMP = $(CROSS_COMPILE)objdump
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
||||||
READELF = $(CROSS_COMPILE)readelf
|
READELF = $(CROSS_COMPILE)readelf
|
||||||
OBJSIZE = $(CROSS_COMPILE)size
|
|
||||||
STRIP = $(CROSS_COMPILE)strip
|
STRIP = $(CROSS_COMPILE)strip
|
||||||
endif
|
endif
|
||||||
PAHOLE = pahole
|
PAHOLE = pahole
|
||||||
@@ -509,7 +507,7 @@ KBUILD_LDFLAGS :=
|
|||||||
CLANG_FLAGS :=
|
CLANG_FLAGS :=
|
||||||
|
|
||||||
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
|
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
|
||||||
export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
|
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
|
||||||
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
|
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
|
||||||
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
|
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
|
||||||
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
|
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
|
||||||
@@ -828,7 +826,9 @@ else
|
|||||||
DEBUG_CFLAGS += -g
|
DEBUG_CFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(LLVM_IAS),1)
|
||||||
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_DEBUG_INFO_DWARF4
|
ifdef CONFIG_DEBUG_INFO_DWARF4
|
||||||
DEBUG_CFLAGS += -gdwarf-4
|
DEBUG_CFLAGS += -gdwarf-4
|
||||||
@@ -946,7 +946,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|||||||
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
||||||
|
|
||||||
# change __FILE__ to the relative path from the srctree
|
# change __FILE__ to the relative path from the srctree
|
||||||
KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
||||||
|
|
||||||
# ensure -fcf-protection is disabled when using retpoline as it is
|
# ensure -fcf-protection is disabled when using retpoline as it is
|
||||||
# incompatible with -mindirect-branch=thunk-extern
|
# incompatible with -mindirect-branch=thunk-extern
|
||||||
@@ -984,6 +984,12 @@ ifeq ($(CONFIG_RELR),y)
|
|||||||
LDFLAGS_vmlinux += --pack-dyn-relocs=relr
|
LDFLAGS_vmlinux += --pack-dyn-relocs=relr
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# We never want expected sections to be placed heuristically by the
|
||||||
|
# linker. All sections should be explicitly named in the linker script.
|
||||||
|
ifdef CONFIG_LD_ORPHAN_WARN
|
||||||
|
LDFLAGS_vmlinux += --orphan-handling=warn
|
||||||
|
endif
|
||||||
|
|
||||||
# Align the bit size of userspace programs with the kernel
|
# Align the bit size of userspace programs with the kernel
|
||||||
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
||||||
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
||||||
|
@@ -1028,6 +1028,15 @@ config HAVE_STATIC_CALL_INLINE
|
|||||||
bool
|
bool
|
||||||
depends on HAVE_STATIC_CALL
|
depends on HAVE_STATIC_CALL
|
||||||
|
|
||||||
|
config ARCH_WANT_LD_ORPHAN_WARN
|
||||||
|
bool
|
||||||
|
help
|
||||||
|
An arch should select this symbol once all linker sections are explicitly
|
||||||
|
included, size-asserted, or discarded in the linker scripts. This is
|
||||||
|
important because we never want expected sections to be placed heuristically
|
||||||
|
by the linker, since the locations of such sections can change between linker
|
||||||
|
versions.
|
||||||
|
|
||||||
source "kernel/gcov/Kconfig"
|
source "kernel/gcov/Kconfig"
|
||||||
|
|
||||||
source "scripts/gcc-plugins/Kconfig"
|
source "scripts/gcc-plugins/Kconfig"
|
||||||
|
@@ -57,7 +57,7 @@ EXPORT_SYMBOL(pm_power_off);
|
|||||||
void arch_cpu_idle(void)
|
void arch_cpu_idle(void)
|
||||||
{
|
{
|
||||||
wtint(0);
|
wtint(0);
|
||||||
local_irq_enable();
|
raw_local_irq_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_cpu_idle_dead(void)
|
void arch_cpu_idle_dead(void)
|
||||||
|
@@ -243,10 +243,8 @@ static inline int constant_fls(unsigned int x)
|
|||||||
x <<= 2;
|
x <<= 2;
|
||||||
r -= 2;
|
r -= 2;
|
||||||
}
|
}
|
||||||
if (!(x & 0x80000000u)) {
|
if (!(x & 0x80000000u))
|
||||||
x <<= 1;
|
|
||||||
r -= 1;
|
r -= 1;
|
||||||
}
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -134,8 +134,10 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_ARC_HAS_PAE40
|
#ifdef CONFIG_ARC_HAS_PAE40
|
||||||
#define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
|
#define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
|
||||||
|
#define MAX_POSSIBLE_PHYSMEM_BITS 40
|
||||||
#else
|
#else
|
||||||
#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE)
|
#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE)
|
||||||
|
#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@@ -38,15 +38,27 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_ARC_DW2_UNWIND
|
#ifdef CONFIG_ARC_DW2_UNWIND
|
||||||
|
|
||||||
static void seed_unwind_frame_info(struct task_struct *tsk,
|
static int
|
||||||
struct pt_regs *regs,
|
seed_unwind_frame_info(struct task_struct *tsk, struct pt_regs *regs,
|
||||||
struct unwind_frame_info *frame_info)
|
struct unwind_frame_info *frame_info)
|
||||||
{
|
{
|
||||||
|
if (regs) {
|
||||||
|
/*
|
||||||
|
* Asynchronous unwinding of intr/exception
|
||||||
|
* - Just uses the pt_regs passed
|
||||||
|
*/
|
||||||
|
frame_info->task = tsk;
|
||||||
|
|
||||||
|
frame_info->regs.r27 = regs->fp;
|
||||||
|
frame_info->regs.r28 = regs->sp;
|
||||||
|
frame_info->regs.r31 = regs->blink;
|
||||||
|
frame_info->regs.r63 = regs->ret;
|
||||||
|
frame_info->call_frame = 0;
|
||||||
|
} else if (tsk == NULL || tsk == current) {
|
||||||
/*
|
/*
|
||||||
* synchronous unwinding (e.g. dump_stack)
|
* synchronous unwinding (e.g. dump_stack)
|
||||||
* - uses current values of SP and friends
|
* - uses current values of SP and friends
|
||||||
*/
|
*/
|
||||||
if (tsk == NULL && regs == NULL) {
|
|
||||||
unsigned long fp, sp, blink, ret;
|
unsigned long fp, sp, blink, ret;
|
||||||
frame_info->task = current;
|
frame_info->task = current;
|
||||||
|
|
||||||
@@ -63,13 +75,17 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
|
|||||||
frame_info->regs.r31 = blink;
|
frame_info->regs.r31 = blink;
|
||||||
frame_info->regs.r63 = ret;
|
frame_info->regs.r63 = ret;
|
||||||
frame_info->call_frame = 0;
|
frame_info->call_frame = 0;
|
||||||
} else if (regs == NULL) {
|
} else {
|
||||||
/*
|
/*
|
||||||
* Asynchronous unwinding of sleeping task
|
* Asynchronous unwinding of a likely sleeping task
|
||||||
* - Gets SP etc from task's pt_regs (saved bottom of kernel
|
* - first ensure it is actually sleeping
|
||||||
* mode stack of task)
|
* - if so, it will be in __switch_to, kernel mode SP of task
|
||||||
|
* is safe-kept and BLINK at a well known location in there
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (tsk->state == TASK_RUNNING)
|
||||||
|
return -1;
|
||||||
|
|
||||||
frame_info->task = tsk;
|
frame_info->task = tsk;
|
||||||
|
|
||||||
frame_info->regs.r27 = TSK_K_FP(tsk);
|
frame_info->regs.r27 = TSK_K_FP(tsk);
|
||||||
@@ -90,19 +106,8 @@ static void seed_unwind_frame_info(struct task_struct *tsk,
|
|||||||
frame_info->regs.r28 += 60;
|
frame_info->regs.r28 += 60;
|
||||||
frame_info->call_frame = 0;
|
frame_info->call_frame = 0;
|
||||||
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
* Asynchronous unwinding of intr/exception
|
|
||||||
* - Just uses the pt_regs passed
|
|
||||||
*/
|
|
||||||
frame_info->task = tsk;
|
|
||||||
|
|
||||||
frame_info->regs.r27 = regs->fp;
|
|
||||||
frame_info->regs.r28 = regs->sp;
|
|
||||||
frame_info->regs.r31 = regs->blink;
|
|
||||||
frame_info->regs.r63 = regs->ret;
|
|
||||||
frame_info->call_frame = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -116,7 +121,8 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
|
|||||||
unsigned int address;
|
unsigned int address;
|
||||||
struct unwind_frame_info frame_info;
|
struct unwind_frame_info frame_info;
|
||||||
|
|
||||||
seed_unwind_frame_info(tsk, regs, &frame_info);
|
if (seed_unwind_frame_info(tsk, regs, &frame_info))
|
||||||
|
return 0;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
address = UNW_PC(&frame_info);
|
address = UNW_PC(&frame_info);
|
||||||
|
@@ -30,14 +30,14 @@
|
|||||||
* -Changes related to MMU v2 (Rel 4.8)
|
* -Changes related to MMU v2 (Rel 4.8)
|
||||||
*
|
*
|
||||||
* Vineetg: Aug 29th 2008
|
* Vineetg: Aug 29th 2008
|
||||||
* -In TLB Flush operations (Metal Fix MMU) there is a explict command to
|
* -In TLB Flush operations (Metal Fix MMU) there is a explicit command to
|
||||||
* flush Micro-TLBS. If TLB Index Reg is invalid prior to TLBIVUTLB cmd,
|
* flush Micro-TLBS. If TLB Index Reg is invalid prior to TLBIVUTLB cmd,
|
||||||
* it fails. Thus need to load it with ANY valid value before invoking
|
* it fails. Thus need to load it with ANY valid value before invoking
|
||||||
* TLBIVUTLB cmd
|
* TLBIVUTLB cmd
|
||||||
*
|
*
|
||||||
* Vineetg: Aug 21th 2008:
|
* Vineetg: Aug 21th 2008:
|
||||||
* -Reduced the duration of IRQ lockouts in TLB Flush routines
|
* -Reduced the duration of IRQ lockouts in TLB Flush routines
|
||||||
* -Multiple copies of TLB erase code seperated into a "single" function
|
* -Multiple copies of TLB erase code separated into a "single" function
|
||||||
* -In TLB Flush routines, interrupt disabling moved UP to retrieve ASID
|
* -In TLB Flush routines, interrupt disabling moved UP to retrieve ASID
|
||||||
* in interrupt-safe region.
|
* in interrupt-safe region.
|
||||||
*
|
*
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
*
|
*
|
||||||
* Although J-TLB is 2 way set assoc, ARC700 caches J-TLB into uTLBS which has
|
* Although J-TLB is 2 way set assoc, ARC700 caches J-TLB into uTLBS which has
|
||||||
* much higher associativity. u-D-TLB is 8 ways, u-I-TLB is 4 ways.
|
* much higher associativity. u-D-TLB is 8 ways, u-I-TLB is 4 ways.
|
||||||
* Given this, the thrasing problem should never happen because once the 3
|
* Given this, the thrashing problem should never happen because once the 3
|
||||||
* J-TLB entries are created (even though 3rd will knock out one of the prev
|
* J-TLB entries are created (even though 3rd will knock out one of the prev
|
||||||
* two), the u-D-TLB and u-I-TLB will have what is required to accomplish memcpy
|
* two), the u-D-TLB and u-I-TLB will have what is required to accomplish memcpy
|
||||||
*
|
*
|
||||||
@@ -127,7 +127,7 @@ static void utlb_invalidate(void)
|
|||||||
* There was however an obscure hardware bug, where uTLB flush would
|
* There was however an obscure hardware bug, where uTLB flush would
|
||||||
* fail when a prior probe for J-TLB (both totally unrelated) would
|
* fail when a prior probe for J-TLB (both totally unrelated) would
|
||||||
* return lkup err - because the entry didn't exist in MMU.
|
* return lkup err - because the entry didn't exist in MMU.
|
||||||
* The Workround was to set Index reg with some valid value, prior to
|
* The Workaround was to set Index reg with some valid value, prior to
|
||||||
* flush. This was fixed in MMU v3
|
* flush. This was fixed in MMU v3
|
||||||
*/
|
*/
|
||||||
unsigned int idx;
|
unsigned int idx;
|
||||||
@@ -272,7 +272,7 @@ noinline void local_flush_tlb_all(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flush the entrie MM for userland. The fastest way is to move to Next ASID
|
* Flush the entire MM for userland. The fastest way is to move to Next ASID
|
||||||
*/
|
*/
|
||||||
noinline void local_flush_tlb_mm(struct mm_struct *mm)
|
noinline void local_flush_tlb_mm(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
@@ -303,7 +303,7 @@ noinline void local_flush_tlb_mm(struct mm_struct *mm)
|
|||||||
* Difference between this and Kernel Range Flush is
|
* Difference between this and Kernel Range Flush is
|
||||||
* -Here the fastest way (if range is too large) is to move to next ASID
|
* -Here the fastest way (if range is too large) is to move to next ASID
|
||||||
* without doing any explicit Shootdown
|
* without doing any explicit Shootdown
|
||||||
* -In case of kernel Flush, entry has to be shot down explictly
|
* -In case of kernel Flush, entry has to be shot down explicitly
|
||||||
*/
|
*/
|
||||||
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
||||||
unsigned long end)
|
unsigned long end)
|
||||||
@@ -620,7 +620,7 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr_unaligned,
|
|||||||
* Super Page size is configurable in hardware (4K to 16M), but fixed once
|
* Super Page size is configurable in hardware (4K to 16M), but fixed once
|
||||||
* RTL builds.
|
* RTL builds.
|
||||||
*
|
*
|
||||||
* The exact THP size a Linx configuration will support is a function of:
|
* The exact THP size a Linux configuration will support is a function of:
|
||||||
* - MMU page size (typical 8K, RTL fixed)
|
* - MMU page size (typical 8K, RTL fixed)
|
||||||
* - software page walker address split between PGD:PTE:PFN (typical
|
* - software page walker address split between PGD:PTE:PFN (typical
|
||||||
* 11:8:13, but can be changed with 1 line)
|
* 11:8:13, but can be changed with 1 line)
|
||||||
@@ -698,7 +698,7 @@ void local_flush_pmd_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Read the Cache Build Confuration Registers, Decode them and save into
|
/* Read the Cache Build Configuration Registers, Decode them and save into
|
||||||
* the cpuinfo structure for later use.
|
* the cpuinfo structure for later use.
|
||||||
* No Validation is done here, simply read/convert the BCRs
|
* No Validation is done here, simply read/convert the BCRs
|
||||||
*/
|
*/
|
||||||
@@ -803,13 +803,13 @@ void arc_mmu_init(void)
|
|||||||
pr_info("%s", arc_mmu_mumbojumbo(0, str, sizeof(str)));
|
pr_info("%s", arc_mmu_mumbojumbo(0, str, sizeof(str)));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Can't be done in processor.h due to header include depenedencies
|
* Can't be done in processor.h due to header include dependencies
|
||||||
*/
|
*/
|
||||||
BUILD_BUG_ON(!IS_ALIGNED((CONFIG_ARC_KVADDR_SIZE << 20), PMD_SIZE));
|
BUILD_BUG_ON(!IS_ALIGNED((CONFIG_ARC_KVADDR_SIZE << 20), PMD_SIZE));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* stack top size sanity check,
|
* stack top size sanity check,
|
||||||
* Can't be done in processor.h due to header include depenedencies
|
* Can't be done in processor.h due to header include dependencies
|
||||||
*/
|
*/
|
||||||
BUILD_BUG_ON(!IS_ALIGNED(STACK_TOP, PMD_SIZE));
|
BUILD_BUG_ON(!IS_ALIGNED(STACK_TOP, PMD_SIZE));
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ void arc_mmu_init(void)
|
|||||||
* the duplicate one.
|
* the duplicate one.
|
||||||
* -Knob to be verbose abt it.(TODO: hook them up to debugfs)
|
* -Knob to be verbose abt it.(TODO: hook them up to debugfs)
|
||||||
*/
|
*/
|
||||||
volatile int dup_pd_silent; /* Be slient abt it or complain (default) */
|
volatile int dup_pd_silent; /* Be silent abt it or complain (default) */
|
||||||
|
|
||||||
void do_tlb_overlap_fault(unsigned long cause, unsigned long address,
|
void do_tlb_overlap_fault(unsigned long cause, unsigned long address,
|
||||||
struct pt_regs *regs)
|
struct pt_regs *regs)
|
||||||
@@ -948,7 +948,7 @@ void do_tlb_overlap_fault(unsigned long cause, unsigned long address,
|
|||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Diagnostic Routines
|
* Diagnostic Routines
|
||||||
* -Called from Low Level TLB Hanlders if things don;t look good
|
* -Called from Low Level TLB Handlers if things don;t look good
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_ARC_DBG_TLB_PARANOIA
|
#ifdef CONFIG_ARC_DBG_TLB_PARANOIA
|
||||||
|
@@ -35,6 +35,7 @@ config ARM
|
|||||||
select ARCH_USE_CMPXCHG_LOCKREF
|
select ARCH_USE_CMPXCHG_LOCKREF
|
||||||
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
|
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
|
||||||
select ARCH_WANT_IPC_PARSE_VERSION
|
select ARCH_WANT_IPC_PARSE_VERSION
|
||||||
|
select ARCH_WANT_LD_ORPHAN_WARN
|
||||||
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
||||||
select BUILDTIME_TABLE_SORT if MMU
|
select BUILDTIME_TABLE_SORT if MMU
|
||||||
select CLONE_BACKWARDS
|
select CLONE_BACKWARDS
|
||||||
|
@@ -16,10 +16,6 @@ LDFLAGS_vmlinux += --be8
|
|||||||
KBUILD_LDFLAGS_MODULE += --be8
|
KBUILD_LDFLAGS_MODULE += --be8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# We never want expected sections to be placed heuristically by the
|
|
||||||
# linker. All sections should be explicitly named in the linker script.
|
|
||||||
LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
|
|
||||||
|
|
||||||
GZFLAGS :=-9
|
GZFLAGS :=-9
|
||||||
#KBUILD_CFLAGS +=-pipe
|
#KBUILD_CFLAGS +=-pipe
|
||||||
|
|
||||||
|
@@ -129,7 +129,9 @@ LDFLAGS_vmlinux += --no-undefined
|
|||||||
# Delete all temporary local symbols
|
# Delete all temporary local symbols
|
||||||
LDFLAGS_vmlinux += -X
|
LDFLAGS_vmlinux += -X
|
||||||
# Report orphan sections
|
# Report orphan sections
|
||||||
LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
|
ifdef CONFIG_LD_ORPHAN_WARN
|
||||||
|
LDFLAGS_vmlinux += --orphan-handling=warn
|
||||||
|
endif
|
||||||
# Next argument is a linker script
|
# Next argument is a linker script
|
||||||
LDFLAGS_vmlinux += -T
|
LDFLAGS_vmlinux += -T
|
||||||
|
|
||||||
|
@@ -1472,6 +1472,9 @@ ENTRY(efi_enter_kernel)
|
|||||||
@ issued from HYP mode take us to the correct handler code. We
|
@ issued from HYP mode take us to the correct handler code. We
|
||||||
@ will disable the MMU before jumping to the kernel proper.
|
@ will disable the MMU before jumping to the kernel proper.
|
||||||
@
|
@
|
||||||
|
ARM( bic r1, r1, #(1 << 30) ) @ clear HSCTLR.TE
|
||||||
|
THUMB( orr r1, r1, #(1 << 30) ) @ set HSCTLR.TE
|
||||||
|
mcr p15, 4, r1, c1, c0, 0
|
||||||
adr r0, __hyp_reentry_vectors
|
adr r0, __hyp_reentry_vectors
|
||||||
mcr p15, 4, r0, c12, c0, 0 @ set HYP vector base (HVBAR)
|
mcr p15, 4, r0, c12, c0, 0 @ set HYP vector base (HVBAR)
|
||||||
isb
|
isb
|
||||||
|
@@ -521,7 +521,7 @@
|
|||||||
ranges = <0x0 0x100000 0x8000>;
|
ranges = <0x0 0x100000 0x8000>;
|
||||||
|
|
||||||
mac_sw: switch@0 {
|
mac_sw: switch@0 {
|
||||||
compatible = "ti,am4372-cpsw","ti,cpsw-switch";
|
compatible = "ti,am4372-cpsw-switch", "ti,cpsw-switch";
|
||||||
reg = <0x0 0x4000>;
|
reg = <0x0 0x4000>;
|
||||||
ranges = <0 0 0x4000>;
|
ranges = <0 0 0x4000>;
|
||||||
clocks = <&cpsw_125mhz_gclk>, <&dpll_clksel_mac_clk>;
|
clocks = <&cpsw_125mhz_gclk>, <&dpll_clksel_mac_clk>;
|
||||||
|
@@ -32,8 +32,8 @@
|
|||||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupt-names = "int0", "int1";
|
interrupt-names = "int0", "int1";
|
||||||
clocks = <&mcan_clk>, <&l3_iclk_div>;
|
clocks = <&l3_iclk_div>, <&mcan_clk>;
|
||||||
clock-names = "cclk", "hclk";
|
clock-names = "hclk", "cclk";
|
||||||
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
|
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -122,7 +122,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&clock {
|
&clock {
|
||||||
clocks = <&clock CLK_XUSBXTI>;
|
|
||||||
assigned-clocks = <&clock CLK_FOUT_EPLL>;
|
assigned-clocks = <&clock CLK_FOUT_EPLL>;
|
||||||
assigned-clock-rates = <45158401>;
|
assigned-clock-rates = <45158401>;
|
||||||
};
|
};
|
||||||
|
@@ -59,7 +59,7 @@
|
|||||||
MX50_PAD_CSPI_MISO__CSPI_MISO 0x00
|
MX50_PAD_CSPI_MISO__CSPI_MISO 0x00
|
||||||
MX50_PAD_CSPI_MOSI__CSPI_MOSI 0x00
|
MX50_PAD_CSPI_MOSI__CSPI_MOSI 0x00
|
||||||
MX50_PAD_CSPI_SS0__GPIO4_11 0xc4
|
MX50_PAD_CSPI_SS0__GPIO4_11 0xc4
|
||||||
MX50_PAD_ECSPI1_MOSI__CSPI_SS1 0xf4
|
MX50_PAD_ECSPI1_MOSI__GPIO4_13 0x84
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -213,8 +213,8 @@
|
|||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
/* Microchip KSZ9031RNX PHY */
|
/* Microchip KSZ9031RNX PHY */
|
||||||
rgmii_phy: ethernet-phy@4 {
|
rgmii_phy: ethernet-phy@0 {
|
||||||
reg = <4>;
|
reg = <0>;
|
||||||
interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
|
interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
|
||||||
reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
|
||||||
reset-assert-us = <10000>;
|
reset-assert-us = <10000>;
|
||||||
|
@@ -551,7 +551,7 @@
|
|||||||
|
|
||||||
pinctrl_i2c3: i2c3grp {
|
pinctrl_i2c3: i2c3grp {
|
||||||
fsl,pins = <
|
fsl,pins = <
|
||||||
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
|
MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
|
||||||
MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
|
MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
@@ -98,7 +98,7 @@
|
|||||||
&fec {
|
&fec {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pinctrl_enet>;
|
pinctrl-0 = <&pinctrl_enet>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -166,7 +166,6 @@
|
|||||||
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
|
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
|
||||||
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
|
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
|
||||||
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
|
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
|
||||||
MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
|
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -223,8 +223,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&ssp3 {
|
&ssp3 {
|
||||||
/delete-property/ #address-cells;
|
#address-cells = <0>;
|
||||||
/delete-property/ #size-cells;
|
|
||||||
spi-slave;
|
spi-slave;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
ready-gpios = <&gpio 125 GPIO_ACTIVE_HIGH>;
|
ready-gpios = <&gpio 125 GPIO_ACTIVE_HIGH>;
|
||||||
|
@@ -46,6 +46,16 @@
|
|||||||
linux,code = <KEY_A>;
|
linux,code = <KEY_A>;
|
||||||
gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
|
gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The EXTi IRQ line 0 is shared with PMIC,
|
||||||
|
* so mark this as polled GPIO key.
|
||||||
|
*/
|
||||||
|
button-2 {
|
||||||
|
label = "TA3-GPIO-C";
|
||||||
|
linux,code = <KEY_C>;
|
||||||
|
gpios = <&gpiog 0 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio-keys {
|
gpio-keys {
|
||||||
@@ -59,13 +69,6 @@
|
|||||||
wakeup-source;
|
wakeup-source;
|
||||||
};
|
};
|
||||||
|
|
||||||
button-2 {
|
|
||||||
label = "TA3-GPIO-C";
|
|
||||||
linux,code = <KEY_C>;
|
|
||||||
gpios = <&gpioi 11 GPIO_ACTIVE_LOW>;
|
|
||||||
wakeup-source;
|
|
||||||
};
|
|
||||||
|
|
||||||
button-3 {
|
button-3 {
|
||||||
label = "TA4-GPIO-D";
|
label = "TA4-GPIO-D";
|
||||||
linux,code = <KEY_D>;
|
linux,code = <KEY_D>;
|
||||||
@@ -79,7 +82,7 @@
|
|||||||
|
|
||||||
led-0 {
|
led-0 {
|
||||||
label = "green:led5";
|
label = "green:led5";
|
||||||
gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>;
|
||||||
default-state = "off";
|
default-state = "off";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -68,6 +68,7 @@
|
|||||||
gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
|
gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-boot-on;
|
regulator-boot-on;
|
||||||
|
vin-supply = <&vdd>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -202,6 +203,7 @@
|
|||||||
|
|
||||||
vdda: ldo1 {
|
vdda: ldo1 {
|
||||||
regulator-name = "vdda";
|
regulator-name = "vdda";
|
||||||
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <2900000>;
|
regulator-min-microvolt = <2900000>;
|
||||||
regulator-max-microvolt = <2900000>;
|
regulator-max-microvolt = <2900000>;
|
||||||
interrupts = <IT_CURLIM_LDO1 0>;
|
interrupts = <IT_CURLIM_LDO1 0>;
|
||||||
|
@@ -21,6 +21,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&dts {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c4 {
|
&i2c4 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2c4_pins_a>;
|
pinctrl-0 = <&i2c4_pins_a>;
|
||||||
|
@@ -154,7 +154,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -130,7 +130,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -132,7 +132,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -151,7 +151,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2015 Adam Sampson <ats@offog.org>
|
* Copyright 2015-2020 Adam Sampson <ats@offog.org>
|
||||||
*
|
*
|
||||||
* This file is dual-licensed: you can use it either under the terms
|
* This file is dual-licensed: you can use it either under the terms
|
||||||
* of the GPL or the X11 license, at your option. Note that this dual
|
* of the GPL or the X11 license, at your option. Note that this dual
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -131,7 +131,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_sw>;
|
phy-supply = <®_sw>;
|
||||||
phy-handle = <&rgmii_phy>;
|
phy-handle = <&rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
allwinner,rx-delay-ps = <700>;
|
allwinner,rx-delay-ps = <700>;
|
||||||
allwinner,tx-delay-ps = <700>;
|
allwinner,tx-delay-ps = <700>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@@ -183,7 +183,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_dldo4>;
|
phy-supply = <®_dldo4>;
|
||||||
phy-handle = <&rgmii_phy>;
|
phy-handle = <&rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -53,11 +53,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&emac {
|
|
||||||
/* LEDs changed to active high on the plus */
|
|
||||||
/delete-property/ allwinner,leds-active-low;
|
|
||||||
};
|
|
||||||
|
|
||||||
&mmc1 {
|
&mmc1 {
|
||||||
vmmc-supply = <®_vcc3v3>;
|
vmmc-supply = <®_vcc3v3>;
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
|
@@ -67,7 +67,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -129,7 +129,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_dc1sw>;
|
phy-supply = <®_dc1sw>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "PineCube IP Camera";
|
model = "PineCube IP Camera";
|
||||||
compatible = "pine64,pinecube", "allwinner,sun8i-s3";
|
compatible = "pine64,pinecube", "sochip,s3", "allwinner,sun8i-v3";
|
||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
serial0 = &uart2;
|
serial0 = &uart2;
|
||||||
|
@@ -539,7 +539,7 @@
|
|||||||
gic: interrupt-controller@1c81000 {
|
gic: interrupt-controller@1c81000 {
|
||||||
compatible = "arm,gic-400";
|
compatible = "arm,gic-400";
|
||||||
reg = <0x01c81000 0x1000>,
|
reg = <0x01c81000 0x1000>,
|
||||||
<0x01c82000 0x1000>,
|
<0x01c82000 0x2000>,
|
||||||
<0x01c84000 0x2000>,
|
<0x01c84000 0x2000>,
|
||||||
<0x01c86000 0x2000>;
|
<0x01c86000 0x2000>;
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
|
@@ -120,7 +120,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_dc1sw>;
|
phy-supply = <®_dc1sw>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
@@ -198,16 +198,16 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
®_dc1sw {
|
®_dc1sw {
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
regulator-name = "vcc-gmac-phy";
|
regulator-name = "vcc-gmac-phy";
|
||||||
};
|
};
|
||||||
|
|
||||||
®_dcdc1 {
|
®_dcdc1 {
|
||||||
regulator-always-on;
|
regulator-always-on;
|
||||||
regulator-min-microvolt = <3000000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
regulator-max-microvolt = <3000000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
regulator-name = "vcc-3v0";
|
regulator-name = "vcc-3v3";
|
||||||
};
|
};
|
||||||
|
|
||||||
®_dcdc2 {
|
®_dcdc2 {
|
||||||
|
@@ -129,7 +129,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_cldo1>;
|
phy-supply = <®_cldo1>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -124,7 +124,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||||
phy-handle = <&phy1>;
|
phy-handle = <&phy1>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-supply = <®_cldo1>;
|
phy-supply = <®_cldo1>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -126,7 +126,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -406,6 +406,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mdio1 {
|
||||||
|
clock-frequency = <5000000>;
|
||||||
|
};
|
||||||
|
|
||||||
&iomuxc {
|
&iomuxc {
|
||||||
pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
|
pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
|
||||||
|
@@ -81,7 +81,6 @@ CONFIG_PARTITION_ADVANCED=y
|
|||||||
CONFIG_BINFMT_MISC=y
|
CONFIG_BINFMT_MISC=y
|
||||||
CONFIG_CMA=y
|
CONFIG_CMA=y
|
||||||
CONFIG_ZSMALLOC=m
|
CONFIG_ZSMALLOC=m
|
||||||
CONFIG_ZSMALLOC_PGTABLE_MAPPING=y
|
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
@@ -44,20 +44,20 @@ int kprobe_exceptions_notify(struct notifier_block *self,
|
|||||||
unsigned long val, void *data);
|
unsigned long val, void *data);
|
||||||
|
|
||||||
/* optinsn template addresses */
|
/* optinsn template addresses */
|
||||||
extern __visible kprobe_opcode_t optprobe_template_entry;
|
extern __visible kprobe_opcode_t optprobe_template_entry[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_val;
|
extern __visible kprobe_opcode_t optprobe_template_val[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_call;
|
extern __visible kprobe_opcode_t optprobe_template_call[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_end;
|
extern __visible kprobe_opcode_t optprobe_template_end[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_sub_sp;
|
extern __visible kprobe_opcode_t optprobe_template_sub_sp[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_add_sp;
|
extern __visible kprobe_opcode_t optprobe_template_add_sp[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_restore_begin;
|
extern __visible kprobe_opcode_t optprobe_template_restore_begin[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn;
|
extern __visible kprobe_opcode_t optprobe_template_restore_orig_insn[];
|
||||||
extern __visible kprobe_opcode_t optprobe_template_restore_end;
|
extern __visible kprobe_opcode_t optprobe_template_restore_end[];
|
||||||
|
|
||||||
#define MAX_OPTIMIZED_LENGTH 4
|
#define MAX_OPTIMIZED_LENGTH 4
|
||||||
#define MAX_OPTINSN_SIZE \
|
#define MAX_OPTINSN_SIZE \
|
||||||
((unsigned long)&optprobe_template_end - \
|
((unsigned long)optprobe_template_end - \
|
||||||
(unsigned long)&optprobe_template_entry)
|
(unsigned long)optprobe_template_entry)
|
||||||
#define RELATIVEJUMP_SIZE 4
|
#define RELATIVEJUMP_SIZE 4
|
||||||
|
|
||||||
struct arch_optimized_insn {
|
struct arch_optimized_insn {
|
||||||
|
@@ -75,6 +75,8 @@
|
|||||||
#define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t))
|
#define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t))
|
||||||
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32))
|
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32))
|
||||||
|
|
||||||
|
#define MAX_POSSIBLE_PHYSMEM_BITS 32
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PMD_SHIFT determines the size of the area a second-level page table can map
|
* PMD_SHIFT determines the size of the area a second-level page table can map
|
||||||
* PGDIR_SHIFT determines what a third-level page table entry can map
|
* PGDIR_SHIFT determines what a third-level page table entry can map
|
||||||
|
@@ -25,6 +25,8 @@
|
|||||||
#define PTE_HWTABLE_OFF (0)
|
#define PTE_HWTABLE_OFF (0)
|
||||||
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
|
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
|
||||||
|
|
||||||
|
#define MAX_POSSIBLE_PHYSMEM_BITS 40
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PGDIR_SHIFT determines the size a top-level page table entry can map.
|
* PGDIR_SHIFT determines the size a top-level page table entry can map.
|
||||||
*/
|
*/
|
||||||
|
@@ -32,8 +32,7 @@ u64 perf_reg_abi(struct task_struct *task)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void perf_get_regs_user(struct perf_regs *regs_user,
|
void perf_get_regs_user(struct perf_regs *regs_user,
|
||||||
struct pt_regs *regs,
|
struct pt_regs *regs)
|
||||||
struct pt_regs *regs_user_copy)
|
|
||||||
{
|
{
|
||||||
regs_user->regs = task_pt_regs(current);
|
regs_user->regs = task_pt_regs(current);
|
||||||
regs_user->abi = perf_reg_abi(current);
|
regs_user->abi = perf_reg_abi(current);
|
||||||
|
@@ -71,7 +71,7 @@ void arch_cpu_idle(void)
|
|||||||
arm_pm_idle();
|
arm_pm_idle();
|
||||||
else
|
else
|
||||||
cpu_do_idle();
|
cpu_do_idle();
|
||||||
local_irq_enable();
|
raw_local_irq_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_cpu_idle_prepare(void)
|
void arch_cpu_idle_prepare(void)
|
||||||
|
@@ -136,7 +136,7 @@ void __init imx_init_revision_from_anatop(void)
|
|||||||
|
|
||||||
src_np = of_find_compatible_node(NULL, NULL,
|
src_np = of_find_compatible_node(NULL, NULL,
|
||||||
"fsl,imx6ul-src");
|
"fsl,imx6ul-src");
|
||||||
src_base = of_iomap(np, 0);
|
src_base = of_iomap(src_np, 0);
|
||||||
of_node_put(src_np);
|
of_node_put(src_np);
|
||||||
WARN_ON(!src_base);
|
WARN_ON(!src_base);
|
||||||
sbmr2 = readl_relaxed(src_base + SRC_SBMR2);
|
sbmr2 = readl_relaxed(src_base + SRC_SBMR2);
|
||||||
|
@@ -6,9 +6,6 @@
|
|||||||
#ifndef __MEMORY_H
|
#ifndef __MEMORY_H
|
||||||
#define __MEMORY_H
|
#define __MEMORY_H
|
||||||
|
|
||||||
#define MAX_PHYSMEM_BITS 36
|
|
||||||
#define SECTION_SIZE_BITS 34
|
|
||||||
|
|
||||||
#define KEYSTONE_LOW_PHYS_START 0x80000000ULL
|
#define KEYSTONE_LOW_PHYS_START 0x80000000ULL
|
||||||
#define KEYSTONE_LOW_PHYS_SIZE 0x80000000ULL /* 2G */
|
#define KEYSTONE_LOW_PHYS_SIZE 0x80000000ULL /* 2G */
|
||||||
#define KEYSTONE_LOW_PHYS_END (KEYSTONE_LOW_PHYS_START + \
|
#define KEYSTONE_LOW_PHYS_END (KEYSTONE_LOW_PHYS_START + \
|
||||||
|
@@ -288,7 +288,7 @@ static struct gpiod_lookup_table osk_usb_gpio_table = {
|
|||||||
.dev_id = "ohci",
|
.dev_id = "ohci",
|
||||||
.table = {
|
.table = {
|
||||||
/* Power GPIO on the I2C-attached TPS65010 */
|
/* Power GPIO on the I2C-attached TPS65010 */
|
||||||
GPIO_LOOKUP("i2c-tps65010", 1, "power", GPIO_ACTIVE_HIGH),
|
GPIO_LOOKUP("tps65010", 0, "power", GPIO_ACTIVE_HIGH),
|
||||||
GPIO_LOOKUP(OMAP_GPIO_LABEL, 9, "overcurrent",
|
GPIO_LOOKUP(OMAP_GPIO_LABEL, 9, "overcurrent",
|
||||||
GPIO_ACTIVE_HIGH),
|
GPIO_ACTIVE_HIGH),
|
||||||
},
|
},
|
||||||
|
@@ -7,7 +7,6 @@ config ARCH_OMAP2
|
|||||||
depends on ARCH_MULTI_V6
|
depends on ARCH_MULTI_V6
|
||||||
select ARCH_OMAP2PLUS
|
select ARCH_OMAP2PLUS
|
||||||
select CPU_V6
|
select CPU_V6
|
||||||
select PM_GENERIC_DOMAINS if PM
|
|
||||||
select SOC_HAS_OMAP2_SDRC
|
select SOC_HAS_OMAP2_SDRC
|
||||||
|
|
||||||
config ARCH_OMAP3
|
config ARCH_OMAP3
|
||||||
@@ -106,6 +105,8 @@ config ARCH_OMAP2PLUS
|
|||||||
select OMAP_DM_TIMER
|
select OMAP_DM_TIMER
|
||||||
select OMAP_GPMC
|
select OMAP_GPMC
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
|
select PM_GENERIC_DOMAINS if PM
|
||||||
|
select PM_GENERIC_DOMAINS_OF if PM
|
||||||
select RESET_CONTROLLER
|
select RESET_CONTROLLER
|
||||||
select SOC_BUS
|
select SOC_BUS
|
||||||
select TI_SYSC
|
select TI_SYSC
|
||||||
|
@@ -175,8 +175,11 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
|
|||||||
if (mpuss_can_lose_context) {
|
if (mpuss_can_lose_context) {
|
||||||
error = cpu_cluster_pm_enter();
|
error = cpu_cluster_pm_enter();
|
||||||
if (error) {
|
if (error) {
|
||||||
omap_set_pwrdm_state(mpu_pd, PWRDM_POWER_ON);
|
index = 0;
|
||||||
goto cpu_cluster_pm_out;
|
cx = state_ptr + index;
|
||||||
|
pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state);
|
||||||
|
omap_set_pwrdm_state(mpu_pd, cx->mpu_state);
|
||||||
|
mpuss_can_lose_context = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -184,7 +187,6 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
|
|||||||
omap4_enter_lowpower(dev->cpu, cx->cpu_state);
|
omap4_enter_lowpower(dev->cpu, cx->cpu_state);
|
||||||
cpu_done[dev->cpu] = true;
|
cpu_done[dev->cpu] = true;
|
||||||
|
|
||||||
cpu_cluster_pm_out:
|
|
||||||
/* Wakeup CPU1 only if it is not offlined */
|
/* Wakeup CPU1 only if it is not offlined */
|
||||||
if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) {
|
if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) {
|
||||||
|
|
||||||
|
@@ -66,6 +66,7 @@ static const char * const sun8i_board_dt_compat[] = {
|
|||||||
"allwinner,sun8i-h2-plus",
|
"allwinner,sun8i-h2-plus",
|
||||||
"allwinner,sun8i-h3",
|
"allwinner,sun8i-h3",
|
||||||
"allwinner,sun8i-r40",
|
"allwinner,sun8i-r40",
|
||||||
|
"allwinner,sun8i-v3",
|
||||||
"allwinner,sun8i-v3s",
|
"allwinner,sun8i-v3s",
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
@@ -85,21 +85,21 @@ asm (
|
|||||||
"optprobe_template_end:\n");
|
"optprobe_template_end:\n");
|
||||||
|
|
||||||
#define TMPL_VAL_IDX \
|
#define TMPL_VAL_IDX \
|
||||||
((unsigned long *)&optprobe_template_val - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_val - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_CALL_IDX \
|
#define TMPL_CALL_IDX \
|
||||||
((unsigned long *)&optprobe_template_call - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_call - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_END_IDX \
|
#define TMPL_END_IDX \
|
||||||
((unsigned long *)&optprobe_template_end - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_end - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_ADD_SP \
|
#define TMPL_ADD_SP \
|
||||||
((unsigned long *)&optprobe_template_add_sp - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_add_sp - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_SUB_SP \
|
#define TMPL_SUB_SP \
|
||||||
((unsigned long *)&optprobe_template_sub_sp - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_sub_sp - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_RESTORE_BEGIN \
|
#define TMPL_RESTORE_BEGIN \
|
||||||
((unsigned long *)&optprobe_template_restore_begin - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_restore_begin - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_RESTORE_ORIGN_INSN \
|
#define TMPL_RESTORE_ORIGN_INSN \
|
||||||
((unsigned long *)&optprobe_template_restore_orig_insn - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_restore_orig_insn - (unsigned long *)optprobe_template_entry)
|
||||||
#define TMPL_RESTORE_END \
|
#define TMPL_RESTORE_END \
|
||||||
((unsigned long *)&optprobe_template_restore_end - (unsigned long *)&optprobe_template_entry)
|
((unsigned long *)optprobe_template_restore_end - (unsigned long *)optprobe_template_entry)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ARM can always optimize an instruction when using ARM ISA, except
|
* ARM can always optimize an instruction when using ARM ISA, except
|
||||||
@@ -234,7 +234,7 @@ int arch_prepare_optimized_kprobe(struct optimized_kprobe *op, struct kprobe *or
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Copy arch-dep-instance from template. */
|
/* Copy arch-dep-instance from template. */
|
||||||
memcpy(code, (unsigned long *)&optprobe_template_entry,
|
memcpy(code, (unsigned long *)optprobe_template_entry,
|
||||||
TMPL_END_IDX * sizeof(kprobe_opcode_t));
|
TMPL_END_IDX * sizeof(kprobe_opcode_t));
|
||||||
|
|
||||||
/* Adjust buffer according to instruction. */
|
/* Adjust buffer according to instruction. */
|
||||||
|
@@ -81,6 +81,7 @@ config ARM64
|
|||||||
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
|
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
|
||||||
select ARCH_WANT_FRAME_POINTERS
|
select ARCH_WANT_FRAME_POINTERS
|
||||||
select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36)
|
select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36)
|
||||||
|
select ARCH_WANT_LD_ORPHAN_WARN
|
||||||
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
select ARCH_HAS_UBSAN_SANITIZE_ALL
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
select ARM_ARCH_TIMER
|
select ARM_ARCH_TIMER
|
||||||
|
@@ -28,10 +28,6 @@ LDFLAGS_vmlinux += --fix-cortex-a53-843419
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# We never want expected sections to be placed heuristically by the
|
|
||||||
# linker. All sections should be explicitly named in the linker script.
|
|
||||||
LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARM64_USE_LSE_ATOMICS), y)
|
ifeq ($(CONFIG_ARM64_USE_LSE_ATOMICS), y)
|
||||||
ifneq ($(CONFIG_ARM64_LSE_ATOMICS), y)
|
ifneq ($(CONFIG_ARM64_LSE_ATOMICS), y)
|
||||||
$(warning LSE atomics not supported by binutils)
|
$(warning LSE atomics not supported by binutils)
|
||||||
|
@@ -105,7 +105,7 @@
|
|||||||
&emac {
|
&emac {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-supply = <®_dc1sw>;
|
phy-supply = <®_dc1sw>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@@ -120,7 +120,7 @@
|
|||||||
&emac {
|
&emac {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
&emac {
|
&emac {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-txid";
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -122,9 +122,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
port {
|
port {
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
csi_ep: endpoint {
|
csi_ep: endpoint {
|
||||||
remote-endpoint = <&ov5640_ep>;
|
remote-endpoint = <&ov5640_ep>;
|
||||||
bus-width = <8>;
|
bus-width = <8>;
|
||||||
|
@@ -79,7 +79,7 @@
|
|||||||
&emac {
|
&emac {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-supply = <®_dc1sw>;
|
phy-supply = <®_dc1sw>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@@ -36,7 +36,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
/delete-property/ allwinner,leds-active-low;
|
/delete-property/ allwinner,leds-active-low;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@@ -96,7 +96,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -123,7 +123,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -124,7 +124,7 @@
|
|||||||
pinctrl-0 = <&emac_rgmii_pins>;
|
pinctrl-0 = <&emac_rgmii_pins>;
|
||||||
phy-supply = <®_gmac_3v3>;
|
phy-supply = <®_gmac_3v3>;
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -97,7 +97,7 @@
|
|||||||
&emac {
|
&emac {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&ext_rgmii_pins>;
|
pinctrl-0 = <&ext_rgmii_pins>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <&ext_rgmii_phy>;
|
phy-handle = <&ext_rgmii_phy>;
|
||||||
phy-supply = <®_aldo2>;
|
phy-supply = <®_aldo2>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user