Skip to content

Commit 2712186

Browse files
committed
Merge tag 'spi-nor/for-6.3' into mtd/next
SPI NOR changes: * small fixes on core and spansion driver.
2 parents 84549c8 + f047382 commit 2712186

File tree

105 files changed

+1127
-718
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1127
-718
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
*.o.*
4040
*.patch
4141
*.rmeta
42+
*.rpm
4243
*.rsi
4344
*.s
4445
*.so

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ Tony Luck <[email protected]>
422422
423423
424424
Tsuneo Yoshioka <[email protected]>
425+
425426
426427
427428
Uwe Kleine-König <[email protected]>

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Advanced Encryption Standard (AES) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Secure Hash Algorithm (SHA) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Triple Data Encryption Standard (TDES) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel SPI device
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
allOf:
1414
- $ref: spi-controller.yaml#

Documentation/devicetree/bindings/spi/atmel,quadspi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Atmel Quad Serial Peripheral Interface (QSPI)
88

99
maintainers:
10-
- Tudor Ambarus <tudor.ambarus@microchip.com>
10+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1111

1212
allOf:
1313
- $ref: spi-controller.yaml#

Documentation/maintainer/maintainer-entry-profile.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,4 @@ to do something different in the near future.
104104
../riscv/patch-acceptance
105105
../driver-api/media/maintainer-entry-profile
106106
../driver-api/vfio-pci-device-specific-driver-acceptance
107+
../nvme/feature-and-quirk-policy
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
=======================================
4+
Linux NVMe feature and and quirk policy
5+
=======================================
6+
7+
This file explains the policy used to decide what is supported by the
8+
Linux NVMe driver and what is not.
9+
10+
11+
Introduction
12+
============
13+
14+
NVM Express is an open collection of standards and information.
15+
16+
The Linux NVMe host driver in drivers/nvme/host/ supports devices
17+
implementing the NVM Express (NVMe) family of specifications, which
18+
currently consists of a number of documents:
19+
20+
- the NVMe Base specification
21+
- various Command Set specifications (e.g. NVM Command Set)
22+
- various Transport specifications (e.g. PCIe, Fibre Channel, RDMA, TCP)
23+
- the NVMe Management Interface specification
24+
25+
See https://nvmexpress.org/developers/ for the NVMe specifications.
26+
27+
28+
Supported features
29+
==================
30+
31+
NVMe is a large suite of specifications, and contains features that are only
32+
useful or suitable for specific use-cases. It is important to note that Linux
33+
does not aim to implement every feature in the specification. Every additional
34+
feature implemented introduces more code, more maintenance and potentially more
35+
bugs. Hence there is an inherent tradeoff between functionality and
36+
maintainability of the NVMe host driver.
37+
38+
Any feature implemented in the Linux NVMe host driver must support the
39+
following requirements:
40+
41+
1. The feature is specified in a release version of an official NVMe
42+
specification, or in a ratified Technical Proposal (TP) that is
43+
available on NVMe website. Or if it is not directly related to the
44+
on-wire protocol, does not contradict any of the NVMe specifications.
45+
2. Does not conflict with the Linux architecture, nor the design of the
46+
NVMe host driver.
47+
3. Has a clear, indisputable value-proposition and a wide consensus across
48+
the community.
49+
50+
Vendor specific extensions are generally not supported in the NVMe host
51+
driver.
52+
53+
It is strongly recommended to work with the Linux NVMe and block layer
54+
maintainers and get feedback on specification changes that are intended
55+
to be used by the Linux NVMe host driver in order to avoid conflict at a
56+
later stage.
57+
58+
59+
Quirks
60+
======
61+
62+
Sometimes implementations of open standards fail to correctly implement parts
63+
of the standards. Linux uses identifier-based quirks to work around such
64+
implementation bugs. The intent of quirks is to deal with widely available
65+
hardware, usually consumer, which Linux users can't use without these quirks.
66+
Typically these implementations are not or only superficially tested with Linux
67+
by the hardware manufacturer.
68+
69+
The Linux NVMe maintainers decide ad hoc whether to quirk implementations
70+
based on the impact of the problem to Linux users and how it impacts
71+
maintainability of the driver. In general quirks are a last resort, if no
72+
firmware updates or other workarounds are available from the vendor.
73+
74+
Quirks will not be added to the Linux kernel for hardware that isn't available
75+
on the mass market. Hardware that fails qualification for enterprise Linux
76+
distributions, ChromeOS, Android or other consumers of the Linux kernel
77+
should be fixed before it is shipped instead of relying on Linux quirks.

Documentation/virt/kvm/api.rst

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5343,9 +5343,9 @@ KVM_XEN_ATTR_TYPE_SHARED_INFO
53435343
32 vCPUs in the shared_info page, KVM does not automatically do so
53445344
and instead requires that KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO be used
53455345
explicitly even when the vcpu_info for a given vCPU resides at the
5346-
"default" location in the shared_info page. This is because KVM is
5347-
not aware of the Xen CPU id which is used as the index into the
5348-
vcpu_info[] array, so cannot know the correct default location.
5346+
"default" location in the shared_info page. This is because KVM may
5347+
not be aware of the Xen CPU id which is used as the index into the
5348+
vcpu_info[] array, so may know the correct default location.
53495349

53505350
Note that the shared info page may be constantly written to by KVM;
53515351
it contains the event channel bitmap used to deliver interrupts to
@@ -5356,23 +5356,29 @@ KVM_XEN_ATTR_TYPE_SHARED_INFO
53565356
any vCPU has been running or any event channel interrupts can be
53575357
routed to the guest.
53585358

