Преглед изворни кода

Merge a6734b9ac028ce5ac0fab2a91f5060f9ffc41797 on remote branch

Change-Id: Ie689efa4ea9bbdda51462eb69d0690b7b55df0b2
Linux Build Service Account пре 1 година
родитељ
комит
fe951e3363
8 измењених фајлова са 171 додато и 13 уклоњено
  1. 3 1
      BUILD.bazel
  2. 32 0
      EnableBazel.mk
  3. 5 0
      asoc/codecs/wcd-mbhc-adc.c
  4. 9 6
      asoc/pineapple.c
  5. 68 0
      audio_modules.bzl
  6. 49 0
      build/blair.bzl
  7. 3 4
      soc/pinctrl-lpi.c
  8. 2 2
      soc/swr-mstr-ctrl.c

+ 3 - 1
BUILD.bazel

@@ -47,6 +47,8 @@ ddk_headers(
 
 load(":build/pineapple.bzl", "define_pineapple")
 load(":build/kalama.bzl", "define_kalama")
+load(":build/blair.bzl", "define_blair")
 
 define_kalama()
-define_pineapple()
+define_pineapple()
+define_blair()

+ 32 - 0
EnableBazel.mk

@@ -34,4 +34,36 @@ LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd938x/wcd938x_slave_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd939x/wcd939x_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd939x/wcd939x_slave_dlkm.ko
 LOCAL_MODULE_KO_DIRS += asoc/codecs/hdmi_dlkm.ko
+endif
+
+ifeq ($(call is-board-platform-in-list,blair),true)
+LOCAL_MODULE_DDK_BUILD := true
+
+LOCAL_MODULE_KO_DIRS := dsp/q6_notifier_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/spf_core_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/audpkt_ion_dlkm.ko
+LOCAL_MODULE_KO_DIRS += ipc/gpr_dlkm.ko
+LOCAL_MODULE_KO_DIRS += ipc/audio_pkt_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/q6_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/adsp_loader_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/audio_prm_dlkm.ko
+LOCAL_MODULE_KO_DIRS += dsp/q6_pdr_dlkm.ko
+LOCAL_MODULE_KO_DIRS += soc/pinctrl_lpi_dlkm.ko
+LOCAL_MODULE_KO_DIRS += soc/swr_dlkm.ko
+LOCAL_MODULE_KO_DIRS += soc/swr_ctrl_dlkm.ko
+LOCAL_MODULE_KO_DIRS += soc/snd_event_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd_core_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/mbhc_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd9xxx_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/stub_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/machine_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/bolero/bolero_cdc_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/bolero/va_macro_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/bolero/tx_macro_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/bolero/rx_macro_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wsa881x_analog_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd937x/wcd937x_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd937x/wcd937x_slave_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd938x/wcd938x_dlkm.ko
+LOCAL_MODULE_KO_DIRS += asoc/codecs/wcd938x/wcd938x_slave_dlkm.ko
 endif

+ 5 - 0
asoc/codecs/wcd-mbhc-adc.c

@@ -1039,6 +1039,11 @@ static irqreturn_t wcd_mbhc_adc_hs_rem_irq(int irq, void *data)
 		goto exit;
 	}
 
