Skip to content
Snippets Groups Projects

linux-postmarketos-qcom-sdm845: Improve work-around for call audio regressions

Merged Frank Oltmanns requested to merge fraolt/pmaports:replace_pd_mapper_hack into master

Somehow enabling in-kernel PD mapper (introduced in 5b9f51b200dcb "remoteproc: qcom: enable in-kernel PD mapper"), breaks the bottom mic on xiaomi-beryllium (Poco F1) and distorts audio on OP6 (and possibly OP6T). Temporarily disable it until the issue is resolved upstream.

Previously, the module's was modified to disable the in-kernel PD mapper. This modification was a hack. Instead, modify the config so that the in-kernel PD mapper is not built in the first place, which achieves the same result.

Link: https://lore.kernel.org/linux-arm-msm/20241010074246.15725-1-johan+linaro@kernel.org/T

Link: #3353

Link: #3320

Link: #3245

Link: #3253

Edited by Frank Oltmanns

Merge request reports

Merge request pipeline #214092 passed with warnings

Merge request pipeline passed with warnings for cfdfd971

Merged by CaseyCasey 2 months ago (Jan 22, 2025 2:42pm UTC)

Loading

Pipeline #214104 passed

Pipeline passed for cfdfd971 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Frank Oltmanns changed the description

    changed the description

  • Author Contributor

    Unfortunately, I don't understand how to resolve the build failure.

    After reading the output from build job. I ran pmbootstrap kconfig edit linux-postmarketos-qcom-sdm845 and saw that the pd-mapper is disabled (as expected). I saved the config and so that there were some additional changes. I then ran pmbootstrap kconfig check linux-postmarketos-qcom-sdm845 and it still results in an error.

    Can somebody please guide me?

  • Frank Oltmanns mentioned in merge request !5966 (merged)

    mentioned in merge request !5966 (merged)

    • Resolved by Robert Eckelmann

      @fraolt you need to edit the kernel config and enabled the following items:

      pmaports]$ pmbootstrap kconfig check linux-postmarketos-qcom-sdm845
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ACCUTOUCH should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ACRUX_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ACRUX should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ALPS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_APPLEIR should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_AUREAL should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_BETOP_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_BIGBEN_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_BPF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_CMEDIA should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_CORSAIR should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_COUGAR should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_CP2112 should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_CREATIVE_SB0540 should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_DRAGONRISE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ELAN should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ELECOM should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ELO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_EMS_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_EVISION should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_FT260 should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GEMBIRD should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GFRM should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GLORIOUS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GOOGLE_STADIA_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GREENASIA should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GT683R should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GYRATION should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_HOLTEK should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ICADE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_JABRA should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_KEYTOUCH should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_KYE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LCPOWER should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LED should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LENOVO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LETSKETCH should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LOGITECH_DJ should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_LOGITECH_HIDPP should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MACALLY should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MAGICMOUSE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MALTRON should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MAYFLASH should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MCP2221 should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_MEGAWORLD_FF should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_NTI should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_NTRIG should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_NVIDIA_SHIELD should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ORTEK should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PANTHERLORD should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PENMOUNT should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PETALYNX should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PICOLCD_BACKLIGHT should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PICOLCD_FB should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PICOLCD_LCD should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PICOLCD_LEDS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PICOLCD should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PID should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PLANTRONICS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PLAYSTATION should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PRIMAX should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PRODIKEYS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_PXRC should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_RAZER should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_RETRODE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ROCCAT should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SAITEK should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SAMSUNG should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SEMITEK should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_ACCEL_3D should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_ALS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_DEVICE_ROTATION should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_GYRO_3D should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_HUB should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_HUMIDITY should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_IIO_COMMON should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_IIO_TRIGGER should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_INCLINOMETER_3D should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_MAGNETOMETER_3D should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SENSOR_TEMP should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SIGMAMICRO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SMARTJOYPLUS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SPEEDLINK should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_STEAM should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_STEELSERIES should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_SUNPLUS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_THINGM should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_THRUSTMASTER should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_TIVO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_TOPRE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_TOPSEED should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_TWINHAN should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_U2FZERO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_UCLOGIC should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_UDRAW_PS3 should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_VIEWSONIC should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_VIVALDI should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_WACOM should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_WALTOP should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_WIIMOTE should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_WINWING should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_XIAOMI should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_XINMO should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ZEROPLUS should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_ZYDACRON should be set (category:input)
      [17:34:22] WARNING: config-postmarketos-qcom-sdm845.aarch64: CONFIG_HID_GOODIX_SPI should be set (category:input)

      let me know if you need help with that.

  • added 1 commit

    • 27933eac - linux-postmarketos-qcom-sdm845: Add HID config options

    Compare with previous version

  • Robert Eckelmann resolved all threads

    resolved all threads

  • Robert Eckelmann approved this merge request

    approved this merge request

  • Casey requested review from @caleb

    requested review from @caleb

  • assigned to @caleb

  • Maintainer

    Previously, the module's was modified to disable the in-kernel PD mapper. This modification was a hack. Instead, modify the config so that the in-kernel PD mapper is not built in the first place, which achieves the same result.

    thanks for coming back and fixing this.

  • Casey approved this merge request

    approved this merge request

    • Resolved by Casey

      IMO it should be better to use kernel module instead, only to delay it's loading to fix the timing. This is better in many ways, less qcom-specific userspace services and processes, closer to the dream of common arm64 kernel, less context switches, no dependency on json files from fw partition and evenmore, no dependency on any storage at all. Userspace service is almost deprecated..

  • Clayton Craft marked this merge request as draft

    marked this merge request as draft

  • just marking it as a 'draft' since it seems some design of this needs to be decided/finalized, and it removes this MR from our review queue (remove the 'draft' designation when existing issues/threads are resolved and it's ready for review/merging)

    • Resolved by sulu sulu

      Without going into details, I can say one thing, this mr works on my 6t. There is not a single sound distortion during calls, which is good news.

  • Maintainer

    im confused as to how the in-kernel pd-mapper would have any effect on call audio specifically, other than it either working or not? I guess perhaps there's some specific race condition in what order the DSPs are started initialized? but yeah idk.

    the current state with this patch (which should not have been merged in the first place, but different topic...) is bad, this MR improves it, let's not block it over some orthogonal discussion.

  • Casey mentioned in issue #3481

    mentioned in issue #3481

  • Casey marked this merge request as ready

    marked this merge request as ready

  • Casey resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading