1. 08 Mar, 2022 8 commits
  2. 25 Feb, 2022 2 commits
  3. 24 Feb, 2022 3 commits
  4. 11 Feb, 2022 18 commits
  5. 10 Feb, 2022 3 commits
    • Loic Poulain's avatar
      clk: qcom: Add display clock controller driver for QCM2290 · cc517ea3
      Loic Poulain authored
      Add support for the display clock controller found in QCM2290
      based devices. This clock controller feeds the Multimedia Display
      SubSystem (MDSS).
      
      It's a porting of dispcc-scuba GPL-2.0 driver from CAF msm-4.19 kernel:
      https://source.codeaurora.org/quic/la/kernel/msm-4.19/tree/drivers/clk/qcom/dispcc-scuba.c?h=LE.UM.4.4.1.r3
      
      Global clock name references (parent_names) have been replaced by
      parent_data and parent_hws.
      
      Clocks marked enable_safe_config have their clk_rcg2_ops moved to
      clk_rcg2_shared_ops.
      Signed-off-by: default avatarLoic Poulain <loic.poulain@linaro.org>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/1644432308-21099-2-git-send-email-loic.poulain@linaro.org
      cc517ea3
    • Loic Poulain's avatar
      85cedb4e
    • Robert Marko's avatar
      clk: qcom: ipq8074: fix PCI-E clock oops · bf8f5182
      Robert Marko authored
      Fix PCI-E clock related kernel oops that are caused by a missing clock
      parent.
      
      pcie0_rchng_clk_src has num_parents set to 2 but only one parent is
      actually set via parent_hws, it should also have "XO" defined.
      This will cause the kernel to panic on a NULL pointer in
      clk_core_get_parent_by_index().
      
      So, to fix this utilize clk_parent_data to provide gcc_xo_gpll0 parent
      data.
      Since there is already an existing static const char * const gcc_xo_gpll0[]
      used to provide the same parents via parent_names convert those users to
      clk_parent_data as well.
      
      Without this earlycon is needed to even catch the OOPS as it will reset
      the board before serial is initialized with the following:
      
      [    0.232279] Unable to handle kernel paging request at virtual address 0000a00000000000
      [    0.232322] Mem abort info:
      [    0.239094]   ESR = 0x96000004
      [    0.241778]   EC = 0x25: DABT (current EL), IL = 32 bits
      [    0.244908]   SET = 0, FnV = 0
      [    0.250377]   EA = 0, S1PTW = 0
      [    0.253236]   FSC = 0x04: level 0 translation fault
      [    0.256277] Data abort info:
      [    0.261141]   ISV = 0, ISS = 0x00000004
      [    0.264262]   CM = 0, WnR = 0
      [    0.267820] [0000a00000000000] address between user and kernel address ranges
      [    0.270954] Internal error: Oops: 96000004 [#1] SMP
      [    0.278067] Modules linked in:
      [    0.282751] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.15.10 #0
      [    0.285882] Hardware name: Xiaomi AX3600 (DT)
      [    0.292043] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      [    0.296299] pc : clk_core_get_parent_by_index+0x68/0xec
      [    0.303067] lr : __clk_register+0x1d8/0x820
      [    0.308273] sp : ffffffc01111b7d0
      [    0.312438] x29: ffffffc01111b7d0 x28: 0000000000000000 x27: 0000000000000040
      [    0.315919] x26: 0000000000000002 x25: 0000000000000000 x24: ffffff8000308800
      [    0.323037] x23: ffffff8000308850 x22: ffffff8000308880 x21: ffffff8000308828
      [    0.330155] x20: 0000000000000028 x19: ffffff8000309700 x18: 0000000000000020
      [    0.337272] x17: 000000005cc86990 x16: 0000000000000004 x15: ffffff80001d9d0a
      [    0.344391] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000006
      [    0.351508] x11: 0000000000000003 x10: 0101010101010101 x9 : 0000000000000000
      [    0.358626] x8 : 7f7f7f7f7f7f7f7f x7 : 6468626f5e626266 x6 : 17000a3a403c1b06
      [    0.365744] x5 : 061b3c403a0a0017 x4 : 0000000000000000 x3 : 0000000000000001
      [    0.372863] x2 : 0000a00000000000 x1 : 0000000000000001 x0 : ffffff8000309700
      [    0.379982] Call trace:
      [    0.387091]  clk_core_get_parent_by_index+0x68/0xec
      [    0.389351]  __clk_register+0x1d8/0x820
      [    0.394210]  devm_clk_hw_register+0x5c/0xe0
      [    0.398030]  devm_clk_register_regmap+0x44/0x8c
      [    0.402198]  qcom_cc_really_probe+0x17c/0x1d0
      [    0.406711]  qcom_cc_probe+0x34/0x44
      [    0.411224]  gcc_ipq8074_probe+0x18/0x30
      [    0.414869]  platform_probe+0x68/0xe0
      [    0.418776]  really_probe.part.0+0x9c/0x30c
      [    0.422336]  __driver_probe_device+0x98/0x144
      [    0.426329]  driver_probe_device+0x44/0x11c
      [    0.430842]  __device_attach_driver+0xb4/0x120
      [    0.434836]  bus_for_each_drv+0x68/0xb0
      [    0.439349]  __device_attach+0xb0/0x170
      [    0.443081]  device_initial_probe+0x14/0x20
      [    0.446901]  bus_probe_device+0x9c/0xa4
      [    0.451067]  device_add+0x35c/0x834
      [    0.454886]  of_device_add+0x54/0x64
      [    0.458360]  of_platform_device_create_pdata+0xc0/0x100
      [    0.462181]  of_platform_bus_create+0x114/0x370
      [    0.467128]  of_platform_bus_create+0x15c/0x370
      [    0.471641]  of_platform_populate+0x50/0xcc
      [    0.476155]  of_platform_default_populate_init+0xa8/0xc8
      [    0.480324]  do_one_initcall+0x50/0x1b0
      [    0.485877]  kernel_init_freeable+0x234/0x29c
      [    0.489436]  kernel_init+0x24/0x120
      [    0.493948]  ret_from_fork+0x10/0x20
      [    0.497253] Code: d50323bf d65f03c0 f94002a2 b4000302 (f9400042)
      [    0.501079] ---[ end trace 4ca7e1129da2abce ]---
      
      Fixes: f0cfcf1a ("clk: qcom: ipq8074: Add missing clocks for pcie")
      Signed-off-by: default avatarRobert Marko <robimarko@gmail.com>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/20211220114119.465247-1-robimarko@gmail.com
      bf8f5182
  6. 23 Jan, 2022 6 commits
    • Linus Torvalds's avatar
      Linux 5.17-rc1 · e783362e
      Linus Torvalds authored
      e783362e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.17-2022-01-22' of... · 40c84321
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.17-2022-01-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Fix printing 'phys_addr' in 'perf script'.
      
       - Fix failure to add events with 'perf probe' in ppc64 due to not
         removing leading dot (ppc64 ABIv1).
      
       - Fix cpu_map__item() python binding building.
      
       - Support event alias in form foo-bar-baz, add pmu-events and
         parse-event tests for it.
      
       - No need to setup affinities when starting a workload or attaching to
         a pid.
      
       - Use path__join() to compose a path instead of ad-hoc snprintf()
         equivalent.
      
       - Override attr->sample_period for non-libpfm4 events.
      
       - Use libperf cpumap APIs instead of accessing the internal state
         directly.
      
       - Sync x86 arch prctl headers and files changed by the new
         set_mempolicy_home_node syscall with the kernel sources.
      
       - Remove duplicate include in cpumap.h.
      
       - Remove redundant err variable.
      
      * tag 'perf-tools-for-v5.17-2022-01-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf tools: Remove redundant err variable
        perf test: Add parse-events test for aliases with hyphens
        perf test: Add pmu-events test for aliases with hyphens
        perf parse-events: Support event alias in form foo-bar-baz
        perf evsel: Override attr->sample_period for non-libpfm4 events
        perf cpumap: Remove duplicate include in cpumap.h
        perf cpumap: Migrate to libperf cpumap api
        perf python: Fix cpu_map__item() building
        perf script: Fix printing 'phys_addr' failure issue
        tools headers UAPI: Sync files changed by new set_mempolicy_home_node syscall
        tools headers UAPI: Sync x86 arch prctl headers with the kernel sources
        perf machine: Use path__join() to compose a path instead of snprintf(dir, '/', filename)
        perf evlist: No need to setup affinities when disabling events for pid targets
        perf evlist: No need to setup affinities when enabling events for pid targets
        perf stat: No need to setup affinities when starting a workload
        perf affinity: Allow passing a NULL arg to affinity__cleanup()
        perf probe: Fix ppc64 'perf probe add events failed' case
      40c84321
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 67bfce0e
      Linus Torvalds authored
      Pull ftrace fix from Steven Rostedt:
       "Fix s390 breakage from sorting mcount tables.
      
        The latest merge of the tracing tree sorts the mcount table at build
        time. But s390 appears to do things differently (like always) and
        replaces the sorted table back to the original unsorted one. As the
        ftrace algorithm depends on it being sorted, bad things happen when it
        is not, and s390 experienced those bad things.
      
        Add a new config to tell the boot if the mcount table is sorted or
        not, and allow s390 to opt out of it"
      
      * tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix assuming build time sort works for s390
      67bfce0e
    • Steven Rostedt (Google)'s avatar
      ftrace: Fix assuming build time sort works for s390 · 6b9b6413
      Steven Rostedt (Google) authored
      To speed up the boot process, as mcount_loc needs to be sorted for ftrace
      to work properly, sorting it at build time is more efficient than boot up
      and can save milliseconds of time. Unfortunately, this change broke s390
      as it will modify the mcount_loc location after the sorting takes place
      and will put back the unsorted locations. Since the sorting is skipped at
      boot up if it is believed that it was sorted at run time, ftrace can crash
      as its algorithms are dependent on the list being sorted.
      
      Add a new config BUILDTIME_MCOUNT_SORT that is set when
      BUILDTIME_TABLE_SORT but not if S390 is set. Use this config to determine
      if sorting should take place at boot up.
      
      Link: https://lore.kernel.org/all/yt9dee51ctfn.fsf@linux.ibm.com/
      
      Fixes: 72b3942a ("scripts: ftrace - move the sort-processing in ftrace_init")
      Reported-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Tested-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      6b9b6413
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.17' of... · 473aec0e
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Bring include/uapi/linux/nfc.h into the UAPI compile-test coverage
      
       - Revert the workaround of CONFIG_CC_IMPLICIT_FALLTHROUGH
      
       - Fix build errors in certs/Makefile
      
      * tag 'kbuild-fixes-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty
        certs: Fix build error when CONFIG_MODULE_SIG_KEY is PKCS#11 URI
        Revert "Makefile: Do not quote value for CONFIG_CC_IMPLICIT_FALLTHROUGH"
        usr/include/Makefile: add linux/nfc.h to the compile-test coverage
      473aec0e
    • Linus Torvalds's avatar
      Merge tag 'bitmap-5.17-rc1' of git://github.com/norov/linux · 3689f9f8
      Linus Torvalds authored
      Pull bitmap updates from Yury Norov:
      
       - introduce for_each_set_bitrange()
      
       - use find_first_*_bit() instead of find_next_*_bit() where possible
      
       - unify for_each_bit() macros
      
      * tag 'bitmap-5.17-rc1' of git://github.com/norov/linux:
        vsprintf: rework bitmap_list_string
        lib: bitmap: add performance test for bitmap_print_to_pagebuf
        bitmap: unify find_bit operations
        mm/percpu: micro-optimize pcpu_is_populated()
        Replace for_each_*_bit_from() with for_each_*_bit() where appropriate
        find: micro-optimize for_each_{set,clear}_bit()
        include/linux: move for_each_bit() macros from bitops.h to find.h
        cpumask: replace cpumask_next_* with cpumask_first_* where appropriate
        tools: sync tools/bitmap with mother linux
        all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate
        cpumask: use find_first_and_bit()
        lib: add find_first_and_bit()
        arch: remove GENERIC_FIND_FIRST_BIT entirely
        include: move find.h from asm_generic to linux
        bitops: move find_bit_*_le functions from le.h to find.h
        bitops: protect find_first_{,zero}_bit properly
      3689f9f8