Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 5850f879 authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'LA.UM.9.15.r1-07300-KAMORTA.QSSI13.0' of...

Merge tag 'LA.UM.9.15.r1-07300-KAMORTA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel into android13-4.19-kona

"LA.UM.9.15.r1-07300-KAMORTA.QSSI13.0"

* tag 'LA.UM.9.15.r1-07300-KAMORTA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel:
  ASoC: msm-pcm-q6-v2: Add dsp buf check
  ASoC: rouleur-mbhc: Enhance impedance calculation logic
  ASoC: rouleur-mbhc: Fix pop noise heard when headset insertion
  asoc: wsa881x: Fix to set the correct volume level
  soc: swr-mstr-ctrl: remove FIFO_Flush for overflow
  asoc: Add routing control for qrb5165 BT HFP usecase
  soc: swr-mstr: Store and compare dev_addr along with dev_num
  Asoc: fix integer overflow for long duration offload playback
  asoc: Correct the range of dev_token for usb headset.
  asoc: pcm-noirq: set substream state to disconnect when ssr happens
  soc: pinctrl-lpi-legacy : Add nullptr check
  asoc: msm-pcm-routing: Assign default topology when app_type is zero
  asoc: notify dp driver after disp codec probe
  asoc: codecs: fix race condition of core vote and reg access
  ASoC: wcd937x: Add check for ULP irrespective of the Class
  asoc: codecs: Add nullptr check
  ASoC: wcd937x: Update QCRG sequence for wcd937x
  asoc: changes to fix KW errors.
  asoc: changes to fix KW errors.
  ASoC: pcm-routing: Add WSA VI sense macro to support capture
  ASoC: wcd937x: Update EAR PA CnP FSM sequence
  soc: swr-mstr: update component and interrupt enable sequence
  ASoC: wcd937x: Update EAR PA CnP FSM sequence
  soc: add check condition before enabling irq
  ASoC: wcd937x: Add change for LDOL VOUT accuracy calibration
  ASoC: dsp: Synchronise adm commands
  ASoC: wcd937x: Add change to micbias reg for new tanggu fab id
  ASoC: wcd937x: Update register value for new fab id for tanggu
  dsp:q6afe: Resolve crash in q6afe_get_avcs_modules
  ASoC: wcd937x: Change resistor divider output for hph if fab id is enabled
  dsp: adm: add to check output/input channel value
  asoc: Parse wcd-datalane-mismatch property to update rx frame config for khaje
  asoc: wcd-cpe: Set the dma_mask for cpe_device
  asoc: Parse wcd-datalane-mismatch property to update rx frame config for khaje
  ASoC: msm8952: Defer until pcm voice probe done
  q6afe: Fix out of bound access of clkinfo_per_port
  asoc: Register CDC_DMA interface only if enabled
  config: sdm450: Disable CDC_DMA interfaces
  asoc: codecs: add null check before access
  asoc: fix KW issue of using uninitialized variable
  audio-kernel: enable wsa883x compilation on qrb5165
  ASoC: Enable wsa881x-temp-sensor for bengal
  ASoC: msm8952: avoid static route between cpu and codec dai
  asoc: codecs: Fix LPASS register access during bootup
  ASoC: wcd: Add check to stop invalid memory access
  afe: release codec port when afe starts failed
  ASoC: Changes to enable codec clk for wcd9335
  Asoc: check for invalid voice session id
  SoC: codecs: Fix slim_tx port configuration for wcd9335
  ASoC: Get the component handle for cpe and tasha
  ASoC: wcd937x: Change vbg fine voltage to 0.5V for wcd937x second source
  audio-kernel: enable wsa883x compilation on sxr2130
  dsp: fix out of bound access for cal_data size
  dsp: update size check for set/get VI param function
  config: sdm450: Disable TDM and AUXPCM interfaces
  asoc: msm_sdw: Revert adsp ready check for read/write
  ASoC: SDM660: Avoid static route between cpu and codec dai
  asoc: bolero: Update PCM_RATE based delay for amic
  ASoC: SDM660: Avoid static route between cpu and codec dai
  ASoC: Fix for SSR issue on msm8953
  ASoC: error check for backend index and MCLK src
  Asoc: sdm450: Add capture support for Multimedia10 FE
  asoc: add proxy ports for call screening in machine driver
  asoc: msm: Fix compilation error when enable TDM and disable MI2S
  Makefile: Correct TARGET_SUPPORT entry for qrb5165
  dsp: update size check for get VI param function
  asoc: codecs: add child devices after completing initialization
  asoc: bolero: Add core_vote before gfmux access
  dsp: Disable q6_pdr build for msm8937 and msm8953
  asoc: Fixed wsa881x codec machine driver callback
  asoc: codec: enable the cpe on tasha
  Use proper TARGET_SUPPORT entry for sxr2130
  asoc: wsa881x: Fix to set the correct volume level
  ASoC: ep92: Add external mclk support
  ASoC: msm: Add WCD interrupt config for SDA660
  dsp: Unload the BT modules when APR handle is NULL
  asoc: Update copy_to_user to requested buffer size
  ASoC: Audio bringup changes for msm8937_32go.
  asoc: Add check to handle negative value passed for num_app_cfg_type
  ASoC: QCS405: Additional TDM samplerates and channels
  asoc: qcs405: Add support for TDM interface
  asoc: Add support for QUAT and SEN TDM interface
  asoc: qcs405: Update clk src string from dts
  dsp: Add support to update and store clk src values
  dsp: afe topology deregister
  ASoC: qcs405: Add external mclk support
  ASoC: Add external mclk mixer support
  dsp: Fix improper mutex unlock in afe close
  ASoC: wsa883x: Handle PA_ERR interrupt on WSA speaker
  ASoC: Add support to send voice UI port id to afe
  Revert "dsp: avtimer: Add adsp ready check before accessing avtimer registers"
  asoc: wsa881x: Fix crash while capturing swr_slv codec dump
  dsp: add change to enable preemption at cal_utils_dealloc_cal
  asoc: msm_sdw: Handle locking for mclk enable flag
  asoc: codecs: sdm660_cdc: Fix LPASS register access during PDR
  ASoC: lagoon: add support for CPS speaker protection
  dsp: add change to enable preemption at cal_utils_dealloc_cal
  ASoC: tx-macro: Allow regcache sync during clock enablement
  ASoC: wsa883x: add function to get swr device number
  dsp: add change to handle use-after-free in cal_utils_is_cal_stale
  soc: swr-mstr: Check if fifo available before bulk write
  asoc: bolero: control wakeup of swr_tx during clock setup
  soc: swr-mstr: Resolve swr overflow, underflow errors for wsa
  soc: swr-mstr: Update soundwire state to SSR during UP
  dsp: add change to fix use-after-free issue
  asoc: msm-pcm-q6-v2: Update memset for period size
  asoc: va-macro: Allow swr switch at powerup/shutdown
  ASoC: SDM660: Avoid static route between cpu and codec dai
  soc: Synchronize RESET event and lpi ops in legacy driver
  ASoC: codec: Enable wcd-spi driver compilation
  asoc: wcd-spi: Set the dma_mask for spi_device
  ASoC: audio-ext-clk: Add pmi clk support for tasha
  asoc: add null check for pcm pointer of snd_pcm_volume
  dsp: add afe function to send cps configuration
  asoc: Add 32bit support in meta i2s
  asoc: va-macro: Update widget order for VA_MCLK and VA_SWR_PWR
  dsp: Add param header size based on the instance id support
  dsp: q6core: Check q6core avs state to be modules ready
  ASoC: dsp: Synchronise adm and rtac commands
  asoc: codecs: Add support to dump rouleur swr slave regs
  asoc: sdm660: Correct the dev_id for hdmi backend.
  Revert "ASoC: codecs: handle device disconnect during SSR/PDR"
  ASoC: wsa883x: Update register sequence to reduce CnP
  asoc: sdm660: add proxy ports for call screening in machine driver
  soc: swr-mstr: Fix headset detect issue due to master.num_dev not updated
  soc: swr-mstr: Fix random headset detection issue on scuba
  dsp: Feedback path cfg to support 3rd party spkr protection algorithms.
  ASOC: SPV4 set correct number of speakers.
  ASoC: wsa883x: enable vbat adc filter
  config: kona: Disable MI2S, TDM and AUXPCM interfaces
  dsp: fix compilation issue in q6lsm_callback function
  asoc: Register widgets and intercons only when supported
  soc: swr-mstr: Fix random headset detection issue on scuba
  ASoC: codecs: handle device disconnect during SSR
  asoc: dsp: Fix possible invalid memory access due to race condition
  ASoC: rouleur-mbhc: Fix impedance detection issue on rouleur
  dsp: Add support for GET_PARAMS

 Conflicts:
	techpack/audio/asoc/kona.c
	techpack/audio/asoc/msm-pcm-routing-v2.c
	techpack/audio/dsp/q6core.c
	techpack/audio/dsp/q6lsm.c
	techpack/audio/include/dsp/audio_cal_utils.h
	techpack/audio/soc/swr-mstr-ctrl.c
	techpack/audio/soc/swr-mstr-ctrl.h

