1. 19 Jun, 2023 5 commits
  2. 14 Jun, 2023 1 commit
    • Martin Hundebøll's avatar
      mmc: meson-gx: remove redundant mmc_request_done() call from irq context · 3c40eb81
      Martin Hundebøll authored
      The call to mmc_request_done() can schedule, so it must not be called
      from irq context. Wake the irq thread if it needs to be called, and let
      its existing logic do its work.
      
      Fixes the following kernel bug, which appears when running an RT patched
      kernel on the AmLogic Meson AXG A113X SoC:
      [   11.111407] BUG: scheduling while atomic: kworker/0:1H/75/0x00010001
      [   11.111438] Modules linked in:
      [   11.111451] CPU: 0 PID: 75 Comm: kworker/0:1H Not tainted 6.4.0-rc3-rt2-rtx-00081-gfd07f41ed6b4-dirty #1
      [   11.111461] Hardware name: RTX AXG A113X Linux Platform Board (DT)
      [   11.111469] Workqueue: kblockd blk_mq_run_work_fn
      [   11.111492] Call trace:
      [   11.111497]  dump_backtrace+0xac/0xe8
      [   11.111510]  show_stack+0x18/0x28
      [   11.111518]  dump_stack_lvl+0x48/0x60
      [   11.111530]  dump_stack+0x18/0x24
      [   11.111537]  __schedule_bug+0x4c/0x68
      [   11.111548]  __schedule+0x80/0x574
      [   11.111558]  schedule_loop+0x2c/0x50
      [   11.111567]  schedule_rtlock+0x14/0x20
      [   11.111576]  rtlock_slowlock_locked+0x468/0x730
      [   11.111587]  rt_spin_lock+0x40/0x64
      [   11.111596]  __wake_up_common_lock+0x5c/0xc4
      [   11.111610]  __wake_up+0x18/0x24
      [   11.111620]  mmc_blk_mq_req_done+0x68/0x138
      [   11.111633]  mmc_request_done+0x104/0x118
      [   11.111644]  meson_mmc_request_done+0x38/0x48
      [   11.111654]  meson_mmc_irq+0x128/0x1f0
      [   11.111663]  __handle_irq_event_percpu+0x70/0x114
      [   11.111674]  handle_irq_event_percpu+0x18/0x4c
      [   11.111683]  handle_irq_event+0x80/0xb8
      [   11.111691]  handle_fasteoi_irq+0xa4/0x120
      [   11.111704]  handle_irq_desc+0x20/0x38
      [   11.111712]  generic_handle_domain_irq+0x1c/0x28
      [   11.111721]  gic_handle_irq+0x8c/0xa8
      [   11.111735]  call_on_irq_stack+0x24/0x4c
      [   11.111746]  do_interrupt_handler+0x88/0x94
      [   11.111757]  el1_interrupt+0x34/0x64
      [   11.111769]  el1h_64_irq_handler+0x18/0x24
      [   11.111779]  el1h_64_irq+0x64/0x68
      [   11.111786]  __add_wait_queue+0x0/0x4c
      [   11.111795]  mmc_blk_rw_wait+0x84/0x118
      [   11.111804]  mmc_blk_mq_issue_rq+0x5c4/0x654
      [   11.111814]  mmc_mq_queue_rq+0x194/0x214
      [   11.111822]  blk_mq_dispatch_rq_list+0x3ac/0x528
      [   11.111834]  __blk_mq_sched_dispatch_requests+0x340/0x4d0
      [   11.111847]  blk_mq_sched_dispatch_requests+0x38/0x70
      [   11.111858]  blk_mq_run_work_fn+0x3c/0x70
      [   11.111865]  process_one_work+0x17c/0x1f0
      [   11.111876]  worker_thread+0x1d4/0x26c
      [   11.111885]  kthread+0xe4/0xf4
      [   11.111894]  ret_from_fork+0x10/0x20
      
      Fixes: 51c5d844 ("MMC: meson: initial support for GX platforms")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMartin Hundebøll <martin@geanix.com>
      Link: https://lore.kernel.org/r/20230607082713.517157-1-martin@geanix.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      3c40eb81
  3. 13 Jun, 2023 1 commit
  4. 12 Jun, 2023 1 commit
    • Stephan Gerhold's avatar
      mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 · e6f9e590
      Stephan Gerhold authored
      While SDHCI claims to support 64-bit DMA on MSM8916 it does not seem to
      be properly functional. It is not immediately obvious because SDHCI is
      usually used with IOMMU bypassed on this SoC, and all physical memory
      has 32-bit addresses. But when trying to enable the IOMMU it quickly
      fails with an error such as the following:
      
        arm-smmu 1e00000.iommu: Unhandled context fault:
          fsr=0x402, iova=0xfffff200, fsynr=0xe0000, cbfrsynra=0x140, cb=3
        mmc1: ADMA error: 0x02000000
        mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
        mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00002e02
        mmc1: sdhci: Blk size:  0x00000008 | Blk cnt:  0x00000000
        mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000013
        mmc1: sdhci: Present:   0x03f80206 | Host ctl: 0x00000019
        mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000000
        mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
        mmc1: sdhci: Timeout:   0x0000000a | Int stat: 0x00000001
        mmc1: sdhci: Int enab:  0x03ff900b | Sig enab: 0x03ff100b
        mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
        mmc1: sdhci: Caps:      0x322dc8b2 | Caps_1:   0x00008007
        mmc1: sdhci: Cmd:       0x0000333a | Max curr: 0x00000000
        mmc1: sdhci: Resp[0]:   0x00000920 | Resp[1]:  0x5b590000
        mmc1: sdhci: Resp[2]:   0xe6487f80 | Resp[3]:  0x0a404094
        mmc1: sdhci: Host ctl2: 0x00000008
        mmc1: sdhci: ADMA Err:  0x00000001 | ADMA Ptr: 0x0000000ffffff224
        mmc1: sdhci_msm: ----------- VENDOR REGISTER DUMP -----------
        mmc1: sdhci_msm: DLL sts: 0x00000000 | DLL cfg:  0x60006400 | DLL cfg2: 0x00000000
        mmc1: sdhci_msm: DLL cfg3: 0x00000000 | DLL usr ctl:  0x00000000 | DDR cfg: 0x00000000
        mmc1: sdhci_msm: Vndr func: 0x00018a9c | Vndr func2 : 0xf88018a8 Vndr func3: 0x00000000
        mmc1: sdhci: ============================================
        mmc1: sdhci: fffffffff200: DMA 0x0000ffffffffe100, LEN 0x0008, Attr=0x21
        mmc1: sdhci: fffffffff20c: DMA 0x0000000000000000, LEN 0x0000, Attr=0x03
      
      Looking closely it's obvious that only the 32-bit part of the address
      (0xfffff200) arrives at the SMMU, the higher 16-bit (0xffff...) get
      lost somewhere. This might not be a limitation of the SDHCI itself but
      perhaps the bus/interconnect it is connected to, or even the connection
      to the SMMU.
      
      Work around this by setting SDHCI_QUIRK2_BROKEN_64_BIT_DMA to avoid
      using 64-bit addresses.
      Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
      Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20230518-msm8916-64bit-v1-1-5694b0f35211@gerhold.netSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      e6f9e590
  5. 11 Jun, 2023 3 commits
    • Linus Torvalds's avatar
      Linux 6.4-rc6 · 858fd168
      Linus Torvalds authored
      858fd168
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.4_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4c605260
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
      
       - Set up the kernel CS earlier in the boot process in case EFI boots
         the kernel after bypassing the decompressor and the CS descriptor
         used ends up being the EFI one which is not mapped in the identity
         page table, leading to early SEV/SNP guest communication exceptions
         resulting in the guest crashing
      
      * tag 'x86_urgent_for_v6.4_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/head/64: Switch to KERNEL_CS as soon as new GDT is installed
      4c605260
    • Linus Torvalds's avatar
      Merge tag '6.4-rc5-smb3-server-fixes' of git://git.samba.org/ksmbd · 65d7ca59
      Linus Torvalds authored
      Pull smb server fixes from Steve French:
       "Five smb3 server fixes, all also for stable:
      
         - Fix four slab out of bounds warnings: improve checks for protocol
           id, and for small packet length, and for create context parsing,
           and for negotiate context parsing
      
         - Fix for incorrect dereferencing POSIX ACLs"
      
      * tag '6.4-rc5-smb3-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: validate smb request protocol id
        ksmbd: check the validation of pdu_size in ksmbd_conn_handler_loop
        ksmbd: fix posix_acls and acls dereferencing possible ERR_PTR()
        ksmbd: fix out-of-bound read in parse_lease_state()
        ksmbd: fix out-of-bound read in deassemble_neg_contexts()
      65d7ca59
  6. 10 Jun, 2023 3 commits
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 022ce886
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Biggest news is that Andi Shyti steps in for maintaining the
        controller drivers. Thank you very much!
      
        Other than that, one new driver maintainer and the rest is usual
        driver bugfixes. at24 has a Kconfig dependecy fix"
      
      * tag 'i2c-for-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: Add entries for Renesas RZ/V2M I2C driver
        eeprom: at24: also select REGMAP
        i2c: sprd: Delete i2c adapter in .remove's error path
        i2c: mv64xxx: Fix reading invalid status value in atomic mode
        i2c: designware: fix idx_write_cnt in read loop
        i2c: mchp-pci1xxxx: Avoid cast to incompatible function type
        i2c: img-scb: Fix spelling mistake "innacurate" -> "inaccurate"
        MAINTAINERS: Add myself as I2C host drivers maintainer
      022ce886
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 6be5e47b
      Linus Torvalds authored
      Pull soundwire fixes from Vinod Koul:
       "Core fix for missing flag clear, error patch handling in qcom driver
        and BIOS quirk for HP Spectre x360:
      
         - HP Spectre x360 soundwire DMI quirk
      
         - Error path handling for qcom driver
      
         - Core fix for missing clear of alloc_slave_rt"
      
      * tag 'soundwire-6.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
        soundwire: stream: Add missing clear of alloc_slave_rt
        soundwire: qcom: add proper error paths in qcom_swrm_startup()
        soundwire: dmi-quirks: add new mapping for HP Spectre x360
      6be5e47b
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 859c7459
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Most of the changes this time are for the Qualcomm Snapdragon
        platforms.
      
        There are bug fixes for error handling in Qualcomm icc-bwmon,
        rpmh-rsc, ramp_controller and rmtfs driver as well as the AMD tee
        firmware driver and a missing initialization in the Arm ff-a firmware
        driver. The Qualcomm RPMh and EDAC drivers need some rework to work
        correctly on all supported chips.
      
        The DT fixes include:
      
         - i.MX8 fixes for gpio, pinmux and clock settings
      
         - ADS touchscreen gpio polarity settings in several machines
      
         - Address dtb warnings for caches, panel and input-enable properties
           on Qualcomm platforms
      
         - Incorrect data on qualcomm platforms fir SA8155P power domains,
           SM8550 LLCC, SC7180-lite SDRAM frequencies and SM8550 soundwire
      
         - Remoteproc firmware paths are corrected for Sony Xperia 10 IV"
      
      * tag 'arm-fixes-6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (36 commits)
        firmware: arm_ffa: Set handle field to zero in memory descriptor
        ARM: dts: Fix erroneous ADS touchscreen polarities
        arm64: dts: imx8mn-beacon: Fix SPI CS pinmux
        arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts
        arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals
        EDAC/qcom: Get rid of hardcoded register offsets
        EDAC/qcom: Remove superfluous return variable assignment in qcom_llcc_core_setup()
        arm64: dts: qcom: sm8550: Use the correct LLCC register scheme
        dt-bindings: cache: qcom,llcc: Fix SM8550 description
        arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards
        arm64: dts: qcom: sm8550: use uint16 for Soundwire interval
        soc: qcom: rpmhpd: Add SA8155P power domains
        arm64: dts: qcom: Split out SA8155P and use correct RPMh power domains
        dt-bindings: power: qcom,rpmpd: Add SA8155P
        soc: qcom: Rename ice to qcom_ice to avoid module name conflict
        soc: qcom: rmtfs: Fix error code in probe()
        soc: qcom: ramp_controller: Fix an error handling path in qcom_ramp_controller_probe()
        ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc
        ARM: at91: pm: fix imbalanced reference counter for ethernet devices
        arm64: dts: qcom: sm6375-pdx225: Fix remoteproc firmware paths
        ...
      859c7459
  7. 09 Jun, 2023 23 commits
  8. 08 Jun, 2023 3 commits