5359+
Setting the gfn to KVM_XEN_INVALID_GFN will disable the shared info
5360+
page.
5361+
53595362
KVM_XEN_ATTR_TYPE_UPCALL_VECTOR
53605363
Sets the exception vector used to deliver Xen event channel upcalls.
53615364
This is the HVM-wide vector injected directly by the hypervisor
53625365
(not through the local APIC), typically configured by a guest via
5363-
HVM_PARAM_CALLBACK_IRQ.
5366+
HVM_PARAM_CALLBACK_IRQ. This can be disabled again (e.g. for guest
5367+
SHUTDOWN_soft_reset) by setting it to zero.
53645368

53655369
KVM_XEN_ATTR_TYPE_EVTCHN
53665370
This attribute is available when the KVM_CAP_XEN_HVM ioctl indicates
53675371
support for KVM_XEN_HVM_CONFIG_EVTCHN_SEND features. It configures
53685372
an outbound port number for interception of EVTCHNOP_send requests
5369-
from the guest. A given sending port number may be directed back
5370-
to a specified vCPU (by APIC ID) / port / priority on the guest,
5371-
or to trigger events on an eventfd. The vCPU and priority can be
5372-
changed by setting KVM_XEN_EVTCHN_UPDATE in a subsequent call,
5373-
but other fields cannot change for a given sending port. A port
5374-
mapping is removed by using KVM_XEN_EVTCHN_DEASSIGN in the flags
5375-
field.
5373+
from the guest. A given sending port number may be directed back to
5374+
a specified vCPU (by APIC ID) / port / priority on the guest, or to
5375+
trigger events on an eventfd. The vCPU and priority can be changed
5376+
by setting KVM_XEN_EVTCHN_UPDATE in a subsequent call, but but other
5377+
fields cannot change for a given sending port. A port mapping is
5378+
removed by using KVM_XEN_EVTCHN_DEASSIGN in the flags field. Passing
5379+
KVM_XEN_EVTCHN_RESET in the flags field removes all interception of
5380+
outbound event channels. The values of the flags field are mutually
5381+
exclusive and cannot be combined as a bitmask.
53765382

53775383
KVM_XEN_ATTR_TYPE_XEN_VERSION
53785384
This attribute is available when the KVM_CAP_XEN_HVM ioctl indicates
@@ -5388,7 +5394,7 @@ KVM_XEN_ATTR_TYPE_RUNSTATE_UPDATE_FLAG
53885394
support for KVM_XEN_HVM_CONFIG_RUNSTATE_UPDATE_FLAG. It enables the
53895395
XEN_RUNSTATE_UPDATE flag which allows guest vCPUs to safely read
53905396
other vCPUs' vcpu_runstate_info. Xen guests enable this feature via
5391-
the VM_ASST_TYPE_runstate_update_flag of the HYPERVISOR_vm_assist
5397+
the VMASST_TYPE_runstate_update_flag of the HYPERVISOR_vm_assist
53925398
hypercall.
53935399

53945400
4.127 KVM_XEN_HVM_GET_ATTR
@@ -5446,15 +5452,18 @@ KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO
54465452
As with the shared_info page for the VM, the corresponding page may be
54475453
dirtied at any time if event channel interrupt delivery is enabled, so
54485454
userspace should always assume that the page is dirty without relying
5449-
on dirty logging.
5455+
on dirty logging. Setting the gpa to KVM_XEN_INVALID_GPA will disable
5456+
the vcpu_info.
54505457

54515458
KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO
54525459
Sets the guest physical address of an additional pvclock structure
54535460
for a given vCPU. This is typically used for guest vsyscall support.
5461+
Setting the gpa to KVM_XEN_INVALID_GPA will disable the structure.
54545462

54555463
KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR
54565464
Sets the guest physical address of the vcpu_runstate_info for a given
54575465
vCPU. This is how a Xen guest tracks CPU state such as steal time.
5466+
Setting the gpa to KVM_XEN_INVALID_GPA will disable the runstate area.
54585467

54595468
KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT
54605469
Sets the runstate (RUNSTATE_running/_runnable/_blocked/_offline) of
@@ -5487,15 +5496,17 @@ KVM_XEN_VCPU_ATTR_TYPE_TIMER
54875496
This attribute is available when the KVM_CAP_XEN_HVM ioctl indicates
54885497
support for KVM_XEN_HVM_CONFIG_EVTCHN_SEND features. It sets the
54895498
event channel port/priority for the VIRQ_TIMER of the vCPU, as well
5490-
as allowing a pending timer to be saved/restored.
5499+
as allowing a pending timer to be saved/restored. Setting the timer
5500+
port to zero disables kernel handling of the singleshot timer.
54915501

54925502
KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR
54935503
This attribute is available when the KVM_CAP_XEN_HVM ioctl indicates
54945504
support for KVM_XEN_HVM_CONFIG_EVTCHN_SEND features. It sets the
54955505
per-vCPU local APIC upcall vector, configured by a Xen guest with
54965506
the HVMOP_set_evtchn_upcall_vector hypercall. This is typically
54975507
used by Windows guests, and is distinct from the HVM-wide upcall
5498-
vector configured with HVM_PARAM_CALLBACK_IRQ.
5508+
vector configured with HVM_PARAM_CALLBACK_IRQ. It is disabled by
5509+
setting the vector to zero.
54995510

55005511

55015512
4.129 KVM_XEN_VCPU_GET_ATTR
@@ -6577,11 +6588,6 @@ Please note that the kernel is allowed to use the kvm_run structure as the
65776588
primary storage for certain register types. Therefore, the kernel may use the
65786589
values in kvm_run even if the corresponding bit in kvm_dirty_regs is not set.
65796590

6580-
::
6581-
6582-
};
6583-
6584-
65856591

65866592
6. Capabilities that can be enabled on vCPUs
65876593
============================================

0 commit comments

Comments
 (0)