Commit graph

1,189,500 commits

Author SHA1 Message Date
Florian-Ewald Mueller
4555211190 md/bitmap: Fix bitmap chunk size overflow issues
- limit bitmap chunk size internal u64 variable to values not overflowing
  the u32 bitmap superblock structure variable stored on persistent media
- assign bitmap chunk size internal u64 variable from unsigned values to
  avoid possible sign extension artifacts when assigning from a s32 value

The bug has been there since at least kernel 4.0.
Steps to reproduce it:
1: mdadm -C /dev/mdx -l 1 --bitmap=internal --bitmap-chunk=256M -e 1.2
-n2 /dev/rnbd1 /dev/rnbd2
2 resize member device rnbd1 and rnbd2 to 8 TB
3 mdadm --grow /dev/mdx --size=max

The bitmap_chunksize will overflow without patch.

Cc: stable@vger.kernel.org

Signed-off-by: Florian-Ewald Mueller <florian-ewald.mueller@ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:50 -08:00
Ye Bin
f97a5528b2 md: introduce md_ro_state
Introduce md_ro_state for mddev->ro, so it is easy to understand.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:50 -08:00
Ye Bin
2f6d261e15 md: factor out __md_set_array_info()
Factor out __md_set_array_info(). No functional change.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:50 -08:00
Giulio Benetti
42271ca389 lib/raid6: drop RAID6_USE_EMPTY_ZERO_PAGE
RAID6_USE_EMPTY_ZERO_PAGE is unused and hardcoded to 0, so let's drop it.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:50 -08:00
Uros Bizjak
9487a0f685 raid5-cache: use try_cmpxchg in r5l_wake_reclaim
Use try_cmpxchg instead of cmpxchg (*ptr, old, new) == old in
r5l_wake_reclaim. 86 CMPXCHG instruction returns success in ZF flag, so
this change saves a compare after cmpxchg (and related move instruction in
front of cmpxchg).

Also, try_cmpxchg implicitly assigns old *ptr value to "old" when cmpxchg
fails. There is no need to re-read the value in the loop.

Note that the value from *ptr should be read using READ_ONCE to prevent
the compiler from merging, refetching or reordering the read.

No functional change intended.

Cc: Song Liu <song@kernel.org>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:50 -08:00
Li Zhong
3bd548e5b8 drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
Check the return value of md_bitmap_get_counter() in case it returns
NULL pointer, which will result in a null pointer dereference.

v2: update the check to include other dereference

Signed-off-by: Li Zhong <floridsleeves@gmail.com>
Signed-off-by: Song Liu <song@kernel.org>
2022-11-14 09:35:49 -08:00
Konstantin Komarov
36963cf225
fs/ntfs3: Make if more readable
This way it looks better.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:49 +03:00
Konstantin Komarov
ec5fc72013
fs/ntfs3: Improve checking of bad clusters
Added new function wnd_set_used_safe.
Load $BadClus before $AttrDef instead of before $Bitmap.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:48 +03:00
Konstantin Komarov
60ce8dfde0
fs/ntfs3: Fix wrong if in hdr_first_de
We need to check used bytes instead of total.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:48 +03:00
Konstantin Komarov
97a6815e50
fs/ntfs3: Use ALIGN kernel macro
This way code will be more readable.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:47 +03:00
Konstantin Komarov
e31195a3ac
fs/ntfs3: Fix incorrect if in ntfs_set_acl_ex
We need to update ctime too with mode.
Fixes xfstest generic/307

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:47 +03:00
Konstantin Komarov
0e8235d28f
fs/ntfs3: Check fields while reading
Added new functions index_hdr_check and index_buf_check.
Now we check all stuff for correctness while reading from disk.
Also fixed bug with stale nfs data.

