Messages in this thread | | | Date | Thu, 19 Oct 2023 15:47:08 +0800 | Subject | Re: [PATCH v5 1/3] dt-bindings: media: imx-jpeg: Assign slot for imx jpeg encoder/decoder | From | ming qian <> |
| |
Hi Krzysztof,
>> From: Ming Qian <ming.qian@nxp.com> >> >> This IP includes a jpeg wrapper and a jpeg engine, the wrapper is >> working on descriptor based manner. It supports up to 4 slots, each slot >> can have its own chained descriptors. Host won't configure the engine >> directly, but fill some descriptors to encode or decode one jpeg >> picture. Then configure the descriptors to certain slot register. The >> jpeg wrapper will schedule between different slots. When some slot is >> finished, the slot interrupt will be triggered. The purpose of slot is >> that engine can be shared across multiple VMS and os. >> >> Currently, power domains and interrupts are enabled for all 4 slots, but >> only one slot is used. There is no benefit in using more that one slot >> from within the same OS, as the slots are scheduled in round-robin >> manner and not executed in parallel. >> >> Use the property "nxp,slot" to assign a single slot, and just expose the >> parts of the h/w for the assigned slot. For example, only put slot 1's >> power-domains entry in the DT when slot 1 is assigned. If not specified, >> 0 is used by default. >> >> Signed-off-by: Ming Qian <ming.qian@nxp.com> >> --- >> v5 >> - improve commit message >> - improve property description >> >> v4 >> - improve commit message >> - drop line making the property required, to avoid ABI break >> >> v3 >> - add vender prefix, change property slot to nxp,slot >> - add type for property slot >> >> v2 >> - add a new property in bindings document >> >> .../bindings/media/nxp,imx8-jpeg.yaml | 46 +++++++++---------- >> 1 file changed, 22 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..0961856bdcab 100644 >> --- a/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml >> +++ b/Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml >> @@ -32,19 +32,27 @@ 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 > > The device still has four interrupts, so we should allow up to four of > them. One given OS might want to use two or all four slots. > > Got it, I will fix it in v6 patch.
>> >> 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 # Mixed power domain >> + maxItems: 2 # Wrapper and 1 slot >> + >> + nxp,slot: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + Integer number of slot index used. This IP includes a jpeg wrapper, the >> + wrapper is working on descriptor based manner. It supports up to 4 slots, >> + each slot can have its own chained descriptors. The purpose is to share >> + the jpeg engine across multiple VMS and os. We use this property to >> + assign a single slot. If not specified, 0 is used by default. >> + minimum: 0 >> + maximum: 3 > > default: 0 > Got it.
Best regards, Ming > > > Best regards, > Krzysztof >
| |