RE: [EXT] Re: [PATCH v4 2/2] dt-bindings: media: imx-jpeg: Assign slot for imx jpeg encoder/decoder

From: Ming Qian
Date: Thu Sep 28 2023 - 05:42:22 EST


>From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>Sent: 2023年9月28日 13:07
>To: Ming Qian <ming.qian@xxxxxxx>; Mirela Rabulea (OSS)
><mirela.rabulea@xxxxxxxxxxx>; robh+dt@xxxxxxxxxx; shawnguo@xxxxxxxxxx
>Cc: krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx;
>mchehab@xxxxxxxxxx; hverkuil-cisco@xxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
>kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; X.H. Bao
><xiahong.bao@xxxxxxx>; Eagle Zhou <eagle.zhou@xxxxxxx>; Tao Jiang
><tao.jiang_2@xxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>;
>devicetree@xxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>Subject: Re: [EXT] Re: [PATCH v4 2/2] dt-bindings: media: imx-jpeg: Assign slot
>for imx jpeg encoder/decoder
>
>Caution: This is an external email. Please take care when clicking links or
>opening attachments. When in doubt, report the message using the 'Report
>this email' button
>
>
>On 27/09/2023 11:10, Ming Qian wrote:
>>> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>>> Sent: 2023年9月27日 16:06
>>> To: Ming Qian <ming.qian@xxxxxxx>; Mirela Rabulea (OSS)
>>> <mirela.rabulea@xxxxxxxxxxx>; robh+dt@xxxxxxxxxx;
>shawnguo@xxxxxxxxxx
>>> Cc: krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx;
>>> mchehab@xxxxxxxxxx; hverkuil-cisco@xxxxxxxxx; s.hauer@xxxxxxxxxxxxxx;
>>> kernel@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; X.H. Bao
>>> <xiahong.bao@xxxxxxx>; Eagle Zhou <eagle.zhou@xxxxxxx>; Tao Jiang
>>> <tao.jiang_2@xxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>;
>>> devicetree@xxxxxxxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux-
>>> kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>>> Subject: [EXT] Re: [PATCH v4 2/2] dt-bindings: media: imx-jpeg:
>>> Assign slot for imx jpeg encoder/decoder
>>>
>>> Caution: This is an external email. Please take care when clicking
>>> links or opening attachments. When in doubt, report the message using
>>> the 'Report this email' button
>>>
>>>
>>> On 26/09/2023 12:10, Ming Qian wrote:
>>>> There are total 4 slots available in the IP, and we only need to use
>>>> one slot in one os, assign a single slot, configure interrupt and
>>>> power domain only for 1 slot, not for the all 4 slots.
>>>>
>>>> Signed-off-by: Ming Qian <ming.qian@xxxxxxx>
>>>> ---
>>>> v4
>>>> - improve commit message
>>>> - don't make an ABI break
>>>> v3
>>>> - add vender prefix, change property slot to nxp,slot
>>>> - add type for property slot
>>>>
>>>> .../bindings/media/nxp,imx8-jpeg.yaml | 45 +++++++++----------
>>>> 1 file changed, 21 insertions(+), 24 deletions(-)
>>>>
>>>> diff --git
>>>> a/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
>>>> b/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
>>>> index 3d9d1db37040..4bcfc815c894 100644
>>>> --- a/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
>>>> +++ b/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
>>>> @@ -32,19 +32,26 @@ properties:
>>>> maxItems: 1
>>>>
>>>> interrupts:
>>>> - description: |
>>>> - There are 4 slots available in the IP, which the driver may use
>>>> - If a certain slot is used, it should have an associated interrupt
>>>> - The interrupt with index i is assumed to be for slot i
>>>> - minItems: 1 # At least one slot is needed by the driver
>>>> - maxItems: 4 # The IP has 4 slots available for use
>>>> + description:
>>>> + Interrupt number for slot
>>>> + maxItems: 1
>>>>
>>>> power-domains:
>>>> description:
>>>> List of phandle and PM domain specifier as documented in
>>>> Documentation/devicetree/bindings/power/power_domain.txt
>>>> - minItems: 2 # Wrapper and 1 slot
>>>> - maxItems: 5 # Wrapper and 4 slots
>>>> + minItems: 1 # VPUMIX
>>>> + maxItems: 2 # Wrapper and 1 slot
>>>> +
>>>> + nxp,slot:
>>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>>> + description:
>>>> + Integer number of slot index used. There are 4 slots available in the IP,
>>>> + and driver can use a certain slot, it should have an associated
>interrupt
>>>> + and power-domain. In theory, it supports 4 os or vm. If not specified,
>0
>>>> + is used by default.
>>>> + minimum: 0
>>>> + maximum: 3
>>>
>>> NAK, you still did not answer concerns why this is needed and justified.
>>> I keep asking and you keep ignoring...
>>>
>>> Best regards,
>>> Krzysztof
>>
>> Hi Krzysztof,
>>
>>> Nothing explains what is a slot and nothing explains why do you need this
>property.
>>
>> I thought I had answered that question, but seems you don't agree with that
>explanation.
>> Would the following description be any better?
>
>No, you didn't. I don't see any explanation in the commit msg. You just say
>you have "4 slots".
>
>Best regards,
>Krzysztof

Hi Krzysztof,

I check the our document again, it does not give a standard definition too. I'll explain it as I understand it. This IP includes a jpeg wrapper, the wrapper is working on descriptor based manner. It support up to 4 slots, each slots can have its own chained descriptors. The purpose is to share the jpeg engine across multiple VMS and os, It's a bit like vm partitioning. We just want to assign 1 slot to linux, Then, theoretically, it can support up to 3 VMS.
The slot index indicates which slot we choose, driver will use the slot index to configure. If not specified, 0 is used by default.
Currently driver only use the slot 0 by default, but it enable the power-domain and request irq to all the 4 slots. there has been no real negative impact, as we have no practical application to use other slots yet. But it does cause trouble when we want to use another slot in a vm.

Best regards,
Ming