On 16/10/2024 16:35, Bjorn Andersson wrote:
@@ -1064,7 +1064,7 @@ }; gpi_dma0: dma-controller@900000 {
#dma-cells = <3>;
#dma-cells = <4>; compatible = "qcom,sc7280-gpi-dma", "qcom,sm6350-gpi-dma"; reg = <0 0x00900000 0 0x60000>; interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
@@ -1114,8 +1114,8 @@ "qup-memory"; power-domains = <&rpmhpd SC7280_CX>; required-opps = <&rpmhpd_opp_low_svs>;
dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
<&gpi_dma0 1 0 QCOM_GPI_I2C>;
dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C 64>,
<&gpi_dma0 1 0 QCOM_GPI_I2C 64>;
So everywhere is 64, thus this is fixed. Deduce it from the compatible
If I understand correctly, it's a software tunable property, used to balance how many TRE elements that should be preallocated.
If so, it would not be a property of the hardware/compatible, but rather a result of profiling and a balance between memory "waste" and performance.
In such case I would prefer it being runtime-calculated by the driver, based on frequency or expected bandwidth.
And in any case if this is about to stay, having here default values means all upstream users don't need it. What's not upstream, does not exist in such context. We don't add features which are not used by upstream.
Best regards, Krzysztof