Change-Id: Id77d1c17f36618427f929d7830200733a0e8b460
parents 837a7e26 66b9d283
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ MY_LOCAL_PATH := $(call my-dir)

UAPI_OUT := $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/include

ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE) $(TRINKET) kona lito bengal sdmshrike sdm660),true)
ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE) $(TRINKET) kona lito bengal sdmshrike sdm660 msm8953 msm8937),true)
$(shell mkdir -p $(UAPI_OUT)/linux;)
$(shell mkdir -p $(UAPI_OUT)/sound;)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/ipc/Module.symvers)
@@ -12,6 +12,9 @@ $(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/dsp/codecs
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/soc/Module.symvers)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/Module.symvers)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/Module.symvers)
ifeq ($(call is-board-platform-in-list, msm8953 msm8937),true)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/wcd934x/Module.symvers)
endif

include $(MY_LOCAL_PATH)/include/uapi/Android.mk
include $(MY_LOCAL_PATH)/ipc/Android.mk
@@ -66,12 +69,12 @@ $(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codec
include $(MY_LOCAL_PATH)/asoc/codecs/wcd937x/Android.mk
endif

ifeq ($(call is-board-platform-in-list, lito),true)
ifeq ($(call is-board-platform-in-list, kona lito),true)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/wsa883x/Module.symvers)
include $(MY_LOCAL_PATH)/asoc/codecs/wsa883x/Android.mk
endif

