Commit graph

1,105,074 commits

Author SHA1 Message Date
Michael Roth
76f61e1e89 x86/compressed/64: Add identity mapping for Confidential Computing blob
The run-time kernel will need to access the Confidential Computing blob
very early during boot to access the CPUID table it points to. At that
stage, it will be relying on the identity-mapped page table set up by
the boot/compressed kernel, so make sure the blob and the CPUID table it
points to are mapped in advance.

  [ bp: Massage. ]

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-38-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
a9ee679b1f x86/compressed: Export and rename add_identity_map()
SEV-specific code will need to add some additional mappings, but doing
this within ident_map_64.c requires some SEV-specific helpers to be
exported and some SEV-specific struct definitions to be pulled into
ident_map_64.c. Instead, export add_identity_map() so SEV-specific (and
other subsystem-specific) code can be better contained outside of
ident_map_64.c.

While at it, rename the function to kernel_add_identity_map(), similar
to the kernel_ident_mapping_init() function it relies upon.

No functional changes.

Suggested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-37-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
5f211f4fc4 x86/compressed: Use firmware-validated CPUID leaves for SEV-SNP guests
SEV-SNP guests will be provided the location of special 'secrets'
'CPUID' pages via the Confidential Computing blob. This blob is
provided to the boot kernel either through an EFI config table entry,
or via a setup_data structure as defined by the Linux Boot Protocol.

Locate the Confidential Computing from these sources and, if found,
use the provided CPUID page/table address to create a copy that the
boot kernel will use when servicing CPUID instructions via a #VC CPUID
handler.

  [ bp: s/cpuid/CPUID/ ]

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-36-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
c01fce9cef x86/compressed: Add SEV-SNP feature detection/setup
Initial/preliminary detection of SEV-SNP is done via the Confidential
Computing blob. Check for it prior to the normal SEV/SME feature
initialization, and add some sanity checks to confirm it agrees with
SEV-SNP CPUID/MSR bits.

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-35-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
8c9c509baf x86/boot: Add a pointer to Confidential Computing blob in bootparams
The previously defined Confidential Computing blob is provided to the
kernel via a setup_data structure or EFI config table entry. Currently,
these are both checked for by boot/compressed kernel to access the CPUID
table address within it for use with SEV-SNP CPUID enforcement.

To also enable that enforcement for the run-time kernel, similar
access to the CPUID table is needed early on while it's still using
the identity-mapped page table set up by boot/compressed, where global
pointers need to be accessed via fixup_pointer().

This isn't much of an issue for accessing setup_data, and the EFI config
table helper code currently used in boot/compressed *could* be used in
this case as well since they both rely on identity-mapping. However, it
has some reliance on EFI helpers/string constants that would need to be
accessed via fixup_pointer(), and fixing it up while making it shareable
between boot/compressed and run-time kernel is fragile and introduces a
good bit of ugliness.

Instead, add a boot_params->cc_blob_address pointer that the
boot/compressed kernel can initialize so that the run-time kernel can
access the CC blob from there instead of re-scanning the EFI config
table.

Also document these in Documentation/x86/zero-page.rst. While there,
add missing documentation for the acpi_rsdp_addr field, which serves a
similar purpose in providing the run-time kernel a pointer to the ACPI
RSDP table so that it does not need to [re-]scan the EFI configuration
table.

  [ bp: Fix typos, massage commit message. ]

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-34-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
ee0bfa08a3 x86/compressed/64: Add support for SEV-SNP CPUID table in #VC handlers
CPUID instructions generate a #VC exception for SEV-ES/SEV-SNP guests,
for which early handlers are currently set up to handle. In the case
of SEV-SNP, guests can use a configurable location in guest memory
that has been pre-populated with a firmware-validated CPUID table to
look up the relevant CPUID values rather than requesting them from
hypervisor via a VMGEXIT. Add the various hooks in the #VC handlers to
allow CPUID instructions to be handled via the table. The code to
actually configure/enable the table will be added in a subsequent
commit.

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-33-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
801baa693c x86/sev: Move MSR-based VMGEXITs for CPUID to helper
This code will also be used later for SEV-SNP-validated CPUID code in
some cases, so move it to a common helper.

While here, also add a check to terminate in cases where the CPUID
function/subfunction is indexed and the subfunction is non-zero, since
the GHCB MSR protocol does not support non-zero subfunctions.

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220307213356.2797205-32-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Michael Roth
b66370db9a KVM: x86: Move lookup of indexed CPUID leafs to helper
Determining which CPUID leafs have significant ECX/index values is
also needed by guest kernel code when doing SEV-SNP-validated CPUID
lookups. Move this to common code to keep future updates in sync.

Signed-off-by: Michael Roth <michael.roth@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Venu Busireddy <venu.busireddy@oracle.com>
Link: https://lore.kernel.org/r/20220307213356.2797205-31-brijesh.singh@amd.com
2022-04-07 16:47:11 +02:00
Brijesh Singh
5ea98e01ab x86/boot: Add Confidential Computing type to setup_data
While launching encrypted guests, the hypervisor may need to provide
some additional information during the guest boot. When booting under an
EFI-based BIOS, the EFI configuration table contains an entry for the
confidential computing blob that contains the required information.

To support booting encrypted guests on non-EFI VMs, the hypervisor
needs to pass this additional information to the guest kernel using a
different method.

For this purpose, introduce SETUP_CC_BLOB type in setup_data to hold
the physical address of the confidential computing blob location. The
boot loader or hypervisor may choose to use this method instead of an
EFI configuration table. The CC blob location scanning should give
preference to a setup_data blob over an EFI configuration table.

