Commit graph

1,188,286 commits

Author SHA1 Message Date
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
Mark Rutland
657eef0a54 arm64: atomics: lse: remove stale dependency on JUMP_LABEL
Currently CONFIG_ARM64_USE_LSE_ATOMICS depends upon CONFIG_JUMP_LABEL,
as the inline atomics were indirected with a static branch.

However, since commit:

  21fb26bfb0 ("arm64: alternatives: add alternative_has_feature_*()")

... we use an alternative_branch (which is always available) rather than
a static branch, and hence the dependency is unnecessary.

Remove the stale dependency, along with the stale include. This will
allow the use of LSE atomics in kernels built with CONFIG_JUMP_LABEL=n,
and reduces the risk of circular header dependencies via <asm/lse.h>.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20221114125424.2998268-1-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:44:14 +00:00
wangkailong@jari.cn
a75df5be8e kselftest/arm64: fix array_size.cocci warning
Fix following coccicheck warning:

tools/testing/selftests/arm64/mte/check_mmap_options.c:64:24-25:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:66:20-21:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:135:25-26:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:96:25-26:
WARNING: Use ARRAY_SIZE
tools/testing/selftests/arm64/mte/check_mmap_options.c:190:24-25:
WARNING: Use ARRAY_SIZE

Signed-off-by: KaiLong Wang <wangkailong@jari.cn>
Link: https://lore.kernel.org/r/777ce8ba.12e.184705d4211.Coremail.wangkailong@jari.cn
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:43:49 +00:00
Arnd Bergmann
8db131b29f AT91 defconfig for 6.2
It contains:
 - sama7 defconfig refresh (done with make savedefconfig)
 - update sama7 defconfig with OTPC support
 - update sama7 defconfig with thermal management support
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY2zjagAKCRCejrg/N2X7
 /a8gAQCq7wsVe4O0x3oQANerwC+YYaEYomXsoJ+8HY1xScARhgD/WNMosZZSY7M+
 +uURabTgr9kc0uTRTGkodKGDYCahnQA=
 =cV7l
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyUuEACgkQmmx57+YA
 GNmcJQ/9G7bE9IkG4Kg5YcZOv7/hWo/hnZI7wrWJnhehk3OpS7gygeHpw+Al/Wdk
 F74/jrnXMhm/CQgdO+ITlx4ZnkF9+PLMwzUMsKWAWi2rDkptiQVdlhGCwzXKy9iN
 HzZkiS/uw4a5s/5B96sl9oI7fwpmohIjNG7NhqcEZBJq1mJlTZDRTBTvBW5S4NPp
 ojrEUYV1TK4mQ0GqQOnAyUGz7O8JKBA6sB6Kc89AxB1jvggDVL4x6/kxu6BWF5jK
 xUZU/Tt5TUt/YklfsTgcnErgmXSyh/A8YpxdugQEo0LT5Dzfzz4c17fvjdIcLB99
 F7i69xzsOJZeNWI3IO9z7g+dFK20ecVhwW/Eoqzq0ph6RrumGX9LI45xIh87HRym
 oUN0zDNdUIYDfAlwl0MTOI7ZI8l0hhrfwGiulQXNROEv5R5ghiGbvn6ZuERfiIzs
 0pCMQzUqAkgkzmVNAJBecFrc6cFQfDQEH39tZDFHsS3ndwaUALn8gBnUpvrcATgZ
 +A/OaTo2Os98RpvtEe1IqJl+L2rDh2inzglzsQzejMT5Hhaj8s0i4/Ea71ZFkviP
 P4OGZ0NOo+KtZQ/Ne4Nfg4/ZY65/Uj/f1bwjBdFaJ6EndV5t4qFz7Gu4RkVJxIP7
 lLpGUTTPvDNLL1eFnYBeTbQXlb57JrZBOD885MPS8+dbfQoIoCc=
 =sXrZ
 -----END PGP SIGNATURE-----

Merge tag 'at91-defconfig-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/defconfig

AT91 defconfig for 6.2

It contains:
- sama7 defconfig refresh (done with make savedefconfig)
- update sama7 defconfig with OTPC support
- update sama7 defconfig with thermal management support