ifeq ($(call is-board-platform-in-list, sdm660),true)
ifeq ($(call is-board-platform-in-list, sdm660 msm8953 msm8937),true)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/sdm660_cdc/Module.symvers)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/msm_sdw/Module.symvers)
include $(MY_LOCAL_PATH)/asoc/codecs/sdm660_cdc/Android.mk
+7 −3
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@ endif
ifeq ($(TARGET_SUPPORT),sdm660)
KBUILD_OPTIONS += CONFIG_ARCH_SDM660=y
endif
ifeq ($(TARGET_SUPPORT),apq8053 msm8953 msm8937)
KBUILD_OPTIONS += CONFIG_ARCH_SDM450=y
endif

obj-m := ipc/
obj-m += dsp/
@@ -40,12 +43,13 @@ obj-m += asoc/codecs/bolero/
obj-m += asoc/codecs/wcd937x/
endif

ifeq ($(TARGET_SUPPORT), qrb5165)
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qrb5165 sxr2130))
obj-m += asoc/codecs/bolero/
obj-m += asoc/codecs/wcd938x/
obj-m += asoc/codecs/wsa883x/
endif

ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), sdm660))
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), apq8053 sdm660 msm8953 msm8937))
obj-m += asoc/codecs/sdm660_cdc/
endif

@@ -61,7 +65,7 @@ endif
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), sa6155))
KBUILD_OPTIONS += CONFIG_SND_SOC_SA6155=m
endif
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qrb5165))
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qrb5165 sxr2130))
KBUILD_OPTIONS += CONFIG_SND_SOC_KONA=m
endif
endif
+18 −2
Original line number Diff line number Diff line
@@ -46,9 +46,15 @@ TARGET := sdm660
AUDIO_SELECT  := CONFIG_SND_SOC_SDM660=m
endif

ifeq ($(call is-board-platform-in-list,msm8953 msm8937),true)
TARGET := sdm450
AUDIO_SELECT  += CONFIG_SND_SOC_SDM450=m
AUDIO_SELECT  += CONFIG_SND_SOC_EXT_CODEC_SDM450=m
endif

AUDIO_CHIPSET := audio
# Build/Package only in case of supported target
ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE) $(TRINKET) kona lito bengal sdmshrike sdm660),true)
ifeq ($(call is-board-platform-in-list,msmnile $(MSMSTEPPE) $(TRINKET) kona lito bengal sdmshrike sdm660 msm8953 msm8937),true)

LOCAL_PATH := $(call my-dir)

@@ -83,7 +89,7 @@ LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/AndroidKernelModule.mk
###########################################################
ifeq ($(call is-board-platform-in-list, ),true)
ifeq ($(call is-board-platform-in-list, sdm660 msm8953 msm8937),true)
include $(CLEAR_VARS)
LOCAL_MODULE              := $(AUDIO_CHIPSET)_cpe_lsm.ko
LOCAL_MODULE_KBUILD_NAME  := cpe_lsm_dlkm.ko
@@ -101,6 +107,16 @@ LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/AndroidKernelModule.mk
###########################################################
ifeq ($(call is-board-platform-in-list,msm8953 msm8937),true)
include $(CLEAR_VARS)
LOCAL_MODULE              := $(AUDIO_CHIPSET)_machine_ext_$(TARGET).ko
LOCAL_MODULE_KBUILD_NAME  := machine_ext_dlkm.ko
LOCAL_MODULE_TAGS         := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/AndroidKernelModule.mk
endif
###########################################################