In AMD SEV-SNP, the CC blob contains the address of the secrets and
CPUID pages. The secrets page includes information such as a VM to PSP
communication key and the CPUID page contains PSP-filtered CPUID values.
Define the AMD SEV confidential computing blob structure.

While at it, define the EFI GUID for the confidential computing blob.

  [ bp: Massage commit message, mark struct __packed. ]

Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20220307213356.2797205-30-brijesh.singh@amd.com
2022-04-07 16:46:33 +02:00
Chuck Lever
4d5004451a SUNRPC: Fix the svc_deferred_event trace class
Fix a NULL deref crash that occurs when an svc_rqst is deferred
while the sunrpc tracing subsystem is enabled. svc_revisit() sets
dr->xprt to NULL, so it can't be relied upon in the tracepoint to
provide the remote's address.

Unfortunately we can't revert the "svc_deferred_class" hunk in
commit ece200ddd5 ("sunrpc: Save remote presentation address in
svc_xprt for trace events") because there is now a specific check
of event format specifiers for unsafe dereferences. The warning
that check emits is:

  event svc_defer_recv has unsafe dereference of argument 1

A "%pISpc" format specifier with a "struct sockaddr *" is indeed
flagged by this check.

Instead, take the brute-force approach used by the svcrdma_qp_error
tracepoint. Convert the dr::addr field into a presentation address
in the TP_fast_assign() arm of the trace event, and store that as
a string. This fix can be backported to -stable kernels.

In the meantime, commit c6ced22997 ("tracing: Update print fmt
check to handle new __get_sockaddr() macro") is now in v5.18, so
this wonky fix can be replaced with __sockaddr() and friends
properly during the v5.19 merge window.

Fixes: ece200ddd5 ("sunrpc: Save remote presentation address in svc_xprt for trace events")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2022-04-07 10:22:51 -04:00
zhenwei pi
98ea02597b mm/rmap: Fix handling of hugetlbfs pages in page_vma_mapped_walk
page_mapped_in_vma() sets nr_pages to 1, which is usually correct as we
only want to know about the precise page and not about other pages in
the folio.  However, hugetlbfs does want to know about the entire hpage,
and using nr_pages to get the size of the hpage is wrong.  We could
change page_mapped_in_vma() to special-case hugetlbfs pages, but it's
better to ignore nr_pages in page_vma_mapped_walk() and get the size
from the VMA instead.

Fixes: 2aff7a4755 ("mm: Convert page_vma_mapped_walk to work on PFNs")
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
[edit commit message, use hstate directly]
2022-04-07 10:11:20 -04:00
Matthew Wilcox (Oracle)
ec4858e07e mm/mempolicy: Use vma_alloc_folio() in new_page()
Simplify new_page() by unifying the THP and base page cases, and
handle orders other than 0 and HPAGE_PMD_ORDER correctly.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
2022-04-07 09:43:41 -04:00
Matthew Wilcox (Oracle)
f584b68005 mm: Add vma_alloc_folio()
This wrapper around alloc_pages_vma() calls prep_transhuge_page(),
removing the obligation from the caller.  This is in the same spirit
as __folio_alloc().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
2022-04-07 09:43:41 -04:00
Matthew Wilcox (Oracle)
c185e494ae mm/migrate: Use a folio in migrate_misplaced_transhuge_page()
Unify alloc_misplaced_dst_page() and alloc_misplaced_dst_page_thp().
Removes an assumption that compound pages are HPAGE_PMD_ORDER.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
2022-04-07 09:43:41 -04:00
Matthew Wilcox (Oracle)
ffe06786b5 mm/migrate: Use a folio in alloc_migration_target()
This removes an assumption that a large folio is HPAGE_PMD_ORDER
as well as letting us remove the call to prep_transhuge_page()
and a few hidden calls to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
2022-04-07 09:43:41 -04:00
Matthew Wilcox (Oracle)
83a8441f8d mm/huge_memory: Avoid calling pmd_page() on a non-leaf PMD
Calling try_to_unmap() with TTU_SPLIT_HUGE_PMD and a folio that's not
mapped by a PMD causes oopses on arm64 because we now call page_folio()
on an invalid page.  pmd_page() returns a valid page for non-leaf PMDs on
some architectures, so this bug escaped testing before now.  Fix this bug
by delaying the call to pmd_page() until after we know the PMD is a leaf.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=215804
Fixes: af28a988b3 ("mm/huge_memory: Convert __split_huge_pmd() to take a folio")
Reported-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Tested-by: Zorro Lang <zlang@redhat.com>
2022-04-07 09:43:41 -04:00
Javier Martinez Canillas
be273ecfbe
drm/vc4: Use newer fence API properly to fix build errors
The commit 73511edf8b ("dma-buf: specify usage while adding fences to
dma_resv obj v7") ported all the DRM drivers to use the newer fence API
that specifies the usage with the enum dma_resv_usage rather than doing
an explicit shared / exclusive distinction.

But the commit didn't do it properly in two callers of the vc4 driver,
leading to build errors.

Fixes: 73511edf8b ("dma-buf: specify usage while adding fences to dma_resv obj v7")
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407131950.915091-1-javierm@redhat.com
2022-04-07 15:26:06 +02:00
Chen-Yu Tsai
7cee157b42
drm/ssd130x: Add support for SINO WEALTH SH1106
The SINO WEALTH SH1106 is an OLED display driver that is somewhat
compatible with the SSD1306. It supports a slightly wider display,
at 132 instead of 128 pixels. The basic commands are the same, but
the SH1106 doesn't support the horizontal or vertical address modes.

Add support for this display driver. The default values for some of
the hardware settings are taken from the datasheet.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220406172956.3953-5-wens@kernel.org
2022-04-07 15:26:04 +02:00
Chen-Yu Tsai
b0daaa5cfa
drm/ssd130x: Support page addressing mode
On the SINO WEALTH SH1106, which is mostly compatible with the SSD1306,
only the basic page addressing mode is supported. This addressing mode
is not as easy to use compared to the currently supported horizontal
addressing mode, as the page address has to be set prior to writing
out each page, and each page must be written out separately as a result.
Also, there is no way to force the column address to wrap around early,
thus the column address must also be reset for each page to be accurate.

Add support for this addressing mode, with a flag to choose it. This
flag is designed to be set from the device info data structure, but
can be extended to be explicitly forced on through a device tree
property if such a need arises.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220406172956.3953-4-wens@kernel.org
2022-04-07 15:26:02 +02:00
Chen-Yu Tsai
97a40c23cd
dt-bindings: display: ssd1307fb: Add entry for SINO WEALTH SH1106
The SINO WEALTH SH1106 is an OLED display driver that is somewhat
compatible with the SSD1306. It supports a slightly wider display,
at 132 instead of 128 pixels. The basic commands are the same, but
the SH1106 doesn't support the horizontal or vertical address modes.

Add a compatible string for it.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220406172956.3953-3-wens@kernel.org
2022-04-07 15:26:00 +02:00
Chen-Yu Tsai
2f073eb412
dt-bindings: vendor-prefixes: Add prefix for SINO WEALTH Eletronics Ltd.
Add a vendor prefix entry for SINO WEALTH Eletronics Ltd.
(http://www.sinowealth.com).

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220406172956.3953-2-wens@kernel.org
2022-04-07 15:25:58 +02:00
Ashutosh Dixit
56758cc459 drm/i915/rps: Centralize computation of freq caps
Freq caps (i.e. RP0, RP1 and RPn frequencies) are read from HW. However the
formats (bit positions, widths, registers and units) of these vary for
different generations with even more variations arriving in the future. In
order not to have to do identical computation for these caps in multiple
places, here we centralize the computation of these caps. This makes the
code cleaner and also more extensible for the future.

v2: Clarify that caps are in "hw units" in comments (Lucas De Marchi)
v3: Minor checkpatch fix
v4: s/intel_rps_get_freq_caps/gen6_rps_get_freq_caps/ (Badal Nilawar)
v5: Changes comments to kernel doc (Anshuman Gupta)

Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Acked-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220406191848.20895-1-ashutosh.dixit@intel.com
2022-04-07 18:55:08 +05:30
Reto Buerki
59b18a1e65 x86/msi: Fix msi message data shadow struct
The x86 MSI message data is 32 bits in total and is either in
compatibility or remappable format, see Intel Virtualization Technology
for Directed I/O, section 5.1.2.

Fixes: 6285aa5073 ("x86/msi: Provide msi message shadow structs")
Co-developed-by: Adrian-Ken Rueegsegger <ken@codelabs.ch>
Signed-off-by: Adrian-Ken Rueegsegger <ken@codelabs.ch>
Signed-off-by: Reto Buerki <reet@codelabs.ch>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220407110647.67372-1-reet@codelabs.ch
2022-04-07 15:19:32 +02:00
Christian König
807ff7ed34 futex: add missing rtmutex.h include
This isn't included here any more since the removal of ww_mutex.h from
seqlock.h which causes a build break.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Shashank Sharma <shashank.sharma@amd.com>
Fixes: e84815cbbc ("seqlock: drop seqcount_ww_mutex_t")
Link: https://patchwork.freedesktop.org/patch/msgid/20220407114619.961750-1-christian.koenig@amd.com
2022-04-07 15:09:12 +02:00
Mark Brown
266d57dd43
regulator Add Richtek RT5759 buck converter support
Merge series from cy_huang <u0084500@gmail.com>:

This patch series add Richtek RT5759 buck converter support.
2022-04-07 13:52:16 +01:00
GUO Zihua
891163adf1 ima: remove the IMA_TEMPLATE Kconfig option
The original 'ima' measurement list template contains a hash, defined
as 20 bytes, and a null terminated pathname, limited to 255
characters.  Other measurement list templates permit both larger hashes
and longer pathnames.  When the "ima" template is configured as the
default, a new measurement list template (ima_template=) must be
specified before specifying a larger hash algorithm (ima_hash=) on the
boot command line.

To avoid this boot command line ordering issue, remove the legacy "ima"
template configuration option, allowing it to still be specified on the
boot command line.

The root cause of this issue is that during the processing of ima_hash,
we would try to check whether the hash algorithm is compatible with the
template. If the template is not set at the moment we do the check, we
check the algorithm against the configured default template. If the
default template is "ima", then we reject any hash algorithm other than
sha1 and md5.

For example, if the compiled default template is "ima", and the default
algorithm is sha1 (which is the current default). In the cmdline, we put
in "ima_hash=sha256 ima_template=ima-ng". The expected behavior would be
that ima starts with ima-ng as the template and sha256 as the hash
algorithm. However, during the processing of "ima_hash=",
"ima_template=" has not been processed yet, and hash_setup would check
the configured hash algorithm against the compiled default: ima, and
reject sha256. So at the end, the hash algorithm that is actually used
will be sha1.

With template "ima" removed from the configured default, we ensure that
the default tempalte would at least be "ima-ng" which allows for
basically any hash algorithm.

This change would not break the algorithm compatibility checks for IMA.

Fixes: 4286587dcc ("ima: add Kconfig default measurement list template")
Signed-off-by: GUO Zihua <guozihua@huawei.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
2022-04-07 08:48:20 -04:00
Arnd Bergmann
475acef9ed Reset controller fixes for v5.18
Document the deprecated 'hisi,rst-syscon' device tree property for
 hisilicon,hi3660-reset, add an error check to reset deassertion in
 reset-rzg2l-usbphy-ctrl, restore transfer error handling in Tegra
 reset-bpmp, and document the optional 'resets' device tree property
 for socionext,uniphier-reset.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCYk2xMxcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwNoCAQDzNzAsRRr1bga6xQ5pEGVrWRKz
 9IsRpS8pSKT5H1/I3QD/SjfZZOzHSpSUn6T74lUpCK/pxbFMJKX7OTWEC0Y4MQA=
 =cyfZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJO22QACgkQmmx57+YA
 GNkVHw/+MSQOCRKg8vPEw/o2HTP+/mE+WE2CEYgAUiZIdDvY1N71XcZ3DjpxnpDV
 V2r5JJu90gja8th63fYJdn1Ga6q8SLgS4eVe99rTSx/TPxskOklaq+nJyaKaOMPk
 E9kmG50HZlta0z/As2HAlwzLL4HIeB2F0PHgiBqdWmSzCPN4/WemC3XXUbgVXgdD
 1Z/05aAAnZl7oGpD9QPfRXw2t+palaAy1MIczurtjSIVq5uPusq1krEsFtvUU1Nw
 QLWP73Pl+XzBLxW5qrlD4K88CiX+svmcDb+TA0eGjF+haMqaO6BajEWeCDKRdchP
 KDvvBH5h2mOzCl0IDkGIoggeqc5/fyaBOykYDAoW79CgBi6+qP8zF1WfOlJW8Pqr
 iNMb8wH1z1xNZN1nMoQ+/nxeJPN7bZYq6Mfnzjc8ZHemxksSsbl+4ICoJGl4yxGV
 fLr2adn5bIZYS87fD5KjmHNWdl/e5oU35/V2VIJ0ZfH9J9q5ty+tossvljEaCS0n
 RDJMHUp9WpiZBczBt4EKEwW4ywvC/tFVdiL/WBs7Dtc/r7Zpdn4tpflBrhWGiGtK
 PumaMADLTL9qORPWGE3OoTl2+CHt6XV+L4RYzmVBsRHOsUa9QZY/M8VLsXYE+m0E
 1bW0wNhDkFwpuX7ud1W40ZntOzIIrzGcEKxR0SRtP4ryU/+Gug0=
 =uf8k
 -----END PGP SIGNATURE-----

Merge tag 'reset-fixes-for-v5.18' of git://git.pengutronix.de/pza/linux into arm/fixes

Reset controller fixes for v5.18

Document the deprecated 'hisi,rst-syscon' device tree property for
hisilicon,hi3660-reset, add an error check to reset deassertion in
reset-rzg2l-usbphy-ctrl, restore transfer error handling in Tegra
reset-bpmp, and document the optional 'resets' device tree property
for socionext,uniphier-reset.

* tag 'reset-fixes-for-v5.18' of git://git.pengutronix.de/pza/linux:
  dt-bindings: reset: Add parent "resets" property as optional
  reset: tegra-bpmp: Restore Handle errors in BPMP response
  reset: renesas: Check return value of reset_control_deassert()
  dt-bindings: reset: document deprecated HiSilicon property

Link: https://lore.kernel.org/r/20220406153337.1265414-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:39:00 +02:00
Marek Vasut
73ab99aad5 ARM: dts: stm32: Switch DWMAC RMII clock to MCO2 on DHCOM
The DHCOM SoM has two options for supplying ETHRX clock to the DWMAC
block and PHY. Either (1) ETHCK_K generates 50 MHz clock on ETH_CLK
pad for the PHY and the same 50 MHz clock are fed back to ETHRX via
internal eth_clk_fb clock connection OR (2) ETH_CLK is not used at
all, MCO2 generates 50 MHz clock on MCO2 output pad for the PHY and
the same MCO2 clock are fed back into ETHRX via ETH_RX_CLK input pad
using external pad-to-pad connection.

Option (1) has two downsides. ETHCK_K is supplied directly from either
PLL3_Q or PLL4_P, hence the PLL output is limited to exactly 50 MHz and
since the same PLL output is also used to supply SDMMC blocks, the
performance of SD and eMMC access is affected. The second downside is
that using this option, the EMI of the SoM is higher.

Option (2) solves both of those problems, so implement it here. In this
case, the PLL4_P is no longer limited and can be operated faster, at
100 MHz, which improves SDMMC performance (read performance is improved
from ~41 MiB/s to ~57 MiB/s with dd if=/dev/mmcblk1 of=/dev/null bs=64M
count=1). The EMI interference also decreases.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christophe Roullier <christophe.roullier@foss.st.com>
Cc: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Tested-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2022-04-07 14:29:40 +02:00
Marek Vasut
f6f39403ce ARM: dts: stm32: Add alternate pinmux for mco2 pins
Add pinmux option for MCO2 pin. This is used on DHCOM when the
ethernet PHY 50 MHz clock is generated by the MCO2 on PG2 pin.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christophe Roullier <christophe.roullier@foss.st.com>
Cc: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Tested-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2022-04-07 14:29:40 +02:00
Marek Vasut
7828494f78 ARM: dts: stm32: Add alternate pinmux for ethernet0 pins
Add another mux option for ethernet0 pins, this is used on DHCOM when
the ethernet PHY 50 MHz clock is generated by the MCO2 on PG2 pin and
then fed back via PA1 pin.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christophe Roullier <christophe.roullier@foss.st.com>
Cc: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Tested-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2022-04-07 14:29:40 +02:00
Rob Herring
bc2fb47db5
arm/arm64: dts: qcom: Fix boolean properties with values
Boolean properties in DT are present or not present and don't take a value.
A property such as 'foo = <0>;' evaluated to true. IOW, the value doesn't
matter.

It may have been intended that 0 values are false, but there is no change
in behavior with this patch.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/Yk3m92Sj26/v1mLG@robh.at.kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:04:36 +02:00
Rob Herring
1bc12d3015
arm64: dts: imx: Fix imx8*-var-som touchscreen property sizes
The common touchscreen properties are all 32-bit, not 16-bit. These
properties must not be too important as they are all ignored in case of an
error reading them.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/Yk3moe6Hz8ELM0iS@robh.at.kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:04:33 +02:00
Rob Herring
3b881035e9
arm: dts: imx: Fix boolean properties with values
Boolean properties in DT are present or not present and don't take a value.
A property such as 'foo = <0>;' evaluated to true. IOW, the value doesn't
matter.

It may have been intended that 0 values are false, but there is no change
in behavior with this patch.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/Yk3mR5yae3gCkKhp@robh.at.kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:03:32 +02:00
Rob Herring
1a67653de0
arm64: dts: tegra: Fix boolean properties with values
Boolean properties in DT are present or not present and don't take a value.
A property such as 'foo = <0>;' evaluated to true. IOW, the value doesn't
matter.

It may have been intended that 0 values are false, but there is no change
in behavior with this patch.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/Yk3nShkFzNJaI3/Z@robh.at.kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:03:02 +02:00
Rob Herring
0dc23d1a8e
arm: dts: at91: Fix boolean properties with values
Boolean properties in DT are present or not present and don't take a value.
A property such as 'foo = <0>;' evaluated to true. IOW, the value doesn't
matter.

It may have been intended that 0 values are false, but there is no change
in behavior with this patch.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/Yk3leykDEKGBN8rk@robh.at.kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 14:02:25 +02:00
Jonathan Cameron
1f5fb1dc74
arm: configs: imote2: Drop defconfig as board support dropped.
Missed the defconfig when removing the board files causing
failures in builds using this defconfig.

Fixes: 28f74201e3 ("ARM: pxa: remove Intel Imote2 and Stargate 2 boards")
Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20220405135252.10283-1-Jonathan.Cameron@huawei.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:58:36 +02:00
Arnd Bergmann
44e4a2c756 Memory controller drivers - fixes for v5.18
Issues in v5.18:
 1. Freescale/NXP: fix populating children of Integrated Flash Controller
    DT nodes.
 
 Issues existing before:
 1. Renesas: fix platform-device leak in probe's error path.
 2. Atmel: fix of_node reference leak in probe's error path.
 3. Synopsys: correct the bindings for snps,ddrc-3.80a (interrupts are
    required).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmJOnPsQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD18r3D/sHivcq0Vq2nWC5IUcpAzL/WaF1H/rMHnE+
 Y/gQxormQ6u/eBhfiHG4o6sLm4io8YJzCCvsnDnM//GExrUHJHohy5bGOGiSGRi3
 lF0UWWQAWVyxIuF058gtzPuNmjZTH7VJnAIA/TNAvnQIt34269VxcdIFTIICLESo
 jUiZ3nswDBuS/9CQM/L2F3XBnmK2foSZIJFGNK5uNDWMyOlY2NTuejC0fs8uXFuh
 14B3OwKm4LOhshGrwBGfJS0k6VxINDKGeZ6yslYEx8s/CFqTwCTsdgEgxjX5zfuA
 CKZjZCC9neZIdOP8tAgx8lfR4shWTf5jXkW1FXOGzvRfnKCVZeebqSUkUMQo3VuK
 zMeHb6iYtj9F+F0kqhlb67UtATv/0C7zFEYej8YD764SXnPl20NEVR+SrzaQtyLO
 V6G0Xc19pf9rnUIA0XiEF9yNXdOGswANqucHTl6+oOt3vwT0iT+kzzgQBC2Ucl1u
 eHLeyTTTdFKTvWuzcKK97h3/N80T/U2FMoJgIzgU9ajCkyQrWEdoCZrUqS93TA1I
 wALsZWqgvu6PLeUcSHCIdGPI+VktloIDKi/wlttOttBN38W1WwuyHZTt52zEmA2P
 /rPScCVf3IEn0rtC6EP+gZ2SYbC0LCsgs5vmpvfgoxVIGA3+lmSoKmUprFWG6Z86
 ZclVVBMV4g==
 =1KGr
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJO0doACgkQmmx57+YA
 GNlkDg/+KbDojSclosmC90vGT/dfgQ5Vj3e/frFTyQN/Dd28cnJLz4agoleWz/TD
 ouazIm8OKSt35qsn1CgnWn/h3gpvn6U2/Ejms//69tJdPfTRa3Hv0fnHo//It9co
 LQgTtXSlf69wA89YnDS1VXryjKJJXvyxoNeEv0CUmM81p01kH17LCOgnDKJSDKIK
 YKnPGE+SLOOUDyF4/0Fy6pihk8mBczkO5jnZAqnILfYdaYbG2BYS0mPdKWaSR2fa
 9oLeM9CcUSYw/k5e1O+WoXiXQnaauINTgtn7sIcaCxo8DF7FwHiHUCi+vm0HwyWm
 c0ziqA1c2Tx8DVGLrq7ex3v5O89jPdkBI70SsOHEiqw5v3znTjpWbvcFX64V8rVv
 ZJg0i/j2xBX8eazlV1q+ssachMe+1r5CjZPaW0e70xFlr3HEKRG7Wiu0dUHhQ0RC
 BIVb5cMJvMGCxbkwWaPPasq0q78KnCDThVHWahJskc1KHhKI49LqF6BQMJQvGG3u
 n9+4OI0AI+WLspB8g4eRaS2/VBHndeDt3yhY7nz/tdacUa9xNJfzNpcLqlPrdiwA
 niyRhuQInIE1h7iut2iPTwG6LVLE9HjQy2sGYwZg392Mhk6Ugf61uArKu2WCw/Kf
 Si5rj3nbbCJvnxakuNtekbQVP4kLgWqmYRLSpcYzbcUQOX92nKw=
 =BmJv
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/fixes

Memory controller drivers - fixes for v5.18

Issues in v5.18:
1. Freescale/NXP: fix populating children of Integrated Flash Controller
   DT nodes.

Issues existing before:
1. Renesas: fix platform-device leak in probe's error path.
2. Atmel: fix of_node reference leak in probe's error path.
3. Synopsys: correct the bindings for snps,ddrc-3.80a (interrupts are
   required).

* tag 'memory-controller-drv-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: fsl_ifc: populate child nodes of buses and mfd devices
  dt-bindings: memory: snps,ddrc-3.80a compatible also need interrupts
  memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probe
  memory: renesas-rpc-if: fix platform-device leak in error path

Link: https://lore.kernel.org/r/20220407081448.113208-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:58:17 +02:00
Arnd Bergmann
02481c7b84 Samsung fixes for v5.18
Update Krzysztof Kozlowski's email address in multiple maintainer
 entries.  The old one @canonical.com bounces already.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmJOmwkQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD151nD/9P33/Ar3+8yN1SCkZieUT4BSVhtP9AKzIS
 fAPfDJLy3wp7+aQ89mTu04Y/023fPOjJ+lJWDn7pH2YyIr7vKcu6dK3mqLu8ygih
 Y7Vck9bnhUlGCDz/yXX+XZTea3YDsHqCq2vnRWLimxmlxG/0Z9gRG+kcldch3i7i
 6GrrWj/EZfJobJwpUjxZZKRPIXcUdRxH7z2fpmI2RrzNM3Y4HH1S4qEp2GdM7Um3
 tTKOq2llZELEBGsDUg6esA/pzOdhYJqm4Tc6zPlpZcOWCB3oXIBRGtdhmHVU82vj
 6/+Zd1OUic4aHprPjM2ZLMKUPfZHlFyn4H8Ay2yTXpuQFmcn/SGD0TFdaNxMeQ2Q
 mmnt9MVxtPh0wiMqLCQB8npFS1XLErFSWt5HJTz9LwQP16aD+8MW+DMn0bmfI5DD
 sPgYpk2eoHN02gF81m5coHikptpKA0QXdGBo4wxWNDZm/CuM7ByDq7rfqgotr3/G
 6761B3UENhz7s/PoTcxcgzGZAnuXWyg0bRt/2k8gXaaxMea6cATFFpwb27mP3BgX
 M9bCdDvNQukIWYqn1djUBq8Bp4LClJqVMqPHRPLaCqRs/kg+00PQlBTK92PuC5E0
 wWxdcWcoVzksAbVmNfw+UksPFmNnBMz6ThWcINobCuZ2bPC1HYYOLB11ERIN2SP0
 Rt8qSBgraQ==
 =E2Kb
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJO0ccACgkQmmx57+YA
 GNluQhAAkbrlVBgwR0EnvNCO3gip/HBX78J8p2RR7kuj3+LfldrT1N65hO0XP5tU
 GdweuT1zYN+NLVr7hvIKFjJKKOy/UXEG8tWfpO+ue/8WieQ8SZ7tK+9ijp6sXS/6
 ZZCTClKNuF+gUxSfIXyDG75shE+4sXteh/7vFzpSYBXzyP1qT3F7mHgSAc3lJcFy
 Ojq4tolGqUXT0QYAA/QDMx9YuaSVsl6NkClSMI1YZMG6CyiawL61ARap0zf8528d
 +bxAqGzh5RHNDkV0JCuCRbPDwCoE0OBcn4UgLP4OMqkPMMrjIURNxhx4klgDOzT7
 tUmxCf2tVHBBMIifMhNPGLQJzwqCu0B+bBKUOKd+2g0KoylhrJ6bmY7XQz/br2K7
 EKo/HrLkucTrjR1I2PCFEyYfcmV2p7hkIxt1QoLFjWi4eYf52YeOl8Lw44IQyB1V
 fSuOUDdMSwsQFT/nj8F5QVXF4rSYgCb84ReqFAa9n7CFtkmP4xWTMRelhPd7OkTq
 EC9f8GZFhC9dBvDDgyIM4qx3X+Y8m+Uv2QrCZf754/NO0bJiPn9pFeWmtuT4PS/7
 q9+lD7VViRiPw04UP1fKq0AFC//y+BMZqdW9NgopQig3F2wY1qbnFeU+ApBqK/1O
 Vvl8WCzglHBzab+qojxAxKneKk1nHvsAOW4hHjywfymSfSNzBik=
 =KjY6
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/fixes

Samsung fixes for v5.18

Update Krzysztof Kozlowski's email address in multiple maintainer
entries.  The old one @canonical.com bounces already.

* tag 'samsung-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: update Krzysztof Kozlowski's email to Linaro
  dt-bindings: update Krzysztof Kozlowski's email

Link: https://lore.kernel.org/r/20220407080545.112290-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:57:59 +02:00
Arnd Bergmann
bc22bb224b ARM Vexpress fixes for 5.18
Couple of fixes to address negative array index access and kernel-doc
 build warnings.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmJOtI4ACgkQAEG6vDF+
 4pjYUQ//aLqLGEFPLNe/Bvv9zBcpDBWRnQ6jbvCOgXZgP1kQOqCEGgV7p3JONTmY
 PHKa4RZuMn4HiJr9/ku+UQEYSLvzQ5Mzoe59hohsedxiB7UBP4bKaZas6MwO4rxY
 L0n1y1vSUp9nPjoBcQBL8GrOK7+IinIHyojWqV7iwHftUctqDpuLWIUQhHB/Fs0F
 vAH/4LPPnWmwzgZkrFJczxhaL7goTZFkXPrf/Tvu1J7vXE93t8/BHTOcckfGr9r1
 5V7l8SCzUGfVuT+LzbGfqNf0wejTvJAaa5YwKlb1wFaMIyMgESNrFoKBiJ0bdn3I
 t6CX55irLTpm2L0dz9el+nQ90m7ulPrRyIoMmpXZ9swpHNHpiw4a3UdzwGjiykMf
 YuP9rfKJXtGqwmwzSFxN7Xq53We2dAVujj+GJiFqZI4cY/r9+lDgvgUV/RaELdXc
 oyE2O2lsTvX+R5hvmGIzZ4dblAXTQv0bX8VZx1tmdgpcWV6rBug4qufccPGoYMrc
 XSmxbA4RZPr0XKBb5YYZTDNKw72wqtN2gzM1h6b3J58tvlOUQShdk46I88T3rN9I
 jwMlIJg49FquG3Q/iXEplwwM36CTUKE5KCspzpM2Q228b7nWFGALBywATMrpWssd
 CsR4U2vzJU9c/aeg0KxJwQOMR7M47ttEt/nWcPHB8C+Kwqe+ErQ=
 =RpzK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJO0aoACgkQmmx57+YA
 GNkexw/9HbhYKDty3TF9BZm/3r2ybnIpIb7X6FoSgS+bQviLMW7yaEN1FqgXmXVZ
 1b33tyX7CZ5zYBNDrfw1igEFiaY2nrxZdTNIRC7gv99khf7pzQLAkm9uWEr86eE6
 eIQBzxSu2hMurBcVaGqSO91kb2SYQ4Vh1JCOlvUm8YAisWcoCJEMspdE4EJiWEBg
 DGZ/EO5UbB/UkG+MBAG6VfTT5nkLZym9AMOX8TpdRR4ommpkHjoPcsoO0dZH66fV
 r1uaS0y9oBbLPzZAanlE4yW7Odqf365hHQt/jftJ7oCoTqtZdUucAVWxavR5ufGe
 Op9MwQ0jcV6J4EY6jYZr4PJ4z94OLm7b5fQ4mS1jJlOCFC0I+kmR2C29gxlfOKA6
 MFrh+ZyFQtkyaSW/P2uD4ShlW15z6xoKJy/5ifZOGhGKfpnxwmMkMCZM6/OPpJOL
 q9p4s6KxouBEB3u4Fmgxc5tFEnI7CyiWd4ohSigHX2DXjj+GcPhvVeVBoHUs8mPr
 fb0dXP2Zg5p4z3UIhdD2qkXxPvUi1tPa1FOEXXDOm3VDn4VhR69xnvVeTtaK2WiW
 S4jkKGTRUrt84iq1nIFgfAj0pDi0h6gP4wkRaKoBhZDBDi9ChXhzHrADc/xAOwB+
 PFmCJtJh0UjiqL5090obfESbjPedovoumzNx+I6KQ+2Q2zhAk98=
 =Cepb
 -----END PGP SIGNATURE-----

Merge tag 'vexpress-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

ARM Vexpress fixes for 5.18

Couple of fixes to address negative array index access and kernel-doc
build warnings.

* tag 'vexpress-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  ARM: vexpress/spc: Fix all the kernel-doc build warnings
  ARM: vexpress/spc: Fix kernel-doc build warning for ve_spc_cpu_in_wfi
  ARM: vexpress/spc: Avoid negative array index when !SMP

Link: https://lore.kernel.org/r/20220407110828.1436206-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:57:30 +02:00
Arnd Bergmann
f455742ae2 Arm SCMI firmware interface fixes for v5.18
Few fixes to address assorted set of issues:
 - Erroneous clearing of Tx channel which only platform firmware must do
 - Invalid point access pass as parameter to sort() in clock support
 - Sparse build warnings in OPTEE transport driver
 - Use of deprecated zero-length arrays
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmJOth0ACgkQAEG6vDF+
 4pjeYRAAofhmDzCPPKHkRKU44JZNtZVmKj6jPGrNeg0s2C8pvxVrltVVBIVFsMlm
 Dd3D70KvXOxjMIMP5/2GaGT8hU8wS4rNO2S9nrHnx06CozYGukLdewQN1WMIig+v
 RPSI8WOYcne0BP/WV4TCV+fmVPtMO+V/4ecOxFIqKz9KpSSI3FaoKJTM5DunZU8I
 XJm5qlxSCYytwdAnG9864dM/flWwsGOsB0a3HWkgtw3PG9VPDjFRJQiL4m+Y1WSv
 xph6+tsaFBnOTHgS9F+oRvMJEf/bQXjRp8kfLw+YEo2ZKn19ysQldcQvxODGKMKS
 YUyxJRXNp3BZxiYO3uy/7TDSUMm23Zuf2CzVwGo1qGGd+55eDS0sVUMVsyEQm6QZ
 zQz4Hh0pa7z58CFxTRdaKzFhw3rLvSq8TNfoHAeL0FSV9QUHCuuVoFrjY/wAlz0W
 n5SLiwubhJJd6WeeKWNqHftfLOPR/d7Ep0XdGCnzY29oAjTQPwTheunbLFt/OyRq
 CmaFq2Ql97gCTWlJRr04v9pVXoiaaZSHtvqC802S+2IL1ThWbY8gMcjbP6U3Vw7C
 kCmQNuhRz+8hch/h8kUTByQrDjtZOTcU8JXPUWjJ+W7ZCZthVjAIySX4WaTd0NDO
 IHREIgrVvTvWEC0N8rbDmKrZ3YZUk+iWKhG8cHwHZJYRTTiq86Y=
 =aF1+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJO0ZwACgkQmmx57+YA
 GNk63RAAwICxtxTmUh505H4UBYJ43JHxDZx0vozZ9R/OGejbxEtnT+4EdL3z8PY6
 2imJ8qT1BBSBvDDdO9vMV7kNNaIPTREXYW53umCeq8x8/yHFQx0gaD6xT+3ztC4o
 ezLRhB2uEKoPH3gY551JWS+zxrlY4xXFUaTqb6S8qNkATjw7tKDAPE8ZMI+bO56D
 7gi7A8gxtlNGgTp5eiALhk6LL+MgoNFagw0Cb9N5Jj37rhWuA85vF0lgGmo3B3K5
 68mXRSN9PTzqUOFJhAW+suyNwzcTpwXJHYw5LEb/76AQxAoBGbJQTIOHI/37hR0M
 66FzaM+824jjr5G5YPovpwPBT9tgEXY5CdPqHRup3j7bfeyHu+qA2+uu/GbhfQfu
 TfniMzjeafZ5bs2M+dWLUaSvR4M5ULAgDixs7qmL0klVn8l7ApO+0aAJzeYtCqtj
 DkaXEEsWKc70562S4Je7f36Pz0Z3Ct5Fqm+E3L77V0Wns8tCL2KH0sHPi/f+V3ku
 X/p7Jez+ptrUcqKT8vrudr3QssPn6yXOfa3QpNf6IqxBHA/MRl1pp3Rzor1xmc4v
 1S+7159KAUTQ+oKEqEZJxj1LaaJQOoXQj72YIw6ukEhgu5WnPp7E6Nb3DpWRoI2n
 Lr/cZiTN7GewUHt6A7Jyon2WEbj6y4y9ybKX5sLiceiSbQV8e5w=
 =RoBs
 -----END PGP SIGNATURE-----

Merge tag 'scmi-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

Arm SCMI firmware interface fixes for v5.18

Few fixes to address assorted set of issues:
- Erroneous clearing of Tx channel which only platform firmware must do
- Invalid point access pass as parameter to sort() in clock support
- Sparse build warnings in OPTEE transport driver
- Use of deprecated zero-length arrays

* tag 'scmi-fixes-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Fix sparse warnings in OPTEE transport driver
  firmware: arm_scmi: Replace zero-length array with flexible-array member
  firmware: arm_scmi: Fix sorting of retrieved clock rates
  firmware: arm_scmi: Remove clear channel call on the TX channel

Link: https://lore.kernel.org/r/20220407110818.1436181-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:57:16 +02:00
Alexander Sverdlin
caee01050b
ep93xx: clock: Don't use plain integer as NULL pointer
Fix sparse warning:
arch/arm/mach-ep93xx/clock.c:210:35: sparse: sparse: Using plain integer as NULL pointer

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Link: https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org/thread/TLFJ6D7WGMDJSQ6XK7UZE4XR2PLRZJSV/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:56:49 +02:00
Alexander Sverdlin
3b68b08885
ep93xx: clock: Fix UAF in ep93xx_clk_register_gate()
arch/arm/mach-ep93xx/clock.c:154:2: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
arch/arm/mach-ep93xx/clock.c:151:2: note: Taking true branch
if (IS_ERR(clk))
^
arch/arm/mach-ep93xx/clock.c:152:3: note: Memory is released
kfree(psc);
^~~~~~~~~~
arch/arm/mach-ep93xx/clock.c:154:2: note: Use of memory after it is freed
return &psc->hw;
^ ~~~~~~~~

Fixes: 9645ccc7bd ("ep93xx: clock: convert in-place to COMMON_CLK")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Cc: stable@vger.kernel.org
Link: https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org/thread/B5YCO2NJEXINCYE26Y255LCVMO55BGWW/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-04-07 13:55:52 +02:00
Christian König
e84815cbbc seqlock: drop seqcount_ww_mutex_t
Daniel pointed out that this series removes the last user of
seqcount_ww_mutex_t, so let's drop this.

Signed-off-by: Christian König <christian.koenig@amd.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Will Deacon <will@kernel.org>
Cc: Waiman Long <longman@redhat.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: linux-kernel@vger.kernel.org
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-16-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
8f94eda399 dma-buf: drop seq count based update
This should be possible now since we don't have the distinction
between exclusive and shared fences any more.

The only possible pitfall is that a dma_fence would be reused during the
RCU grace period, but even that could be handled with a single extra check.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-15-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
8bb3158782 drm/ttm: remove bo->moving
This is now handled by the DMA-buf framework in the dma_resv obj.

Also remove the workaround inside VMWGFX to update the moving fence.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-14-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
1d7f5e6c52 drm/i915: drop bo->moving dependency
That should now be handled by the common dma_resv framework.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-13-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
46b35b33cc dma-buf: wait for map to complete for static attachments
We have previously done that in the individual drivers but it is
more defensive to move that into the common code.

Dynamic attachments should wait for map operations to complete by themselves.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-12-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
0cc848a75b dma-buf: add DMA_RESV_USAGE_BOOKKEEP v3
Add an usage for submissions independent of implicit sync but still
interesting for memory management.

v2: cleanup the kerneldoc a bit
v3: separate amdgpu changes from this

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-10-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
61e55c6f5c RDMA: use DMA_RESV_USAGE_KERNEL
We only need to wait for kernel submissions here.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-9-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00
Christian König
91f0c245dd drm/radeon: use DMA_RESV_USAGE_KERNEL
Always wait for kernel fences before kmap and not only for UVD kmaps.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-7-christian.koenig@amd.com
2022-04-07 12:53:54 +02:00