summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/wwan/fm/acpi_fm350gl.c9
-rw-r--r--src/drivers/wwan/fm/chip.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/src/drivers/wwan/fm/acpi_fm350gl.c b/src/drivers/wwan/fm/acpi_fm350gl.c
index 80370ad4ab..dbc4f2429d 100644
--- a/src/drivers/wwan/fm/acpi_fm350gl.c
+++ b/src/drivers/wwan/fm/acpi_fm350gl.c
@@ -241,6 +241,14 @@ static void wwan_fm350gl_acpi_fill_ssdt(const struct device *dev)
wwan_fm350gl_acpi_method_shrf(parent, config);
wwan_fm350gl_acpi_method_rst(parent, config);
wwan_fm350gl_acpi_method_dpts(parent, config);
+
+ if (config->add_acpi_dma_property) {
+ struct acpi_dp *dsd;
+ dsd = acpi_dp_new_table("_DSD");
+ acpi_dp_add_integer(dsd, "DmaProperty", 1);
+ acpi_dp_write(dsd);
+ }
+
/* NOTE: the 5G driver will call MRST._RST to trigger a cold reset
* during firmware update.
*/
@@ -249,6 +257,7 @@ static void wwan_fm350gl_acpi_fill_ssdt(const struct device *dev)
acpigen_write_ADR(0);
wwan_fm350gl_acpi_method_mrst_rst(parent, config);
}
+
acpigen_write_device_end(); /* Device */
}
acpigen_write_device_end(); /* Device */
diff --git a/src/drivers/wwan/fm/chip.h b/src/drivers/wwan/fm/chip.h
index 635178bd16..19bc4c9008 100644
--- a/src/drivers/wwan/fm/chip.h
+++ b/src/drivers/wwan/fm/chip.h
@@ -20,6 +20,9 @@ struct drivers_wwan_fm_config {
/* Pointer to the corresponding RTD3 */
DEVTREE_CONST struct device *rtd3dev;
+
+ /* Add `DmaProperty` in _DSD */
+ bool add_acpi_dma_property;
};
#endif /* __DRIVERS_WWAN_FM_CHIP_H__ */