endif # DLKM check
endif # supported target check
+32 −0
Original line number Diff line number Diff line
@@ -81,6 +81,21 @@ ifeq ($(KERNEL_BUILD), 0)
		export
		INCS    +=  -include $(AUDIO_ROOT)/config/sdm660autoconf.h
	endif
	ifeq ($(CONFIG_ARCH_SDM450), y)
		include $(AUDIO_ROOT)/config/sdm450auto.conf
		export
		INCS    +=  -include $(AUDIO_ROOT)/config/sdm450autoconf.h
	endif
	ifeq ($(CONFIG_ARCH_SDM439), y)
		include $(AUDIO_ROOT)/config/sdm450auto.conf
		export
		INCS    +=  -include $(AUDIO_ROOT)/config/sdm450autoconf.h
	endif
	ifeq ($(CONFIG_ARCH_MSM8917), y)
		include $(AUDIO_ROOT)/config/sdm450auto.conf
		export
		INCS    +=  -include $(AUDIO_ROOT)/config/sdm450autoconf.h
	endif
endif

# As per target team, build is done as follows:
@@ -170,6 +185,17 @@ ifdef CONFIG_SND_SOC_CPE
	CPE_LSM_OBJS += msm-cpe-lsm.o
endif

# for SDM450 internal codec sound card driver
ifdef CONFIG_SND_SOC_SDM450
	MACHINE_OBJS += msm8952.o
endif

# for SDM450 external codec sound card driver
ifdef CONFIG_SND_SOC_EXT_CODEC_SDM450
	MACHINE_EXT_OBJS += msm8952-slimbus.o
	MACHINE_EXT_OBJS += msm8952-dai-links.o
endif

ifdef CONFIG_SND_SOC_QDSP6V2
	PLATFORM_OBJS += msm-audio-effects-q6-v2.o
	PLATFORM_OBJS += msm-compress-q6-v2.o
@@ -254,6 +280,12 @@ endif
obj-$(CONFIG_SND_SOC_QDSP6V2) += platform_dlkm.o
platform_dlkm-y := $(PLATFORM_OBJS)

obj-$(CONFIG_SND_SOC_SDM450) += machine_dlkm.o
machine_dlkm-y := $(MACHINE_OBJS)

obj-$(CONFIG_SND_SOC_EXT_CODEC_SDM450) += machine_ext_dlkm.o
machine_ext_dlkm-y := $(MACHINE_EXT_OBJS)

obj-$(CONFIG_SND_SOC_SM8150) += machine_dlkm.o
machine_dlkm-y := $(MACHINE_OBJS)

+15 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
 */

#ifndef _BENGAL_PORT_CONFIG
@@ -38,6 +38,14 @@ static struct port_params rx_frame_params_dsd[SWR_MSTR_PORT_LEN] = {
	{3,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 3,    0},
};

static struct port_params rx_frame_params_khaje[SWR_MSTR_PORT_LEN] = {
	{3,  1,  0,  0xFF, 0xFF, 1,    0xFF, 0xFF, 0},
	{31, 0,  0,  3,    6,    7,    0,    0xFF, 0},
	{31, 11, 11, 0xFF, 0xFF, 4,    1,    0xFF, 0},
	{7,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0},
	{0,  0,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0,    0},
};

/* TX UC1: TX1: 1ch, TX2: 2chs, TX3: 1ch(MBHC) */
static struct port_params tx_frame_params_default[SWR_MSTR_PORT_LEN] = {
	{3,  1,  0,  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0},  /* TX1 */
@@ -56,4 +64,10 @@ static struct swr_mstr_port_map sm_port_map_rouleur[] = {
	{RX_MACRO, SWR_UC0, rx_frame_params_rouleur},
	{RX_MACRO, SWR_UC1, rx_frame_params_dsd},
};

static struct swr_mstr_port_map sm_port_map_khaje[] = {
	{VA_MACRO, SWR_UC0, tx_frame_params_default},
	{RX_MACRO, SWR_UC0, rx_frame_params_khaje},
	{RX_MACRO, SWR_UC1, rx_frame_params_dsd},
};
#endif /* _BENGAL_PORT_CONFIG */
Loading