Message ID | 20240815085725.2740390-2-quic_mdalam@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Add cmd descriptor support | expand |
On 15/08/2024 10:57, Md Sadre Alam wrote: > BAM having pipe locking mechanism. The Lock and Un-Lock bit > should be set on CMD descriptor only. Upon encountering a > descriptor with Lock bit set, the BAM will lock all other > pipes not related to the current pipe group, and keep > handling the current pipe only until it sees the Un-Lock > set. Please wrap commit message according to Linux coding style / submission process (neither too early nor over the limit): https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597 > > Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com> > --- > > Change in [v2] > > * Added initial support for dt-binding > > Change in [v1] > > * This patch was not included in [v1] > > Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > index 3ad0d9b1fbc5..91cc2942aa62 100644 > --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > @@ -77,6 +77,12 @@ properties: > Indicates that the bam is powered up by a remote processor but must be > initialized by the local processor. > > + qcom,bam_pipe_lock: Please follow DTS coding style. > + type: boolean > + description: > + Indicates that the bam pipe needs locking or not based on client driver > + sending the LOCK or UNLOK bit set on command descriptor. You described the desired Linux feature or behavior, not the actual hardware. The bindings are about the latter, so instead you need to rephrase the property and its description to match actual hardware capabilities/features/configuration etc. > + > reg: > maxItems: 1 > > @@ -92,6 +98,8 @@ anyOf: > - qcom,powered-remotely > - required: > - qcom,controlled-remotely > + - required: > + - qcom,bam_pipe_lock Why is it here? What do you want to achieve? > - required: > - clocks > - clock-names Best regards, Krzysztof
On Thu, Aug 15, 2024 at 02:27:10PM +0530, Md Sadre Alam wrote: > BAM having pipe locking mechanism. The Lock and Un-Lock bit > should be set on CMD descriptor only. Upon encountering a > descriptor with Lock bit set, the BAM will lock all other > pipes not related to the current pipe group, and keep > handling the current pipe only until it sees the Un-Lock > set. > > Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com> > --- > > Change in [v2] > > * Added initial support for dt-binding > > Change in [v1] > > * This patch was not included in [v1] > > Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > index 3ad0d9b1fbc5..91cc2942aa62 100644 > --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml > @@ -77,6 +77,12 @@ properties: > Indicates that the bam is powered up by a remote processor but must be > initialized by the local processor. > > + qcom,bam_pipe_lock: > + type: boolean > + description: > + Indicates that the bam pipe needs locking or not based on client driver > + sending the LOCK or UNLOK bit set on command descriptor. > + This looks like a pure driver implementation and doesn't belong to the DT at all. Why can't you add a logic in the driver to use the lock based on some detection mechanism? - Mani > reg: > maxItems: 1 > > @@ -92,6 +98,8 @@ anyOf: > - qcom,powered-remotely > - required: > - qcom,controlled-remotely > + - required: > + - qcom,bam_pipe_lock > - required: > - clocks > - clock-names > -- > 2.34.1 > >
On 8/23/2024 9:09 PM, Manivannan Sadhasivam wrote: > On Thu, Aug 15, 2024 at 02:27:10PM +0530, Md Sadre Alam wrote: >> BAM having pipe locking mechanism. The Lock and Un-Lock bit >> should be set on CMD descriptor only. Upon encountering a >> descriptor with Lock bit set, the BAM will lock all other >> pipes not related to the current pipe group, and keep >> handling the current pipe only until it sees the Un-Lock >> set. >> >> Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com> >> --- >> >> Change in [v2] >> >> * Added initial support for dt-binding >> >> Change in [v1] >> >> * This patch was not included in [v1] >> >> Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml >> index 3ad0d9b1fbc5..91cc2942aa62 100644 >> --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml >> +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml >> @@ -77,6 +77,12 @@ properties: >> Indicates that the bam is powered up by a remote processor but must be >> initialized by the local processor. >> >> + qcom,bam_pipe_lock: >> + type: boolean >> + description: >> + Indicates that the bam pipe needs locking or not based on client driver >> + sending the LOCK or UNLOK bit set on command descriptor. >> + > > This looks like a pure driver implementation and doesn't belong to the DT at > all. Why can't you add a logic in the driver to use the lock based on some > detection mechanism? Sure , will use BAM_SW_VERSION register for detection mechanism, since this support only for bam version above 1.4.0. > > - Mani > >> reg: >> maxItems: 1 >> >> @@ -92,6 +98,8 @@ anyOf: >> - qcom,powered-remotely >> - required: >> - qcom,controlled-remotely >> + - required: >> + - qcom,bam_pipe_lock >> - required: >> - clocks >> - clock-names >> -- >> 2.34.1 >> >> >
diff --git a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml index 3ad0d9b1fbc5..91cc2942aa62 100644 --- a/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml +++ b/Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml @@ -77,6 +77,12 @@ properties: Indicates that the bam is powered up by a remote processor but must be initialized by the local processor. + qcom,bam_pipe_lock: + type: boolean + description: + Indicates that the bam pipe needs locking or not based on client driver + sending the LOCK or UNLOK bit set on command descriptor. + reg: maxItems: 1 @@ -92,6 +98,8 @@ anyOf: - qcom,powered-remotely - required: - qcom,controlled-remotely + - required: + - qcom,bam_pipe_lock - required: - clocks - clock-names
BAM having pipe locking mechanism. The Lock and Un-Lock bit should be set on CMD descriptor only. Upon encountering a descriptor with Lock bit set, the BAM will lock all other pipes not related to the current pipe group, and keep handling the current pipe only until it sees the Un-Lock set. Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com> --- Change in [v2] * Added initial support for dt-binding Change in [v1] * This patch was not included in [v1] Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)