Reported-by: van fantasy <g1042620637@gmail.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:47 +03:00
Konstantin Komarov
6f80ed14d7
fs/ntfs3: Correct ntfs_check_for_free_space
zlen in some cases was bigger than correct value.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:46 +03:00
Konstantin Komarov
910013f7c7
fs/ntfs3: Restore correct state after ENOSPC in attr_data_get_block
Added new function ntfs_check_for_free_space.
Added undo mechanism in attr_data_get_block.
Fixes xfstest generic/083

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:46 +03:00
Konstantin Komarov
0ad9dfcb8d
fs/ntfs3: Changing locking in ntfs_rename
In some cases we can be in deadlock
because we tried to lock the same dir.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:45 +03:00
Konstantin Komarov
ad26a9c845
fs/ntfs3: Fixing wrong logic in attr_set_size and ntfs_fallocate
There were 2 problems:
- in some cases we lost dirty flag;
- cluster allocation can be called even when it wasn't needed.
Fixes xfstest generic/465

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:45 +03:00
Konstantin Komarov
2b108260ea
fs/ntfs3: atomic_open implementation
Added ntfs_atomic_open function.
Relaxed locking in ntfs_create_inode.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:45 +03:00
Konstantin Komarov
07f4aa9dd2
fs/ntfs3: Fix wrong indentations
Also simplifying code.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:44 +03:00
Konstantin Komarov
c380b52f6c
fs/ntfs3: Change new sparse cluster processing
Remove ntfs_sparse_cluster.
Zero clusters in attr_allocate_clusters.
Fixes xfstest generic/263

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:44 +03:00
Konstantin Komarov
2f56a3f8d8
fs/ntfs3: Fixing work with sparse clusters
Simplify logic in ntfs_extend_initialized_size, ntfs_sparse_cluster
and ntfs_fallocate.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:43 +03:00
Konstantin Komarov
ba11892889
fs/ntfs3: Simplify ntfs_update_mftmirr function
Make err assignment in one place.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:43 +03:00
Konstantin Komarov
3929042111
fs/ntfs3: Remove unused functions
Removed attr_must_be_resident and ntfs_query_def.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:43 +03:00
Konstantin Komarov
9144b43820
fs/ntfs3: Fix sparse problems
Fixing various problems, detected by sparse.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:42 +03:00
Konstantin Komarov
08811ba59a
fs/ntfs3: Add ntfs_bitmap_weight_le function and refactoring
Added ntfs_bitmap_weight_le function.
Changed argument types of bits/bitmap functions.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:42 +03:00
Thomas Kühnel
095d8ce635
fs/ntfs3: Use _le variants of bitops functions
The functions from bitops.h already have _le variants so use them to
prevent invalid reads/writes of the bitmap on big endian systems.

Signed-off-by: Thomas Kühnel <thomas.kuehnel@avm.de>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:41 +03:00
Thomas Kühnel
88a8d0d248
fs/ntfs3: Add functions to modify LE bitmaps
__bitmap_set/__bitmap_clear only works with bitmaps in CPU order.
Define a variant of these functions in ntfs3 to handle modifying bitmaps
read from the filesystem.

Signed-off-by: Thomas Kühnel <thomas.kuehnel@avm.de>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:41 +03:00
Thomas Kühnel
90c1cd540c
fs/ntfs3: Fix endian conversion in ni_fname_name
ni_fname_name called ntfs_cmp_names_cpu which assumes that the first
string is in CPU byte order and the second one in little endian.
In this case both strings are little endian so ntfs_cmp_names is the
correct function to call.

Signed-off-by: Thomas Kühnel <thomas.kuehnel@avm.de>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:40 +03:00
Yin Xiujiang
ecfbd57cf9
fs/ntfs3: Fix slab-out-of-bounds in r_page
When PAGE_SIZE is 64K, if read_log_page is called by log_read_rst for
the first time, the size of *buffer would be equal to
DefaultLogPageSize(4K).But for *buffer operations like memcpy,
if the memory area size(n) which being assigned to buffer is larger
than 4K (log->page_size(64K) or bytes(64K-page_off)), it will cause
an out of boundary error.
 Call trace:
  [...]
  kasan_report+0x44/0x130
  check_memory_region+0xf8/0x1a0
  memcpy+0xc8/0x100
  ntfs_read_run_nb+0x20c/0x460
  read_log_page+0xd0/0x1f4
  log_read_rst+0x110/0x75c
  log_replay+0x1e8/0x4aa0
  ntfs_loadlog_and_replay+0x290/0x2d0
  ntfs_fill_super+0x508/0xec0
  get_tree_bdev+0x1fc/0x34c
  [...]

