Message ID | 20231206063045.97234-1-aakarsh.jain@samsung.com |
---|---|
Headers | show |
Series | Add MFC V12 support | expand |
On 06/12/2023 07:30, Aakarsh Jain wrote: > Add MFC DT node and reserve memory node for MFC usage. > > Cc: linux-fsd@tesla.com > Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> > --- > arch/arm64/boot/dts/tesla/fsd.dtsi | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) This should be merged via Samsung SoC, so I will take it once bindings get accepted. If there is going to be resend of entire patchset, please don't include this patch in new resend. If this patch needs resending, send it separately and provide lore link to the bindings. Best regards, Krzysztof
On 06/12/2023 07:30, Aakarsh Jain wrote: > In MFCv12, some section of firmware gets updated at each MFC run. > Hence we need to reload original firmware for each run at the start. > > Cc: linux-fsd@tesla.com > Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> > --- > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > index b49159142c53..24dd40ae71ec 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > @@ -51,8 +51,10 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev *dev) > * into kernel. */ > mfc_debug_enter(); > > - if (dev->fw_get_done) > - return 0; > + /* Load MFC v12 firmware for each run when MFC runs sequentially */ You had a much longer explanation in your reply to my original question. I think it is better if that longer explanation is added here. Things that are weird and unexpected need good comments, explaining why it is done, and also what you know and do not know about this. E.g. you know through trial and error that it is needed (or perhaps you got information on this some the fw team), but there might be open questions that are not yet answered. This is all information that you can't get from the source code since it has to do with the black box firmware. So putting all you know in a comment is the best way of communicating this to future readers of the source code. Regards, Hans > + if (!IS_MFCV12(dev)) > + if (dev->fw_get_done) > + return 0; > > for (i = MFC_FW_MAX_VERSIONS - 1; i >= 0; i--) { > if (!dev->variant->fw_name[i])
On 06/12/2023 07:30, Aakarsh Jain wrote: > This patch series adds MFC v12 support. MFC v12 is used in Tesla FSD SoC. > > This adds support for following: > > -Add support for YV12 and I420 format (3-plane) > -Add support for Rate Control, UHD and DMABUF for encoder > -Add support for DPB buffers allocation based on MFC requirement I'm getting one smatch warning: drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c:2453 s5p_mfc_queue_setup() error: we previously assumed 'ctx->src_fmt' could be null (see line 2441) And a few kerneldoc warnings: drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'chroma_size_1' not described in 's5p_mfc_ctx' drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'is_10bit' not described in 's5p_mfc_ctx' drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'is_422' not described in 's5p_mfc_ctx' drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: warning: Function parameter or member 'stride' not described in 's5p_mfc_ctx' Something for v6. Regards, Hans > > Changes since v4: > -Addressed review comments by Krzysztof Kozlowski. > As per discussion included iommus property in dt-schema. > -Addressed review comments by Hans Verkuil. > Fixed checkpatch warnings with --strict flag enabled. > Upstreamed s5p-mfc-v12.fw to linux-firmware. > Added comment in the patch 9 regarding loading mfc firmware v12 > sequentially. > -Addressed review comments by Nicolas Dufresne > Made use of v4l2-common library to get number of planes needed for > particular format in patch 4. > v4 link:https://patchwork.kernel.org/project/linux-media/patch/20231025102216.50480-2-aakarsh.jain@samsung.com/ > > Changes since v3: > -Removed vp9 codec support for now and just keeping MFC v12 base > patches with necessary hardware controls, decoder, encoder and > structural changes. Also covers luma dbp, chroma dpb and mv sizes > for each codec as per the UM for MFCv12, along with appropriate > alignment. > v3 link: https://patchwork.kernel.org/project/linux-media/cover/20221011122516.32135-1-aakarsh.jain@samsung.com/ > > Changes since v2: > -Addressed review comments by Rob Herring. > This was regarding the errors found by Rob bot in yaml file. File > 'samsung,s5p-mfc.yaml' is already converted into json schema and is > merged. > > -Addressed review comments by Krzysztof Kozlowski. > This was regarding depricated properties mentioned in s5p-mfc.txt file. > Review comment was addressed and 'samsung,s5p-mfc.yaml' is already > merged now. > > -Addressed review comments by Andi Shyti. > This was regarding addition of 'MFC_V10PLUS_BITS' macro in > 's5p_mfc_common.h file. > v2 link: https://patchwork.kernel.org/project/linux-media/cover/20220907064715.55778-1-smitha.t@samsung.com/ > > Changes since v1: > -Addressed review comments by Krzysztof Kozlowski. > Separated bug fixes patches, resent again with fix tag > and those are merged now. > -Added SoC based compatible string. > > -Addressed review comments by Andrzej Hajda > Assigned width64 and height32 variable with ALIGN(ctx->img_..) > used in the code in 's5p_mfc_opr_v6.c' file. > v1 link: https://patchwork.kernel.org/project/linux-media/patch/20220517125548.14746-2-smitha.t@samsung.com/ > > Aakarsh Jain (11): > dt-bindings: media: s5p-mfc: Add mfcv12 variant > media: s5p-mfc: Rename IS_MFCV10 macro > media: s5p-mfc: Add initial support for MFCv12 > media: s5p-mfc: Add YV12 and I420 multiplanar format support > media: s5p-mfc: Add support for rate controls in MFCv12 > media: s5p-mfc: Add support for UHD encoding. > media: s5p-mfc: Add support for DMABUF for encoder > media: s5p-mfc: Set context for valid case before calling try_run > media: s5p-mfc: Load firmware for each run in MFCv12. > media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF > arm64: dts: fsd: Add MFC related DT enteries > > .../bindings/media/samsung,s5p-mfc.yaml | 18 ++ > arch/arm64/boot/dts/tesla/fsd.dtsi | 21 ++ > .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 52 +++ > .../platform/samsung/s5p-mfc/regs-mfc-v7.h | 1 + > .../platform/samsung/s5p-mfc/regs-mfc-v8.h | 3 + > .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 36 ++- > .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 29 +- > .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 10 +- > .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 60 +++- > .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 149 ++++++--- > .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 14 +- > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 12 +- > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 300 ++++++++++++++---- > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 7 +- > 14 files changed, 563 insertions(+), 149 deletions(-) > create mode 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h >
> -----Original Message----- > From: Hans Verkuil <hverkuil-cisco@xs4all.nl> > Sent: 06 December 2023 18:29 > To: Aakarsh Jain <aakarsh.jain@samsung.com>; linux-arm- > kernel@lists.infradead.org; linux-media@vger.kernel.org; linux- > kernel@vger.kernel.org; devicetree@vger.kernel.org > Cc: m.szyprowski@samsung.com; andrzej.hajda@intel.com; > mchehab@kernel.org; krzysztof.kozlowski+dt@linaro.org; > robh+dt@kernel.org; conor+dt@kernel.org; linux-samsung- > soc@vger.kernel.org; andi@etezian.org; gost.dev@samsung.com; > alim.akhtar@samsung.com; aswani.reddy@samsung.com; > pankaj.dubey@samsung.com; ajaykumar.rs@samsung.com > Subject: Re: [Patch v5 00/11] Add MFC V12 support > > On 06/12/2023 07:30, Aakarsh Jain wrote: > > This patch series adds MFC v12 support. MFC v12 is used in Tesla FSD SoC. > > > > This adds support for following: > > > > -Add support for YV12 and I420 format (3-plane) -Add support for Rate > > Control, UHD and DMABUF for encoder -Add support for DPB buffers > > allocation based on MFC requirement > > I'm getting one smatch warning: > > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c:2453 > s5p_mfc_queue_setup() error: we previously assumed 'ctx->src_fmt' could > be null (see line 2441) > > And a few kerneldoc warnings: > > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: > warning: Function parameter or member 'chroma_size_1' not described in > 's5p_mfc_ctx' > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: > warning: Function parameter or member 'is_10bit' not described in > 's5p_mfc_ctx' > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: > warning: Function parameter or member 'is_422' not described in > 's5p_mfc_ctx' > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h:729: > warning: Function parameter or member 'stride' not described in > 's5p_mfc_ctx' > > Something for v6. > Sure. Will fix in v6. Thanks for review! > Regards, > > Hans > > > > > Changes since v4: > > -Addressed review comments by Krzysztof Kozlowski. > > As per discussion included iommus property in dt-schema. > > -Addressed review comments by Hans Verkuil. > > Fixed checkpatch warnings with --strict flag enabled. > > Upstreamed s5p-mfc-v12.fw to linux-firmware. > > Added comment in the patch 9 regarding loading mfc firmware v12 > > sequentially. > > -Addressed review comments by Nicolas Dufresne Made use of v4l2- > common > > library to get number of planes needed for particular format in patch > > 4. > > v4 > > link:https://patchwork.kernel.org/project/linux-media/patch/2023102510 > > 2216.50480-2-aakarsh.jain@samsung.com/ > > > > Changes since v3: > > -Removed vp9 codec support for now and just keeping MFC v12 base > > patches with necessary hardware controls, decoder, encoder and > > structural changes. Also covers luma dbp, chroma dpb and mv sizes for > > each codec as per the UM for MFCv12, along with appropriate alignment. > > v3 link: > > https://patchwork.kernel.org/project/linux-media/cover/20221011122516. > > 32135-1-aakarsh.jain@samsung.com/ > > > > Changes since v2: > > -Addressed review comments by Rob Herring. > > This was regarding the errors found by Rob bot in yaml file. File > > 'samsung,s5p-mfc.yaml' is already converted into json schema and is > > merged. > > > > -Addressed review comments by Krzysztof Kozlowski. > > This was regarding depricated properties mentioned in s5p-mfc.txt file. > > Review comment was addressed and 'samsung,s5p-mfc.yaml' is already > > merged now. > > > > -Addressed review comments by Andi Shyti. > > This was regarding addition of 'MFC_V10PLUS_BITS' macro in > > 's5p_mfc_common.h file. > > v2 link: > > https://patchwork.kernel.org/project/linux-media/cover/20220907064715. > > 55778-1-smitha.t@samsung.com/ > > > > Changes since v1: > > -Addressed review comments by Krzysztof Kozlowski. > > Separated bug fixes patches, resent again with fix tag and those are > > merged now. > > -Added SoC based compatible string. > > > > -Addressed review comments by Andrzej Hajda Assigned width64 and > > height32 variable with ALIGN(ctx->img_..) used in the code in > > 's5p_mfc_opr_v6.c' file. > > v1 link: > > https://patchwork.kernel.org/project/linux-media/patch/20220517125548. > > 14746-2-smitha.t@samsung.com/ > > > > Aakarsh Jain (11): > > dt-bindings: media: s5p-mfc: Add mfcv12 variant > > media: s5p-mfc: Rename IS_MFCV10 macro > > media: s5p-mfc: Add initial support for MFCv12 > > media: s5p-mfc: Add YV12 and I420 multiplanar format support > > media: s5p-mfc: Add support for rate controls in MFCv12 > > media: s5p-mfc: Add support for UHD encoding. > > media: s5p-mfc: Add support for DMABUF for encoder > > media: s5p-mfc: Set context for valid case before calling try_run > > media: s5p-mfc: Load firmware for each run in MFCv12. > > media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF > > arm64: dts: fsd: Add MFC related DT enteries > > > > .../bindings/media/samsung,s5p-mfc.yaml | 18 ++ > > arch/arm64/boot/dts/tesla/fsd.dtsi | 21 ++ > > .../platform/samsung/s5p-mfc/regs-mfc-v12.h | 52 +++ > > .../platform/samsung/s5p-mfc/regs-mfc-v7.h | 1 + > > .../platform/samsung/s5p-mfc/regs-mfc-v8.h | 3 + > > .../media/platform/samsung/s5p-mfc/s5p_mfc.c | 36 ++- > > .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 29 +- > > .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 10 +- > > .../platform/samsung/s5p-mfc/s5p_mfc_dec.c | 60 +++- > > .../platform/samsung/s5p-mfc/s5p_mfc_enc.c | 149 ++++++--- > > .../platform/samsung/s5p-mfc/s5p_mfc_opr.h | 14 +- > > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 12 +- > > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 300 ++++++++++++++- > --- > > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.h | 7 +- > > 14 files changed, 563 insertions(+), 149 deletions(-) create mode > > 100644 drivers/media/platform/samsung/s5p-mfc/regs-mfc-v12.h > >
> -----Original Message----- > From: Hans Verkuil <hverkuil-cisco@xs4all.nl> > Sent: 06 December 2023 18:28 > To: Aakarsh Jain <aakarsh.jain@samsung.com>; linux-arm- > kernel@lists.infradead.org; linux-media@vger.kernel.org; linux- > kernel@vger.kernel.org; devicetree@vger.kernel.org > Cc: m.szyprowski@samsung.com; andrzej.hajda@intel.com; > mchehab@kernel.org; krzysztof.kozlowski+dt@linaro.org; > robh+dt@kernel.org; conor+dt@kernel.org; linux-samsung- > soc@vger.kernel.org; andi@etezian.org; gost.dev@samsung.com; > alim.akhtar@samsung.com; aswani.reddy@samsung.com; > pankaj.dubey@samsung.com; ajaykumar.rs@samsung.com; linux- > fsd@tesla.com; Smitha T Murthy <smithatmurthy@gmail.com> > Subject: Re: [Patch v5 09/11] media: s5p-mfc: Load firmware for each run in > MFCv12. > > On 06/12/2023 07:30, Aakarsh Jain wrote: > > In MFCv12, some section of firmware gets updated at each MFC run. > > Hence we need to reload original firmware for each run at the start. > > > > Cc: linux-fsd@tesla.com > > Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> > > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> > > --- > > drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > > b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > > index b49159142c53..24dd40ae71ec 100644 > > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > > @@ -51,8 +51,10 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev > *dev) > > * into kernel. */ > > mfc_debug_enter(); > > > > - if (dev->fw_get_done) > > - return 0; > > + /* Load MFC v12 firmware for each run when MFC runs sequentially > */ > > You had a much longer explanation in your reply to my original question. > > I think it is better if that longer explanation is added here. > okay sure. Will add that explanation here. > Things that are weird and unexpected need good comments, explaining why > it is done, and also what you know and do not know about this. > > E.g. you know through trial and error that it is needed (or perhaps you got > information on this some the fw team), but there might be open questions > that are not yet answered. > > This is all information that you can't get from the source code since it has to > do with the black box firmware. So putting all you know in a comment is the > best way of communicating this to future readers of the source code. > Thanks for the review! > Regards, > > Hans > > > + if (!IS_MFCV12(dev)) > > + if (dev->fw_get_done) > > + return 0; > > > > for (i = MFC_FW_MAX_VERSIONS - 1; i >= 0; i--) { > > if (!dev->variant->fw_name[i])
On 06/12/2023 07:30, Aakarsh Jain wrote: > Add MFC DT node and reserve memory node for MFC usage. > > Cc: linux-fsd@tesla.com > Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> > --- Always run checkpatch on your patches: [Checkpatch] WARNING: Use a single space after Cc: #8: Cc: <linux-fsd@tesla.com> Best regards, Krzysztof
On Wed, 06 Dec 2023 12:00:45 +0530, Aakarsh Jain wrote: > Add MFC DT node and reserve memory node for MFC usage. > > Applied, thanks! [11/11] arm64: dts: fsd: Add MFC related DT enteries https://git.kernel.org/krzk/linux/c/a41d9b3287b1d2d737984465e6efbf09a4fb51d2 Best regards,