From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 507B418B04 for ; Fri, 20 Oct 2023 11:14:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="RcKoMa2F" Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5CC261A8 for ; Fri, 20 Oct 2023 04:14:33 -0700 (PDT) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-9c53e8b7cf4so106669666b.1 for ; Fri, 20 Oct 2023 04:14:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697800472; x=1698405272; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qGsAA3n4bcgGN3etGa/Qvpv0Fnu8UXB8L4QIbODAi7Y=; b=RcKoMa2FF59QKP8R0R1gr8nHBdvM2DfLO8l3ASpluUjPtH4s+aj8U9BJqEbJEWsRUh q2y9FPQEd6NSr/9jjcVADBbk4A59TyCaNLAWIK7lcDMoHQVqmGujEOOTgICfgwy2j6bh knr1mll6zJa4CEgoe2ovaKAYJPgE3P9ukvH27djEnbsx0TvGrXy5RMsgTtiXRseBSN5x FaegQTLQVMc8YYIrLKVWvuukMQmxPj0AMylo/2TNwBsL6PWV0Z1UXxAPsaD0Av6PMnY4 uPU6cdeE1yRQwtqULL0bXKAhmknDDoay6h7gpLF5Md2dkAmz1/uQ50T9xXWlblheVyHc CzzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697800472; x=1698405272; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qGsAA3n4bcgGN3etGa/Qvpv0Fnu8UXB8L4QIbODAi7Y=; b=rEW8GEZA4OjDHmDGklU2+dm9XgvmRXhnBOTzY1CV++PR002QmWs3p8Ou5fSRNpskS7 2Mq+61K8hGT2lmxyHii6DnoFculiVng3OYvmHt4OoETf33uip2LGDsfXum1FxgQaeuN2 pF5EiQoTZnE4YKPRzvUR5hc7uYBXLCUeiX6RZtj8b+o4hDBxgFTO/N+2ZeCYHOP7wD8N KbnosvFlFr9yH185l5e9ZANBVc4wegXRff8JYBipVsz2iLQlg9CzQS6HYjZV6Cql7Fzd rKNp3bLAv2ir22sBbwpF79hc/BIJ+fiREUHD8aYzmLUH99QNr2PFsUQGjdFaWs6ACVU1 xjiQ== X-Gm-Message-State: AOJu0YwzXkN8/2dHOLGP3k8YxfSwdMDsAi5DN4RbgLNiqQd0H9Wx9b0x NIRrAdKtkRPMlhIdBUH5vtcKgw== X-Google-Smtp-Source: AGHT+IF/ttqE0K6OGs6Ny/RdJ1s78fppeWFqZulXJro8SoHTWRW2rogRKIpafCmDhsEAaOWO8Qd64w== X-Received: by 2002:a17:907:3f93:b0:9ae:673a:88c8 with SMTP id hr19-20020a1709073f9300b009ae673a88c8mr1219746ejc.21.1697800471603; Fri, 20 Oct 2023 04:14:31 -0700 (PDT) Received: from [192.168.1.20] ([178.197.218.126]) by smtp.gmail.com with ESMTPSA id j14-20020a1709064b4e00b009ad778a68c5sm1298142ejv.60.2023.10.20.04.14.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Oct 2023 04:14:31 -0700 (PDT) Message-ID: <8ce3e155-8787-4a2f-b58e-237afa73fa55@linaro.org> Date: Fri, 20 Oct 2023 13:14:28 +0200 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 1/3] dt-bindings: media: imx-jpeg: Assign slot for imx jpeg encoder/decoder Content-Language: en-US To: ming qian , mirela.rabulea@oss.nxp.com, robh+dt@kernel.org, shawnguo@kernel.org Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, xiahong.bao@nxp.com, eagle.zhou@nxp.com, tao.jiang_2@nxp.com, ming.qian@nxp.com, linux-imx@nxp.com, devicetree@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <46f5f4ce-5033-44f1-bd4b-aef87535e4e3@oss.nxp.com> From: Krzysztof Kozlowski Autocrypt: addr=krzysztof.kozlowski@linaro.org; keydata= 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 D2GYIS41Kv4Isx2dEFh+/Q== In-Reply-To: <46f5f4ce-5033-44f1-bd4b-aef87535e4e3@oss.nxp.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 20/10/2023 07:38, ming qian wrote: > Hi Krzysztof, > >> >>>> From: Ming Qian >>>> >>>> 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 >>>> --- >>>> 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. >> > > We made an internal discussion about this, current approach of the How does it help me? Why private discussion should matter to us? > bindings implies that one dts node is for one slot only, and the slot > property is integer, not a list of slots. Whoever wants to use 2 or more > slots, should put more nodes in the dts, one for each slot. Therefor, Really? Under the same IO address? Please show how it works and then run `dtbs_check W=1`.. > there is no point in allowing more than one interrupt in one node. Or, > if we do, for the sake of allowing one OS to use more slots within the > same dts node, we must also allow more power domains, in any case, we do power-domains, interrupts, everything. > not have multiple slots functionality in the driver anymore. Why your driver should limit bindings? My driver supports multiple slots... Best regards, Krzysztof