Loading asoc/codecs/swr-dmic.c +12 −4 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ #include "wcd938x/wcd938x.h" #include "swr-dmic.h" #define NUM_ATTEMPTS 5 static int swr_master_channel_map[] = { ZERO, SWRM_TX1_CH1, Loading Loading @@ -450,6 +452,7 @@ static int swr_dmic_probe(struct swr_device *pdev) const char *swr_dmic_name_prefix_of = NULL; const char *swr_dmic_codec_name_of = NULL; struct snd_soc_component *component = NULL; int num_retry = NUM_ATTEMPTS; swr_dmic = devm_kzalloc(&pdev->dev, sizeof(struct swr_dmic_priv), GFP_KERNEL); Loading Loading @@ -512,10 +515,15 @@ static int swr_dmic_probe(struct swr_device *pdev) * as per HW requirement. */ usleep_range(5000, 5010); do { /* Add delay for soundwire enumeration */ usleep_range(100, 110); ret = swr_get_logical_dev_num(pdev, pdev->addr, &swr_devnum); } while (ret && --num_retry); if (ret) { dev_dbg(&pdev->dev, "%s get devnum %d for dev addr %lx failed\n", dev_info(&pdev->dev, "%s get devnum %d for dev addr %llx failed\n", __func__, swr_devnum, pdev->addr); ret = -EPROBE_DEFER; goto err; Loading Loading @@ -670,7 +678,7 @@ static int swr_dmic_down(struct swr_device *pdev) static int swr_dmic_reset(struct swr_device *pdev) { struct swr_dmic_priv *swr_dmic; u8 retry = 5; u8 retry = NUM_ATTEMPTS; u8 devnum = 0; swr_dmic = swr_get_dev_data(pdev); Loading asoc/codecs/swr-haptics.c +6 −1 Original line number Diff line number Diff line Loading @@ -314,6 +314,7 @@ static int swr_haptics_probe(struct swr_device *sdev) struct swr_haptics_dev *swr_hap; int rc; u8 devnum; int retry = 5; swr_hap = devm_kzalloc(&sdev->dev, sizeof(struct swr_haptics_dev), GFP_KERNEL); Loading Loading @@ -346,8 +347,12 @@ static int swr_haptics_probe(struct swr_device *sdev) __func__, rc); goto clean; } do { /* Add delay for soundwire enumeration */ usleep_range(500, 510); rc = swr_get_logical_dev_num(sdev, sdev->addr, &devnum); } while (rc && --retry); if (rc) { dev_err(swr_hap->dev, "%s: failed to get devnum for swr-haptics, rc=%d\n", __func__, rc); Loading asoc/codecs/wcd938x/wcd938x-slave.c +11 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #define SWR_SLV_MAX_DEVICES 2 #endif /* CONFIG_DEBUG_FS */ #define SWR_MAX_RETRY 5 struct wcd938x_slave_priv { struct swr_device *swr_slave; #ifdef CONFIG_DEBUG_FS Loading Loading @@ -278,17 +280,24 @@ static int wcd938x_slave_bind(struct device *dev, int ret = 0; uint8_t devnum = 0; struct swr_device *pdev = to_swr_device(dev); int retry = SWR_MAX_RETRY; if (!pdev) { pr_err("%s: invalid swr device handle\n", __func__); return -EINVAL; } do { /* Add delay for soundwire enumeration */ usleep_range(100, 110); ret = swr_get_logical_dev_num(pdev, pdev->addr, &devnum); } while (ret && --retry); if (ret) { dev_dbg(&pdev->dev, "%s get devnum %d for dev addr %lx failed\n", "%s get devnum %d for dev addr %llx failed\n", __func__, devnum, pdev->addr); ret = -EPROBE_DEFER; return ret; } pdev->dev_num = devnum; Loading asoc/codecs/wcd938x/wcd938x.c +8 −7 Original line number Diff line number Diff line Loading @@ -1992,15 +1992,16 @@ static int wcd938x_get_logical_addr(struct swr_device *swr_dev) int num_retry = NUM_ATTEMPTS; do { ret = swr_get_logical_dev_num(swr_dev, swr_dev->addr, &devnum); if (ret) { dev_err(&swr_dev->dev, "%s get devnum %d for dev addr %lx failed\n", __func__, devnum, swr_dev->addr); /* retry after 1ms */ usleep_range(1000, 1010); } ret = swr_get_logical_dev_num(swr_dev, swr_dev->addr, &devnum); } while (ret && --num_retry); if (ret) dev_err(&swr_dev->dev, "%s get devnum %d for dev addr %llx failed\n", __func__, devnum, swr_dev->addr); swr_dev->dev_num = devnum; return 0; } Loading Loading
asoc/codecs/swr-dmic.c +12 −4 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ #include "wcd938x/wcd938x.h" #include "swr-dmic.h" #define NUM_ATTEMPTS 5 static int swr_master_channel_map[] = { ZERO, SWRM_TX1_CH1, Loading Loading @@ -450,6 +452,7 @@ static int swr_dmic_probe(struct swr_device *pdev) const char *swr_dmic_name_prefix_of = NULL; const char *swr_dmic_codec_name_of = NULL; struct snd_soc_component *component = NULL; int num_retry = NUM_ATTEMPTS; swr_dmic = devm_kzalloc(&pdev->dev, sizeof(struct swr_dmic_priv), GFP_KERNEL); Loading Loading @@ -512,10 +515,15 @@ static int swr_dmic_probe(struct swr_device *pdev) * as per HW requirement. */ usleep_range(5000, 5010); do { /* Add delay for soundwire enumeration */ usleep_range(100, 110); ret = swr_get_logical_dev_num(pdev, pdev->addr, &swr_devnum); } while (ret && --num_retry); if (ret) { dev_dbg(&pdev->dev, "%s get devnum %d for dev addr %lx failed\n", dev_info(&pdev->dev, "%s get devnum %d for dev addr %llx failed\n", __func__, swr_devnum, pdev->addr); ret = -EPROBE_DEFER; goto err; Loading Loading @@ -670,7 +678,7 @@ static int swr_dmic_down(struct swr_device *pdev) static int swr_dmic_reset(struct swr_device *pdev) { struct swr_dmic_priv *swr_dmic; u8 retry = 5; u8 retry = NUM_ATTEMPTS; u8 devnum = 0; swr_dmic = swr_get_dev_data(pdev); Loading
asoc/codecs/swr-haptics.c +6 −1 Original line number Diff line number Diff line Loading @@ -314,6 +314,7 @@ static int swr_haptics_probe(struct swr_device *sdev) struct swr_haptics_dev *swr_hap; int rc; u8 devnum; int retry = 5; swr_hap = devm_kzalloc(&sdev->dev, sizeof(struct swr_haptics_dev), GFP_KERNEL); Loading Loading @@ -346,8 +347,12 @@ static int swr_haptics_probe(struct swr_device *sdev) __func__, rc); goto clean; } do { /* Add delay for soundwire enumeration */ usleep_range(500, 510); rc = swr_get_logical_dev_num(sdev, sdev->addr, &devnum); } while (rc && --retry); if (rc) { dev_err(swr_hap->dev, "%s: failed to get devnum for swr-haptics, rc=%d\n", __func__, rc); Loading
asoc/codecs/wcd938x/wcd938x-slave.c +11 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #define SWR_SLV_MAX_DEVICES 2 #endif /* CONFIG_DEBUG_FS */ #define SWR_MAX_RETRY 5 struct wcd938x_slave_priv { struct swr_device *swr_slave; #ifdef CONFIG_DEBUG_FS Loading Loading @@ -278,17 +280,24 @@ static int wcd938x_slave_bind(struct device *dev, int ret = 0; uint8_t devnum = 0; struct swr_device *pdev = to_swr_device(dev); int retry = SWR_MAX_RETRY; if (!pdev) { pr_err("%s: invalid swr device handle\n", __func__); return -EINVAL; } do { /* Add delay for soundwire enumeration */ usleep_range(100, 110); ret = swr_get_logical_dev_num(pdev, pdev->addr, &devnum); } while (ret && --retry); if (ret) { dev_dbg(&pdev->dev, "%s get devnum %d for dev addr %lx failed\n", "%s get devnum %d for dev addr %llx failed\n", __func__, devnum, pdev->addr); ret = -EPROBE_DEFER; return ret; } pdev->dev_num = devnum; Loading
asoc/codecs/wcd938x/wcd938x.c +8 −7 Original line number Diff line number Diff line Loading @@ -1992,15 +1992,16 @@ static int wcd938x_get_logical_addr(struct swr_device *swr_dev) int num_retry = NUM_ATTEMPTS; do { ret = swr_get_logical_dev_num(swr_dev, swr_dev->addr, &devnum); if (ret) { dev_err(&swr_dev->dev, "%s get devnum %d for dev addr %lx failed\n", __func__, devnum, swr_dev->addr); /* retry after 1ms */ usleep_range(1000, 1010); } ret = swr_get_logical_dev_num(swr_dev, swr_dev->addr, &devnum); } while (ret && --num_retry); if (ret) dev_err(&swr_dev->dev, "%s get devnum %d for dev addr %llx failed\n", __func__, devnum, swr_dev->addr); swr_dev->dev_num = devnum; return 0; } Loading