Message ID | 20240626-port-map-v1-4-bd8987d2b332@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ASoC: codecs: wsa88xx: add support for static port mapping. | expand |
On 27/06/2024 13:55, Srinivas Kandagatla wrote: > Add support to parse static master port map information from device tree. > This is required for correct port mapping between soundwire device and > master ports. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 27/06/2024 13:55, Srinivas Kandagatla wrote: > Add support to parse static master port map information from device tree. > This is required for correct port mapping between soundwire device and > master ports. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > sound/soc/codecs/wsa884x.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c > index a9767ef0e39d..72ff71bfb827 100644 > --- a/sound/soc/codecs/wsa884x.c > +++ b/sound/soc/codecs/wsa884x.c > @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, > wsa884x->sconfig.direction = SDW_DATA_DIR_RX; > wsa884x->sconfig.type = SDW_STREAM_PDM; > > + /** > + * Port map index starts with 0, however the data port for this codec > + * are from index 1 > + */ > + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], > + WSA884X_MAX_SWR_PORTS)) > + dev_info(dev, "Static Port mapping not specified\n"); > + > pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); > pdev->prop.simple_clk_stop_capable = true; > pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop; > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On Thu, Jun 27, 2024 at 12:55:20PM GMT, Srinivas Kandagatla wrote: > Add support to parse static master port map information from device tree. > This is required for correct port mapping between soundwire device and > master ports. > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > --- > sound/soc/codecs/wsa884x.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c > index a9767ef0e39d..72ff71bfb827 100644 > --- a/sound/soc/codecs/wsa884x.c > +++ b/sound/soc/codecs/wsa884x.c > @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, > wsa884x->sconfig.direction = SDW_DATA_DIR_RX; > wsa884x->sconfig.type = SDW_STREAM_PDM; > > + /** > + * Port map index starts with 0, however the data port for this codec > + * are from index 1 > + */ > + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], > + WSA884X_MAX_SWR_PORTS)) > + dev_info(dev, "Static Port mapping not specified\n"); Same comment. Either dev_warn (if it's something to warn about) or dev_info. Or, as your commit message mentions that it is required, it should be an error if the port mapping is not specified. > + > pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); > pdev->prop.simple_clk_stop_capable = true; > pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop; > > -- > 2.25.1 >
On 27/06/2024 15:38, Dmitry Baryshkov wrote: > On Thu, Jun 27, 2024 at 12:55:20PM GMT, Srinivas Kandagatla wrote: >> Add support to parse static master port map information from device tree. >> This is required for correct port mapping between soundwire device and >> master ports. >> >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >> --- >> sound/soc/codecs/wsa884x.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c >> index a9767ef0e39d..72ff71bfb827 100644 >> --- a/sound/soc/codecs/wsa884x.c >> +++ b/sound/soc/codecs/wsa884x.c >> @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, >> wsa884x->sconfig.direction = SDW_DATA_DIR_RX; >> wsa884x->sconfig.type = SDW_STREAM_PDM; >> >> + /** >> + * Port map index starts with 0, however the data port for this codec >> + * are from index 1 >> + */ >> + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], >> + WSA884X_MAX_SWR_PORTS)) >> + dev_info(dev, "Static Port mapping not specified\n"); > > Same comment. Either dev_warn (if it's something to warn about) or > dev_info. > > Or, as your commit message mentions that it is required, it should be an > error if the port mapping is not specified. That would be an ABI break. Best regards, Krzysztof
On 27/06/2024 14:38, Dmitry Baryshkov wrote: > On Thu, Jun 27, 2024 at 12:55:20PM GMT, Srinivas Kandagatla wrote: >> Add support to parse static master port map information from device tree. >> This is required for correct port mapping between soundwire device and >> master ports. >> >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> >> --- >> sound/soc/codecs/wsa884x.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c >> index a9767ef0e39d..72ff71bfb827 100644 >> --- a/sound/soc/codecs/wsa884x.c >> +++ b/sound/soc/codecs/wsa884x.c >> @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, >> wsa884x->sconfig.direction = SDW_DATA_DIR_RX; >> wsa884x->sconfig.type = SDW_STREAM_PDM; >> >> + /** >> + * Port map index starts with 0, however the data port for this codec >> + * are from index 1 >> + */ >> + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], >> + WSA884X_MAX_SWR_PORTS)) >> + dev_info(dev, "Static Port mapping not specified\n"); > > Same comment. Either dev_warn (if it's something to warn about) or > dev_info. > > Or, as your commit message mentions that it is required, it should be an > error if the port mapping is not specified. This is an optional property for older SoCs which have 1:1 port map between device and master. --srini > >> + >> pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); >> pdev->prop.simple_clk_stop_capable = true; >> pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop; >> >> -- >> 2.25.1 >> >
On Thu, 27 Jun 2024 at 17:34, Srinivas Kandagatla <srinivas.kandagatla@linaro.org> wrote: > > > > On 27/06/2024 14:38, Dmitry Baryshkov wrote: > > On Thu, Jun 27, 2024 at 12:55:20PM GMT, Srinivas Kandagatla wrote: > >> Add support to parse static master port map information from device tree. > >> This is required for correct port mapping between soundwire device and > >> master ports. > >> > >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > >> --- > >> sound/soc/codecs/wsa884x.c | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c > >> index a9767ef0e39d..72ff71bfb827 100644 > >> --- a/sound/soc/codecs/wsa884x.c > >> +++ b/sound/soc/codecs/wsa884x.c > >> @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, > >> wsa884x->sconfig.direction = SDW_DATA_DIR_RX; > >> wsa884x->sconfig.type = SDW_STREAM_PDM; > >> > >> + /** > >> + * Port map index starts with 0, however the data port for this codec > >> + * are from index 1 > >> + */ > >> + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], > >> + WSA884X_MAX_SWR_PORTS)) > >> + dev_info(dev, "Static Port mapping not specified\n"); > > > > Same comment. Either dev_warn (if it's something to warn about) or > > dev_info. > > > > Or, as your commit message mentions that it is required, it should be an > > error if the port mapping is not specified. > > This is an optional property for older SoCs which have 1:1 port map > between device and master. Then the commit message is inaccurate. Could you please fix it? > > > --srini > > > >> + > >> pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); > >> pdev->prop.simple_clk_stop_capable = true; > >> pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop; > >> > >> -- > >> 2.25.1 > >> > >
On Thu, 27 Jun 2024 at 17:16, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 27/06/2024 15:38, Dmitry Baryshkov wrote: > > On Thu, Jun 27, 2024 at 12:55:20PM GMT, Srinivas Kandagatla wrote: > >> Add support to parse static master port map information from device tree. > >> This is required for correct port mapping between soundwire device and > >> master ports. > >> > >> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > >> --- > >> sound/soc/codecs/wsa884x.c | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c > >> index a9767ef0e39d..72ff71bfb827 100644 > >> --- a/sound/soc/codecs/wsa884x.c > >> +++ b/sound/soc/codecs/wsa884x.c > >> @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, > >> wsa884x->sconfig.direction = SDW_DATA_DIR_RX; > >> wsa884x->sconfig.type = SDW_STREAM_PDM; > >> > >> + /** > >> + * Port map index starts with 0, however the data port for this codec > >> + * are from index 1 > >> + */ > >> + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], > >> + WSA884X_MAX_SWR_PORTS)) > >> + dev_info(dev, "Static Port mapping not specified\n"); > > > > Same comment. Either dev_warn (if it's something to warn about) or > > dev_info. > > > > Or, as your commit message mentions that it is required, it should be an > > error if the port mapping is not specified. > > That would be an ABI break. Ok. So make it required just for new platforms. My point is that dev_info here is pretty pointless.
diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c index a9767ef0e39d..72ff71bfb827 100644 --- a/sound/soc/codecs/wsa884x.c +++ b/sound/soc/codecs/wsa884x.c @@ -1887,6 +1887,14 @@ static int wsa884x_probe(struct sdw_slave *pdev, wsa884x->sconfig.direction = SDW_DATA_DIR_RX; wsa884x->sconfig.type = SDW_STREAM_PDM; + /** + * Port map index starts with 0, however the data port for this codec + * are from index 1 + */ + if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping", &pdev->m_port_map[1], + WSA884X_MAX_SWR_PORTS)) + dev_info(dev, "Static Port mapping not specified\n"); + pdev->prop.sink_ports = GENMASK(WSA884X_MAX_SWR_PORTS, 0); pdev->prop.simple_clk_stop_capable = true; pdev->prop.sink_dpn_prop = wsa884x_sink_dpn_prop;
Add support to parse static master port map information from device tree. This is required for correct port mapping between soundwire device and master ports. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- sound/soc/codecs/wsa884x.c | 8 ++++++++ 1 file changed, 8 insertions(+)