|
105 | 105 |
|
106 | 106 | #define SWRM_SPECIAL_CMD_ID 0xF |
107 | 107 | #define MAX_FREQ_NUM 1 |
108 | | -#define TIMEOUT_MS (2 * HZ) |
| 108 | +#define TIMEOUT_MS 100 |
109 | 109 | #define QCOM_SWRM_MAX_RD_LEN 0x1 |
110 | 110 | #define QCOM_SDW_MAX_PORTS 14 |
111 | 111 | #define DEFAULT_CLK_FREQ 9600000 |
@@ -510,12 +510,12 @@ static irqreturn_t qcom_swrm_wake_irq_handler(int irq, void *dev_id) |
510 | 510 | struct qcom_swrm_ctrl *swrm = dev_id; |
511 | 511 | int ret; |
512 | 512 |
|
513 | | - ret = pm_runtime_get_sync(swrm->dev); |
| 513 | + ret = pm_runtime_resume_and_get(swrm->dev); |
514 | 514 | if (ret < 0 && ret != -EACCES) { |
515 | 515 | dev_err_ratelimited(swrm->dev, |
516 | | - "pm_runtime_get_sync failed in %s, ret %d\n", |
| 516 | + "pm_runtime_resume_and_get failed in %s, ret %d\n", |
517 | 517 | __func__, ret); |
518 | | - pm_runtime_put_noidle(swrm->dev); |
| 518 | + return ret; |
519 | 519 | } |
520 | 520 |
|
521 | 521 | if (swrm->wake_irq > 0) { |
@@ -1058,12 +1058,11 @@ static int qcom_swrm_startup(struct snd_pcm_substream *substream, |
1058 | 1058 | struct snd_soc_dai *codec_dai; |
1059 | 1059 | int ret, i; |
1060 | 1060 |
|
1061 | | - ret = pm_runtime_get_sync(ctrl->dev); |
| 1061 | + ret = pm_runtime_resume_and_get(ctrl->dev); |
1062 | 1062 | if (ret < 0 && ret != -EACCES) { |
1063 | 1063 | dev_err_ratelimited(ctrl->dev, |
1064 | | - "pm_runtime_get_sync failed in %s, ret %d\n", |
| 1064 | + "pm_runtime_resume_and_get failed in %s, ret %d\n", |
1065 | 1065 | __func__, ret); |
1066 | | - pm_runtime_put_noidle(ctrl->dev); |
1067 | 1066 | return ret; |
1068 | 1067 | } |
1069 | 1068 |
|
@@ -1252,12 +1251,12 @@ static int swrm_reg_show(struct seq_file *s_file, void *data) |
1252 | 1251 | struct qcom_swrm_ctrl *swrm = s_file->private; |
1253 | 1252 | int reg, reg_val, ret; |
1254 | 1253 |
|
1255 | | - ret = pm_runtime_get_sync(swrm->dev); |
| 1254 | + ret = pm_runtime_resume_and_get(swrm->dev); |
1256 | 1255 | if (ret < 0 && ret != -EACCES) { |
1257 | 1256 | dev_err_ratelimited(swrm->dev, |
1258 | | - "pm_runtime_get_sync failed in %s, ret %d\n", |
| 1257 | + "pm_runtime_resume_and_get failed in %s, ret %d\n", |
1259 | 1258 | __func__, ret); |
1260 | | - pm_runtime_put_noidle(swrm->dev); |
| 1259 | + return ret; |
1261 | 1260 | } |
1262 | 1261 |
|
1263 | 1262 | for (reg = 0; reg <= SWR_MSTR_MAX_REG_ADDR; reg += 4) { |
@@ -1452,7 +1451,7 @@ static bool swrm_wait_for_frame_gen_enabled(struct qcom_swrm_ctrl *swrm) |
1452 | 1451 | } while (retry--); |
1453 | 1452 |
|
1454 | 1453 | dev_err(swrm->dev, "%s: link status not %s\n", __func__, |
1455 | | - comp_sts && SWRM_FRM_GEN_ENABLED ? "connected" : "disconnected"); |
| 1454 | + comp_sts & SWRM_FRM_GEN_ENABLED ? "connected" : "disconnected"); |
1456 | 1455 |
|
1457 | 1456 | return false; |
1458 | 1457 | } |
@@ -1549,6 +1548,7 @@ static const struct dev_pm_ops swrm_dev_pm_ops = { |
1549 | 1548 | static const struct of_device_id qcom_swrm_of_match[] = { |
1550 | 1549 | { .compatible = "qcom,soundwire-v1.3.0", .data = &swrm_v1_3_data }, |
1551 | 1550 | { .compatible = "qcom,soundwire-v1.5.1", .data = &swrm_v1_5_data }, |
| 1551 | + { .compatible = "qcom,soundwire-v1.6.0", .data = &swrm_v1_5_data }, |
1552 | 1552 | {/* sentinel */}, |
1553 | 1553 | }; |
1554 | 1554 |
|
|
0 commit comments