Fix this by setting variable r_page to NULL in log_read_rst.

Signed-off-by: Yin Xiujiang <yinxiujiang@kylinos.cn>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2022-11-14 19:50:29 +03:00
Colin Ian King
6df849caeb HID: intel-ish-hid: ishtp: remove variable rb_count
The variable rb_count is being incremented but it
is never referenced, it is redundant and can be removed.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2022-11-14 17:24:44 +01:00
Namhyung Kim
20e2e31779 perf stat: Consolidate condition to print metrics
The pm variable holds an appropriate function to print metrics for CSV
anf JSON already.  So we can combine the if statement to simplify the
code a little bit.  This also matches to the above condition for non-CSV
and non-JSON case.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-10-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
f1db5a1d1d perf stat: Fix condition in print_interval()
The num_print_interval and config->interval_clear should be checked
together like other places like later in the function.  Otherwise,
the --interval-clear option could print the headers for the CSV or
JSON output unnecessarily.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-9-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
1cc7642abb perf stat: Add header for interval in JSON output
It missed to print a matching header line for intervals.

Before:

  # perf stat -a -e cycles,instructions --metric-only -j -I 500
  {"unit" : "insn per cycle"}
  {"interval" : 0.500544283}{"metric-value" : "1.96"}
  ^C

After:

  # perf stat -a -e cycles,instructions --metric-only -j -I 500
  {"unit" : "sec"}{"unit" : "insn per cycle"}
  {"interval" : 0.500515681}{"metric-value" : "2.31"}
  ^C

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-8-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
6d0a7e394e perf stat: Do not indent headers for JSON
Currently --metric-only with --json indents header lines.  This is not
needed for JSON.

  $ perf stat -aA --metric-only -j true
        {"unit" : "GHz"}{"unit" : "insn per cycle"}{"unit" : "branch-misses of all branches"}
  {"cpu" : "0", {"metric-value" : "0.101"}{"metric-value" : "0.86"}{"metric-value" : "1.91"}
  {"cpu" : "1", {"metric-value" : "0.102"}{"metric-value" : "0.87"}{"metric-value" : "2.02"}
  {"cpu" : "2", {"metric-value" : "0.085"}{"metric-value" : "1.02"}{"metric-value" : "1.69"}
  ...

Note that the other lines are broken JSON, but it will be handled later.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-7-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
fdc7d60824 perf stat: Fix --metric-only --json output
Currently it prints all metric headers for JSON output.  But actually it
skips some metrics with valid_only_metric().  So the output looks like:

  $ perf stat --metric-only --json true
  {"unit" : "CPUs utilized", "unit" : "/sec", "unit" : "/sec", "unit" : "/sec", "unit" : "GHz", "unit" : "insn per cycle", "unit" : "/sec", "unit" : "branch-misses of all branches"}
  {"metric-value" : "3.861"}{"metric-value" : "0.79"}{"metric-value" : "3.04"}

As you can see there are 8 units in the header but only 3 metric-values
are there.  It should skip the unused headers as well.  Also each unit
should be printed as a separate object like metric values.

With this patch:

  $ perf stat --metric-only --json true
  {"unit" : "GHz"}{"unit" : "insn per cycle"}{"unit" : "branch-misses of all branches"}
  {"metric-value" : "4.166"}{"metric-value" : "0.73"}{"metric-value" : "2.96"}

Fixes: df936cadfb ("perf stat: Add JSON output option")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Claire Jensen <cjense@google.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-6-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
f4e55f88da perf stat: Move common code in print_metric_headers()
The struct perf_stat_output_ctx is set in a loop with the same values.
Move the code out of the loop and keep the loop minimal.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-5-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
81a02c6577 perf stat: Clear screen only if output file is a tty
The --interval-clear option makes perf stat to clear the terminal at
each interval.  But it doesn't need to clear the screen when it saves
to a file.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-4-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Namhyung Kim
4ea0be1f0d perf stat: Increase metric length to align outputs
When perf stat is called with very detailed events, the output doesn't
align well like below:

  $ sudo perf stat -a -ddd sleep 1

   Performance counter stats for 'system wide':

          8,020.23 msec cpu-clock                        #    7.997 CPUs utilized
             3,970      context-switches                 #  494.998 /sec
               169      cpu-migrations                   #   21.072 /sec
               586      page-faults                      #   73.065 /sec
       649,568,060      cycles                           #    0.081 GHz                      (30.42%)
       304,044,345      instructions                     #    0.47  insn per cycle           (38.40%)
        60,313,022      branches                         #    7.520 M/sec                    (38.89%)
         2,766,919      branch-misses                    #    4.59% of all branches          (39.26%)
        74,422,951      L1-dcache-loads                  #    9.279 M/sec                    (39.39%)
         8,025,568      L1-dcache-load-misses            #   10.78% of all L1-dcache accesses  (39.22%)
         3,314,995      LLC-loads                        #  413.329 K/sec                    (30.83%)
         1,225,619      LLC-load-misses                  #   36.97% of all LL-cache accesses  (30.45%)
   <not supported>      L1-icache-loads
        20,420,493      L1-icache-load-misses            #    0.00% of all L1-icache accesses  (30.29%)
        58,017,947      dTLB-loads                       #    7.234 M/sec                    (30.37%)
           704,677      dTLB-load-misses                 #    1.21% of all dTLB cache accesses  (30.27%)
           234,225      iTLB-loads                       #   29.204 K/sec                    (30.29%)
           417,166      iTLB-load-misses                 #  178.10% of all iTLB cache accesses  (30.32%)
   <not supported>      L1-dcache-prefetches
   <not supported>      L1-dcache-prefetch-misses

       1.002947355 seconds time elapsed

Increase the METRIC_LEN by 3 so that it can align properly.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-11-14 13:21:19 -03:00
Jingbo Xu
37020bbb71 erofs: fix missing xas_retry() in fscache mode
The xarray iteration only holds the RCU read lock and thus may encounter
XA_RETRY_ENTRY if there's process modifying the xarray concurrently.
This will cause oops when referring to the invalid entry.

Fix this by adding the missing xas_retry(), which will make the
iteration wind back to the root node if XA_RETRY_ENTRY is encountered.

Fixes: d435d53228 ("erofs: change to use asynchronous io for fscache readpage/readahead")
Suggested-by: David Howells <dhowells@redhat.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: Jia Zhu <zhujia.zj@bytedance.com>
Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Link: https://lore.kernel.org/r/20221114121943.29987-1-jefflexu@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
2022-11-14 23:48:38 +08:00
Arnd Bergmann
a3864ff04c
Merge tag 'ux500-dts-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt
Some Ux500 DTS updates for v6.2:

- Some cleanups from Krzysztof for the SPI nodes.

- Fix up the NFC chip in Janice.

- Drop a bogus power domain regulator that isn't used for
  the crypto blocks. (We use proper power domains now.)

- Add GPS to the Kyle.

* tag 'ux500-dts-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ux500: Add GPS to the Kyle
  ARM: dts: DBx500 cryp and hash uses power domain
  ARM: dts: ux500: Fix up the Janice NFC chip
  ARM: dts: ste: ux500: align SPI node name with dtschema

Link: https://lore.kernel.org/r/CACRpkdaXmmZWsGdTG5tqNragkoefcTeUHjR+ZwNyNaa0S7s-7Q@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:22:16 +01:00
Arnd Bergmann
4bfe93fd9a
Merge tag 'asahi-soc-dt-6.2' of https://github.com/AsahiLinux/linux into arm/dt
Apple SoC DT updates for 6.2.

This includes new device trees for Apple M1 Pro/Max/Ultra SoCs and the
devices that contain them, as well as some audio-related changes.

* tag 'asahi-soc-dt-6.2' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: Add ADMAC resets on t8103/t600x
  dt-bindings: dma: apple,admac: Add reset
  arm64: dts: apple: t600x: Add MCA and its support
  arm64: dts: apple: t8103: Add MCA and its support
  arm64: dts: apple: t8103: Add AUDIO_P parent to the SIO_ADMA power domain
  arm64: dts: apple: Add J375 devicetrees
  arm64: dts: apple: Add J314 and J316 devicetrees
  arm64: dts: apple: Add initial t6000/t6001/t6002 DTs
  arm64: dts: apple: Fix j45x model years
  dt-bindings: arm: apple: Add t6001/t6002 Mac Studio compatibles
  dt-bindings: apple,aic2: Add CPU PMU per-cpu pseudo-interrupts
  dt-bindings: iommu: dart: add t6000 compatible

Link: https://lore.kernel.org/r/dea10860-2870-3a9e-fa51-21e493b1573a@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:21:48 +01:00
Kory Maincent
3f6f5ee179
arm: dts: spear600: Add ssp controller nodes
The SPEAr600 has three Synchronous serial port to enables synchronous
serial communication with slave or master peripherals (SPI). Lets add these
nodes to be able to use them.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:10:12 +01:00
Kory Maincent
0336e2ce34
arm: dts: spear600: Fix clcd interrupt
Interrupt 12 of the Interrupt controller belongs to the SMI controller,
the right one for the display controller is the interrupt 13.

Fixes: 8113ba917d ("ARM: SPEAr: DT: Update device nodes")
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:09:58 +01:00
Kory Maincent
a6a714415e
arm: configs: spear6xx: Enable PL110 display controller
Enable the PL110 DRM driver, used by the spear600.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:09:33 +01:00
Kory Maincent
c39a9e731a
arm: configs: spear6xx: Refresh defconfig
Refresh the defconfig to follow the changes made over the year.
I ensure important options have not gone away.
I drop the gpio sysfs config as it is useless to keep it alone without
CONFIG_EXPERT.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:09:24 +01:00
Mark Brown
9e75e74b07 arm64/signal: Document our convention for choosing magic numbers
Szabolcs Nagy has pointed out that most of our signal frame magic numbers
are chosen to be meaningful ASCII when dumped to aid manual parsing. This
seems sensible since it might help someone parsing things out, let's
document it so people implementing new signal contexts are aware of it and
are more likely to follow it.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221031192450.826159-1-broonie@kernel.org
[will: Fixed typo and tweaked wording]
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 15:08:15 +00:00
Arnd Bergmann
566fb6711f Renesas ARM SoC updates for v6.2
- Drop selecting GPIOLIB and PINCTRL, which are already automatically
     selected as part of the SOC_RENESAS config option in
     drivers/soc/renesas/Kconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TpSgAKCRCKwlD9ZEnx
 cHQuAP9NYIwY4vqDY9cAS3cqkvf/b/EFmGnGN938/OwR3Of7NAEAj6aeW0G3REqz
 uvKdCpRVtbgBQS5zYuTjjsV7Ypx7mAs=
 =Zzmv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyWQwACgkQmmx57+YA
 GNn5HQ/8CsT0MaDtoKSL7cCkxniTZrIUgKW3dqWAszIIKGidNRNOkLWK5T5tAM/a
 Yq9nUKrGrfRlVYZNCnZBQRWb5+IYC763OKavHuQPyeg8JDMK1xxk/5OHv4ijdmtP
 133ImDLIJYuN8BL8GWgyzehluxVZcFCkOQMI1G0tvqMv1k/2kLK1JW1T3yGTYvX3
 j3srI+ekwkjyv5WjrTkbLT9rMRbTCOaZixfvPMcqueWoVqN+3RGGZlHsW1EuhMjX
 6/Sq7HGYdOmDXF3eF6jT/CVC4T1R1tIoOo+XVGOzIIUToTZfPMuIVwbJKredLjQT
 9WmtBGt85ZFhPL8wQ+0MKjCFfFHE0FYmPpQqdgv494RQ5OzFaYYuA0+bcsiyW12m
 C3HGJqlsPXZG25wyewozeiybLu6nuBltarOkpQhr87HsGHrhra5pedHg8dHqOFrd
 8fqH84zoklWMhq9HPQ6QroTqnrS6F7BCweY+x0g9PEVYUHX5jR8N3tMsb0Ew0YYF
 zTjtUg3eFgTzWIyyK11gknooGdpz/uRmR5SRwNR4SVH5DGx57mDila6dGFYPpjdv
 CQ5ndEqGaZjqk3lSM7ywrz0McKAVhfUuyv18P95h5NFBoo0UhpKWzpEUMQN5F4X4
 WT/DjFks7EHnO3DgTKQdoN/CDwIjI6i/uni6OYTrjkEC9FicE3k=
 =2v6V
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas ARM SoC updates for v6.2

  - Drop selecting GPIOLIB and PINCTRL, which are already automatically
    selected as part of the SOC_RENESAS config option in
    drivers/soc/renesas/Kconfig.

* tag 'renesas-arm-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: renesas: Drop selecting GPIOLIB and PINCTRL
  ARM: shmobile: Drop selecting GPIOLIB and PINCTRL
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558746.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:04:44 +01:00
Arnd Bergmann
6cb1253c6d Ux500 core changes for the v6.2 kernel cycle:
- Spelling error.
 
 - A non-urgent fix to not access IOmem for feeding entropy
   directly, instead copy and use.
 
 - Clean out an old register file.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmNqwPsACgkQQRCzN7AZ
 XXNgsw//SDGUnbGYw6pjT5X1cbhXdmZvxys/wgyn6vrYeFeD803N62OUk1NoVQyJ
 nBpGz0ZJ6n8wBnQMIR7jPkeVaVC3siWAxvYWchqxGUXkUVY62x5GlfKUTIL/A8PD
 mzEfPF8EB8ji/EMIYemcIcADPz4uaxwEuSl5eeUxWkclpyD+hjtHxGUWO4AD6jwS
 Z5+1lyJ3gDGhLLFBNCtZhELZ7mdfgONJuskwp/dGVSBhj5AZbizLgH0I1mCUdDQE
 d2Zv2rus1QUTUTvb4wanZgkx1hLv2Kd+cQeRQVnlZUdH2oNUZf5RRCSh36woo8VM
 sR3vsgMjoeVBvM+zWz8JfWW1Q6i6NcBxNnhBnzjoaZATHz2mUhpDQTGGn5WGnhNE
 C3Y4MMVuC21632MJxQTempdz3w1AVej63IwSGJJ2gIX9zTpSLApLyRk+L41kty4T
 Wi0ar2Ou6lW45lUzLv2FKShbYte85hRxHPmbWTZcHST008SS6XUwjIKx6frT/fOa
 WnJ+JslV/4na3Fme9Q2admeAUHJn3bpt6jsXM/u3tJzo8m3Kta/b888pmmZsS0lK
 mz/aBJhsUhode/Enwnp5x+xFiFwodz9UjDF4+zWatw/I6C470/L7aMESAA2A6Vtr
 Brh3mNJa/gO/PMycFqXkHlqm3irgxcPNhmAUQ/ROordJFrlli6I=
 =0Cgk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyWNYACgkQmmx57+YA
 GNkPIRAAnU2oWm89f388bln9HIYG41UUkJIh5+w/w19yh9sxiP1hOJMYjEvrSnbG
 A5kmYhgC9bIDIOjReWljGu1e2CtzyC2cVdtpamkYKdo6u+B6bo/KXAF5wcG2olAm
 0fV/cSkGYGHWJq2Ukmkj2tQ6u8bqZxnn72uq6zasFRAH/0l8GYr21X5Jv+xovSKB
 dsTTLhxcxanU5Pw84gvYhdLteiz+KVsOiOS++CRadNGGXNyHMikA16Pdzb7e3SP9
 KVzgcJIiMH+ynAh7EOyEjCWH9/EDmGRUA9poWTImT2otN0SkXCkGpY5GTI/UoDte
 vsXToGR6Pp8hGPSS9L5ZgKK2+tMeNh110WNswB1KCBQqtL2TFvO94vJai90XRsS5
 7/Ejn62MkArHcFFe7G8tPO9Z/DweWyqDWUzt3OqK/0O4NBW4bOYMQHiYvEnLjviv
 HaqPinMKg6TsDv9DaLIDrdd1uOssH7XBWspruo7Me9LoPZn3VJ8RsNROPrATGWZI
 mNm8AuGTh5oAYQIjmxZ7yn8xo52wShN0dAb5CCkOV8xli/MOusGFQT/Ylofx1qID
 NcLlUK1E4sbt8bAn/jRRNTU2CCw+uRbw5znwoBgkS6key4bKXdIohPPeJijPFbh5
 oPh+dsjxHhYymXG7fR5UXwAEErHhBmFTHBBhI4S4Y8GBeFYikHE=
 =9Qze
 -----END PGP SIGNATURE-----

Merge tag 'ux500-soc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/soc

Ux500 core changes for the v6.2 kernel cycle:

- Spelling error.

- A non-urgent fix to not access IOmem for feeding entropy
  directly, instead copy and use.

- Clean out an old register file.

* tag 'ux500-soc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: ux500: Drop unused register file
  ARM: ux500: do not directly dereference __iomem
  arm/mach-ux500: fix repeated words in comments

Link: https://lore.kernel.org/r/CACRpkdaPDbJKUzZHsS2POVUQEjYi+6bjU6cvbg4ox=SKPXG2ng@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:03:50 +01:00
Yinbo Zhu
06ebd23a33 dt-bindings: soc: add loongson-2 chipid
Add the Loongson-2 SoC chipid binding with DT schema format using
json-schema.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221111054201.18528-2-zhuyinbo@loongson.cn'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:02:10 +01:00
Yinbo Zhu
b82621ac84 soc: loongson: add GUTS driver for loongson-2 platforms
The global utilities block controls PCIE device enabling, alternate
function selection for multiplexed signals, consistency of HDA, USB
and PCIE, configuration of memory controller, rtc controller, lio
controller, and clock control.

This patch adds a driver to manage and access global utilities block
for LoongArch architecture Loongson-2 SoCs. Initially only reading SVR
and registering soc device are supported. Other guts accesses, such
as reading firmware configuration by default, should eventually be
added into this driver as well.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:01:32 +01:00
Arnd Bergmann
4c1c97fc70 Renesas driver updates for v6.2
- Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
     be handled in two (soon three: arm/arm64/riscv), places.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TqQwAKCRCKwlD9ZEnx
 cEYXAP4+knQOqJcBL8WHWSTNv4z4MBMg0ztt7De991euiuVnHQEA3AFf/VOHzxlJ
 zWQi5qMo011t30HCs4grCWAwInnmoQY=
 =GYFH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyVu8ACgkQmmx57+YA
 GNkXKw/9GAvcdrN4Qo0lpcBYlTy14D33tt0mEIBxzeFX/6T/h8wSb0JGHCh4WN5I
 IHf8Sw2KKYlWIIWlfcKy6PmSag12y+fxzHIzorrfTOVrws9frdZZhnJxFCS0RIHa
 mQ8HESoQXVLNUf34qOe6D4s2YO04pdXHvpCs+X7RW0cFoyGj4fVriMJoHcQmdcc3
 PWkBqnRkC4Bg9jX6Mex+g11tfupmAG2S0bWDFnK33dLsGqYcpW9PHCEuaWIRWUZa
 Cfeum6ShkPN69//ztOR44V4SKEoaPdFt6H+OvT3LQ2qvXu92ov7Vz4n127/wbtr/
 svG3tqVm8sNgknetMlaW4LNzsOX24WARP4SYFGW6vMYqDlcvHTM+5ZNACtvG71y5
 r3pawZpW1ibigsWQRWlBC7iHNH8PtGxXipjeLfVb/FJ0U66RvO+T4whwWwgXvY3q
 RAY1M4fLPDiidTVeOdAumL6Twf4fryttDnBXATzN+uXSzzbTWjqCmlJtFibEWQXQ
 tzT1ZHj9RsAuy7dLNl0AkIyVMYItAvuqyulJq3A5Gqvk0qGIc83/RPsEB4XNry6v
 jqd9v/aZoTfyGc7kAxkMzEJagezsfGWga+lotyvJ48aRwUUcRGP9jZiMuR9Es+wQ
 2doCFYjFIZ/elK1SeHzXCI0UevfeyMFa5Ug7z0oEHdve2KOHjrY=
 =vQbD
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v6.2

  - Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
    be handled in two (soon three: arm/arm64/riscv), places.

* tag 'renesas-drivers-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558747.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:55:43 +01:00