* tag 'at91-defconfig-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama7: add config for thermal management
  ARM: configs: at91: sama7: add config for microchip otpc
  ARM: configs: at91: sama7: use make savedefconfig

Link: https://lore.kernel.org/r/20221110115422.180893-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:38:25 +01:00
Sebastian Reichel
ada8f95ba0 clk: rockchip: add lookup table support
Add support for mapping reset IDs to register offsets
to support gapless continous platform reset IDs.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-9-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:35:07 +01:00
Sebastian Reichel
ff94c8660d clk: rockchip: simplify rockchip_clk_add_lookup
rockchip_clk_add_lookup is only called from within the file,
so it can be made static. The additional checks are removed
with the following reasoning:

1. The data structure is initialized by rockchip_clk_init(),
   which is called by all rockchip platforms before the clocks
   are registered. Not doing so would result in an incomplete
   clock tree at the moment, which is a fatal error. In other
   parts of the kernel these kind of checks are usually
   omitted, so this was done here. The alternative is adding
   a pr_err to inform the kernel programmer adding a new platform
   about his incorrect code. Apart from that we are also not
   checking if the clock id is within the array boundings.

2. While not used so far by any rockchip platform, 0 is a valid
   clock identifier. To align rockchip closer to other ARM
   platforms we will start using it with rk3588.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-8-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:35:07 +01:00
Arnd Bergmann
6ef881e446 AT91 DT for 6.2
It contains:
 - interrupt support for ethernet PHYs on pcb8290 board
 - thermal management support for SAMA7G5 by adding OTP controller
   (that keeps temperature sensor calibration data), proper ADC
   bindings and describing thermal zones
 - securam node from SAMA7G5 is now described with generic name (sram)
 - remove of status = "okay" from SAM9X60-EK regulators
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY2zevQAKCRCejrg/N2X7
 /SnDAPwKoY+yyFeL9lHoeKMqX+EoktDUB1nR5GJFThiJQ9KABQEAxCf8USyR7zVS
 wPM94RYXyMKNLk0rYrrMD+TbwdpcTwk=
 =NAdE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyUgAACgkQmmx57+YA
 GNlPgg//cnPcOa+HPpGo8iCGdda9KRNClIb/k3kplABuW67hU1/NM1UNhS9PZG7B
 3/q2rDifTgo7onR0pGvBI7EtFhppAuv0hnUYk41+gfeMFAx2heD3GyqVroUYCyR7
 bPi/0BYCj/ApgqBmYEi0+No/fmQBr/jW0aTMEUE+cAl/g67ayhPW6BNw6MKmGvS7
 OyfPXfBXa+bksYBoyGoobnXjyRLysDIAb3/qRO3wQFFxvJQWAdl3sUo69cGPVeED
 Z0JW7VIFmNiXzlcQ04/R2gv6/TDNzvjzyOs+phXD92pRdk8mkFhZAvUB/7sgexiw
 7NCzqKLvcaAOaqHtwvaXmg7EXqsRo1DCzlnhRvz5O/uQou9ACIXwGnz58ggjKixF
 DjwUXo26KZ4QGeZL3UUMeln/vOdX/XbMq4tWtGadZvT1U0oSB/VxDCETyiyhUcvN
 b6nlhHa1RWCPXk/7CADiP7Rz97ayKlwDC1cdnwXc1IoTxTAyNHc2IQb8bspqNsRz
 6Yvm4zdRZ3ST513qsd5+51qqDVdJwwHtCPUzXe+fNCPcrkbNPeP4xr5bU4jxgJ0o
 loBK3p/6YCFKnBEvykl934lQkZIImbfEBkeSbxIQVJtye0cwTdwm7XsBacvzMBSU
 5LCJWBvwrZZQQpRj02e2fZiVRaMqbpS+ogjazSHx+crrVX3kaYk=
 =nb0O
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

AT91 DT for 6.2

It contains:
- interrupt support for ethernet PHYs on pcb8290 board
- thermal management support for SAMA7G5 by adding OTP controller
  (that keeps temperature sensor calibration data), proper ADC
  bindings and describing thermal zones