+	if (!(test_bit(WCD_MBHC_ELEC_HS_REM, &mbhc->intr_status))) {
+		pr_debug("%s: plug removal already reported.\n", __func__);
+		goto exit;
+	}
+
 	if (mbhc->mbhc_cfg->moisture_en ||
 	    mbhc->mbhc_cfg->moisture_duty_cycle_en) {
 		if (mbhc->mbhc_cb->hph_pa_on_status)

+ 9 - 6
asoc/pineapple.c

@@ -26,6 +26,7 @@
 #include <sound/pcm_params.h>
 #include <sound/info.h>
 #include <soc/snd_event.h>
+#include <soc/qcom/socinfo.h>
 #include <dsp/audio_prm.h>
 #include <soc/swr-common.h>
 #include <soc/soundwire.h>
@@ -1540,12 +1541,14 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev, int w
 		rc = of_property_read_u32(dev->of_node,
 					   "qcom,ext-disp-audio-rx", &val);
 		if (!rc && val) {
-			dev_dbg(dev, "%s(): ext disp audio support present\n",
-				__func__);
-			memcpy(msm_pineapple_dai_links + total_links,
-			       ext_disp_be_dai_link,
-			       sizeof(ext_disp_be_dai_link));
-			total_links += ARRAY_SIZE(ext_disp_be_dai_link);
+			if (!socinfo_get_part_info(PART_DISPLAY)) {
+				dev_dbg(dev, "%s(): ext disp audio support present\n",
+					__func__);
+				memcpy(msm_pineapple_dai_links + total_links,
+				       ext_disp_be_dai_link,
+				       sizeof(ext_disp_be_dai_link));
+				total_links += ARRAY_SIZE(ext_disp_be_dai_link);
+			}
 		}
 
 		rc = of_property_read_u32(dev->of_node, "qcom,wcn-bt", &val);

+ 68 - 0
audio_modules.bzl

@@ -6,6 +6,7 @@ SOC_PATH = "soc"
 ASOC_PATH = "asoc"
 ASOC_CODECS_PATH = ASOC_PATH + "/codecs"
 ASOC_CODECS_LPASS_CDC_PATH = ASOC_CODECS_PATH + "/lpass-cdc"
+ASOC_CODECS_BOLERO_PATH = ASOC_CODECS_PATH + "/bolero"
 
 audio_modules = create_module_registry([":audio_headers"])
 # ------------------------------------ AUDIO MODULE DEFINITIONS ---------------------------------
@@ -311,6 +312,55 @@ audio_modules.register(
     config_option = "CONFIG_LPASS_CDC_TX_MACRO",
     srcs = ["lpass-cdc-tx-macro.c"]
 )
+# >>>> ASOC/CODECS/BOLERO MODULES <<<<
+audio_modules.register(
+    name = "bolero_cdc_dlkm",
+    path = ASOC_CODECS_BOLERO_PATH,
+    config_option = "CONFIG_SND_SOC_BOLERO",
+    srcs = [
+        "bolero-cdc.c",
+        "bolero-cdc-utils.c",
+        "bolero-cdc-regmap.c",
+        "bolero-cdc-tables.c",
+        "bolero-clk-rsc.c",
+    ],
+)
+audio_modules.register(
+    name = "va_macro_dlkm",
+    path = ASOC_CODECS_BOLERO_PATH,
+    config_option = "CONFIG_VA_MACRO",
+    srcs = ["va-macro.c"]
+)
+audio_modules.register(
+    name = "rx_macro_dlkm",
+    path = ASOC_CODECS_BOLERO_PATH,
+    config_option = "CONFIG_RX_MACRO",
+    srcs = ["rx-macro.c"]
+)
+audio_modules.register(
+    name = "tx_macro_dlkm",
+    path = ASOC_CODECS_BOLERO_PATH,
+    config_option = "CONFIG_TX_MACRO",
+    srcs = ["tx-macro.c"]
+)
+# >>>> WSA881X-ANALOG MODULE <<<<
+audio_modules.register(
+    name = "wsa881x_analog_dlkm",
+    path = ASOC_CODECS_PATH,
+    config_option = "CONFIG_SND_SOC_WSA881X_ANALOG",
+    srcs = [
+        "wsa881x-analog.c",
+        "wsa881x-tables-analog.c",
+        "wsa881x-regmap-analog.c",
+	],
+    conditional_srcs = {
+        "CONFIG_WSA881X_TEMP_SENSOR_DISABLE": {
+            False: [
+                "wsa881x-temp-sensor.c"
+            ]
+        }
+    }
+)
 # >>>> WSA883X MODULE <<<<
 audio_modules.register(
     name = "wsa883x_dlkm",
@@ -333,6 +383,24 @@ audio_modules.register(
         "wsa884x-tables.c",
     ]
 )
+# >>>> WCD937X MODULES <<<<
+audio_modules.register(
+    name = "wcd937x_dlkm",
+    path = ASOC_CODECS_PATH + "/wcd937x",
+    config_option = "CONFIG_SND_SOC_WCD937X",
+    srcs = [
+        "wcd937x.c",
+        "wcd937x-regmap.c",
+        "wcd937x-tables.c",
+        "wcd937x-mbhc.c",
+    ],
+)
+audio_modules.register(
+    name = "wcd937x_slave_dlkm",
+    path = ASOC_CODECS_PATH + "/wcd937x",
+    config_option = "CONFIG_SND_SOC_WCD937X_SLAVE",
+    srcs = ["wcd937x_slave.c"]
+)
 # >>>> WCD938X MODULES <<<<
 audio_modules.register(
     name = "wcd938x_dlkm",

+ 49 - 0
build/blair.bzl

@@ -0,0 +1,49 @@
+load(":audio_modules.bzl", "audio_modules")
+load(":module_mgr.bzl", "define_consolidate_gki_modules")
+
+def define_blair():
+    define_consolidate_gki_modules(
+        target = "blair",
+        registry = audio_modules,
+        modules = [
+            "q6_dlkm",
+            "spf_core_dlkm",
+            "audpkt_ion_dlkm",
+            "q6_notifier_dlkm",
+            "adsp_loader_dlkm",
+            "audio_prm_dlkm",
+            "q6_pdr_dlkm",
+            "gpr_dlkm",
+            "audio_pkt_dlkm",
+            "pinctrl_lpi_dlkm",
+            "swr_dlkm",
+            "swr_ctrl_dlkm",
+            "snd_event_dlkm",
+            "machine_dlkm",
+            "wcd_core_dlkm",
+            "mbhc_dlkm",
+            "wcd9xxx_dlkm",
+            "stub_dlkm",
+            "bolero_cdc_dlkm",
+            "va_macro_dlkm",
+            "tx_macro_dlkm",
+            "rx_macro_dlkm",
+            "wsa881x_analog_dlkm",
+            "wcd937x_dlkm",
+            "wcd937x_slave_dlkm",
+            "wcd938x_dlkm",
+            "wcd938x_slave_dlkm",
+        ],
+        config_options = [
+            "CONFIG_SND_SOC_HOLI",
+            "CONFIG_SND_SOC_MSM_QDSP6V2_INTF",
+            "CONFIG_MSM_QDSP6_SSR",
+            "CONFIG_DIGITAL_CDC_RSC_MGR",
+            "CONFIG_SOUNDWIRE_MSTR_CTRL",
+            "CONFIG_WCD9XXX_CODEC_CORE_V2",
+            "CONFIG_MSM_CDC_PINCTRL",
+            "CONFIG_SND_SOC_WCD_IRQ",
+            "CONFIG_SND_SOC_WCD9XXX_V2",
+            "CONFIG_SND_SOC_WCD_MBHC_ADC",
+        ]
+    )

+ 3 - 4
soc/pinctrl-lpi.c

@@ -535,12 +535,11 @@ static int lpi_notifier_service_cb(struct notifier_block *this,
 		lpi_dev_up = false;
 		break;
 	case AUDIO_NOTIFIER_SERVICE_UP:
-		if (initial_boot) {
+		if (initial_boot)
 			initial_boot = false;
 
-			lpi_dev_up = true;
-			snd_event_notify(lpi_dev, SND_EVENT_UP);
-		}
+		lpi_dev_up = true;
+		snd_event_notify(lpi_dev, SND_EVENT_UP);
 		break;
 	default:
 		break;

+ 2 - 2
soc/swr-mstr-ctrl.c

@@ -321,7 +321,7 @@ static ssize_t swrm_debug_peek_write(struct file *file, const char __user *ubuf,
 
 	lbuf[count] = '\0';
 	rc = get_parameters(lbuf, param, 1);
-	if ((param[0] <= SWRM_MAX_REGISTER) && (rc == 0))
+	if ((param[0] <= SWRM_MAX_REGISTER) && (rc == 0) && (param[0] % 4 == 0))
 		swrm->read_data = swr_master_read(swrm, param[0]);
 	else
 		rc = -EINVAL;
@@ -360,7 +360,7 @@ static ssize_t swrm_debug_write(struct file *file,
 	rc = get_parameters(lbuf, param, 2);
 	if ((param[0] <= SWRM_MAX_REGISTER) &&
 		(param[1] <= 0xFFFFFFFF) &&
-		(rc == 0))
+		(rc == 0) && (param[0] % 4 == 0))
 		swr_master_write(swrm, param[0], param[1]);
 	else
 		rc = -EINVAL;