- securam node from SAMA7G5 is now described with generic name (sram)
- remove of status = "okay" from SAM9X60-EK regulators

* tag 'at91-dt-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sam9x60ek: remove status = "okay" for regulators
  ARM: dts: at91: sama7g5: use generic name for securam
  ARM: dts: at91: sama7g5: add thermal zones node
  ARM: dts: at91: sama7g5: add temperature sensor
  ARM: dts: at91: sama7g5: add cells for temperature calibration
  ARM: dts: at91: sama7g5: add io-channel-cells to adc node
  ARM: dts: at91: sama7g5: add otpc node
  ARM: dts: lan966x: Add interrupt support for PHYs on pcb8290

Link: https://lore.kernel.org/r/20221110115431.180908-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:34:40 +01:00
Elaine Zhang
2004b7b180 clk: rockchip: allow additional mux options for cpu-clock frequency changes
In order to improve the main frequency of CPU, the clock path of CPU is
simplified as follows:
                         |--\
                         |   \            |--\
 --apll--|\              |    \           |   \
         | |--apll_core--|     \          |    \
 --24M---|/              |mux1 |--[gate]--|mux2|---clk_core
                         |     /          |    /
 --gpll--|\              |    /    |------|   /
         | |--gpll_core--|   /     |      |--/
 --24M---|/              |--/      |
                                   |
 -------apll_directly--------------|

When the CPU requests high frequency, we want to use MUX2 select the
"apll_directly".
At low frequencies use MUX1 to select “apll_core" and then MUX2 to
select "apll_core_gate".

However, in this way, the CPU frequency conversion needs to be
in the following order:
1. MUX2 select to "apll_core_gate", MUX1 select "gpll_core"
2. Apll sets slow_mode, sets APLL parameters, locks APLL, and then APLL
sets normal_mode
3. MUX1 select "apll_core", MUX2 select "apll_directly"

So add pre_mux and post_mux options to cover this special requirements.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[rebase]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-7-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:34:18 +01:00
Elaine Zhang
8f6594494b clk: rockchip: add pll type for RK3588
Add RK3588 PLL support fully relying on lookup tables like
the other upstream supported rockchip platforms.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[rebase and modify code to avoid PLL parameter calculation]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-6-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:46 +01:00
Elaine Zhang
cf87691f14 clk: rockchip: add register offset of the cores select parent
The cores select parent register is special on RK3588.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-5-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:45 +01:00
Elaine Zhang
4f5ca304f2 dt-bindings: clock: add rk3588 cru bindings
Document the device tree bindings of the rockchip rk3588 SoC
clock and reset unit.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-4-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:33:45 +01:00
Heiko Stuebner
1838ce8100 Merge branch 'v6.2-shared/clockids' into v6.2-clk/next 2022-11-14 15:29:22 +01:00
Sebastian Reichel
0a8eb7dae6 dt-bindings: reset: add rk3588 reset definitions
Add reset ID defines for rk3588.

Compared to the downstream bindings and previous rockchip
generations this uses continous gapless reset IDs starting
at 0 instead of register offsets as IDs. Thus all numbers
are different between upstream and downstream, but I kept
the names exactly the same.

Co-Developed-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-3-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:28:47 +01:00
Sebastian Reichel
f204a60e54 dt-bindings: clock: add rk3588 clock definitions
Add clock ID defines for rk3588.

Compared to the downstream bindings written by Elaine, this uses
continous gapless clock IDs starting at 0. Thus all numbers are
different between downstream and upstream, but I kept exactly the
same names.

Co-Developed-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20221018151407.63395-2-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2022-11-14 15:28:47 +01:00
Richard Acayan
8d3a9ec6ae dt-bindings: iommu: arm-smmu: add sdm670 compatible
The Snapdragon 670 needs the IOMMU for GENI I2C. Add a compatible string in
the documentation to represent its support.

Signed-off-by: Richard Acayan <mailingradian@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221111003606.126795-2-mailingradian@gmail.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-11-14 14:13:28 +00:00