Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp538955rwd; Thu, 1 Jun 2023 03:44:44 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5JKTUETAyAHu9DhBth6vCsX5UMxE2CVbdSj/8ZL9OpxsJYtWAZpq6ic08wE1QvuXOkzwxM X-Received: by 2002:a05:6358:4315:b0:127:8ba3:5cd7 with SMTP id r21-20020a056358431500b001278ba35cd7mr7088031rwc.22.1685616284494; Thu, 01 Jun 2023 03:44:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685616284; cv=none; d=google.com; s=arc-20160816; b=XaJfyv2f7hE/k59HnRsGnfIt7ntZVeE1US/BHy6Yp7W6iihJ89/NfE8y7azw5AgWhB TEUcKQ3nIB5JBZIZf/11W0lG76EHqY9j/0qmdfXUezP6Y2E3yFDI5tZpRbbiCFkeC9e2 VwQzNMdSllpKI0zal8LYI5O8UdPQYjXQXVBi6lZRU7hg7EoBUZahmGNyiioxNiHFGflr yFxf8dRjApkkanEWUcyKS34ELniO0iWbpsEmoAtLUDrPqYX/XPxNXxq1oV58DfVHOmES M9trj2RtBE12sg4eouRQFEPyEjkW6PtEAm4f8P+TTZkXnl6hoDH0TxLew934pyyE8vqJ eD5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=deBFkfbljNPFyLXPY6zKK5Vde5VplbUkYHJ4Bh73ORE=; b=NXhAfqO45OCa7TlBmyluDRPSHv4fD9mgZSAqu0MzYtnL7cnJ+aOAPsrYQSDqRuVZ+n 89+xm+hDYTp5GxZr7B6vbz96ItTk906jYSOcf8klaFv2k1NsIaB2cCf1gqmm8OuWOdfI s95XRWbv61VvcnJ5Gl64FWKSBBhA1Dcm+2m1kCgT9+mQ1QjWUY3rd5YoEPrb64C0zS/O wC4/5X4+R7mc/2V01jaZQTV4ZDOWs5VUZHZRs70sjNGggU2WO6V3PMaXmhbGG2LG/II9 jRAwbc9UHNOhrCJqxA11ATUnzRPuuTbXWs9BeQnEhLSc8JYIOjQDghiWyrbZGW2ZcqkK FtoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=GlTKaJ+Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y15-20020a17090a134f00b0025378b5495bsi931434pjf.33.2023.06.01.03.44.30; Thu, 01 Jun 2023 03:44:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=GlTKaJ+Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232373AbjFAKh6 (ORCPT + 99 others); Thu, 1 Jun 2023 06:37:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231466AbjFAKhy (ORCPT ); Thu, 1 Jun 2023 06:37:54 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EAD20C0; Thu, 1 Jun 2023 03:37:52 -0700 (PDT) Received: from pendragon.ideasonboard.com (om126205251136.34.openmobile.ne.jp [126.205.251.136]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0E628105; Thu, 1 Jun 2023 12:37:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1685615848; bh=ifkNgZbNe+yT4STVUiUrYWIIt5FfmAiAFd6ExJdzTe4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=GlTKaJ+Z5jIh6QfB0LrxddBTD+vB1hu53euCxNsYbrn619lUEOry+ju+92b1mWtpS VgwqdlOtxmprCBlGX53xarkw9UpamT1E+xdmWO4Qtlzs5Fe3mK5KEtTWdZaTVZql4x DlZTjeSJ5s/hAVnCVJfdhQ1KxfHE4FdfokkCvh2k= Date: Thu, 1 Jun 2023 13:37:49 +0300 From: Laurent Pinchart To: Jack Zhu Cc: Mauro Carvalho Chehab , Robert Foss , Todor Tomov , bryan.odonoghue@linaro.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Hans Verkuil , Eugen Hristev , Ezequiel Garcia , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, changhuang.liang@starfivetech.com Subject: Re: [PATCH v6 0/6] Add StarFive Camera Subsystem driver Message-ID: <20230601103749.GA9271@pendragon.ideasonboard.com> References: <20230525083202.67933-1-jack.zhu@starfivetech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230525083202.67933-1-jack.zhu@starfivetech.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jack, Thank you for the patches, I'm happy to see the ISP driver progressing. On Thu, May 25, 2023 at 04:31:56PM +0800, Jack Zhu wrote: > Hi, > > This series is the v6 series that attempts to support the Camera Subsystem > found on StarFive JH7110 SoC. Could you please share the media graph for the device ? I'd like the output of both `media-ctl --print-dot -d /dev/media0` and `media-ctl -p -d /dev/media0` ? Also, have you run v4l2-compliance to test the driver ? Could you please share the v4l2-compliance output ? > Changes in v6: > - Added 'bus-type' in bindings example. > - Corrected spelling errors. > - As reviewed by Bryan, used 'nclks' and 'nrsts' variables. > - Added lccf config for ISP. > > v5 link: https://lore.kernel.org/all/20230512102844.51084-1-jack.zhu@starfivetech.com/ > > Changes in v5: > - Rebased on v6.4-rc1. > - Added new patch. > - Modified ISP driver. > > v4 link: https://lore.kernel.org/all/20230413035541.62129-1-jack.zhu@starfivetech.com/ > > Previous cover letter from v4: > > This patch series adds support for the StarFive Camera Subsystem > found on StarFive JH7110 SoC. > > The driver implements V4L2, Media controller and V4L2 subdev interfaces. > Camera sensor using V4L2 subdev interface in the kernel is supported. > > The driver is tested on VisionFive V2 board with IMX219 camera sensor. > GStreamer 1.18.5 with v4l2src plugin is supported. > > Changes since v3: > Patch 1: > - Modified port@0 and port@1 properties. > - Extended the port@0 example with appropriate properties. > - Added 'port@0' for 'required' > Patch 2: > - Modified spelling errors. > Patch 3: > - Merged patch 5 into the patch with an explanation for compatible in > commit msg. > Patch 6: > - Asserted pixel_rst[i] reset in the loop after the err_disable_pixclk > label. > - Modified Code Style for getting sys_rst and p_rst. > - Renamed clk_name to name and modified the relevant code. > Patch 9: > - Added static for stfcamss_get_mem_res function. > - Added static for isp_close function. > - Fixed implicit conversion warning for stf_vin_map_isp_pad function. > - Dropped unused variables. > > v3: https://lore.kernel.org/all/20230331121826.96973-1-jack.zhu@starfivetech.com/ > > Changes since v2: > - Rebased on v6.3-rc1. > Patch 1: > - Modified spelling errors. > - Added port@0. > - Modified '$ref' of port. > - Added 'ports' to 'required'. > - Dropped 'stfcamss' label in example. > - Added port@0 in example. > - Added MAINTAINERS file. > Patch 2: > - Split this patch into three new patches. > - Modified compatible property. > - Replaced clock names with the existing names. > - Modified 'bus-type' and 'clock-lanes' > - Added port@2 - port@4 > - Dropped 'csi2rx' label in example. > Patch 3: > - Updated rst and dot file as three pipelines were deleted. > Patch 4: > - Split this patch into three new patches. > - Dropped .s_power() and .get_fmt(). > - Dropped CSI-2 DT support. > - Dropped v4l2_device_register_subdev_nodes(). > - Used assigned-clock-rates in DT to set clk value. > - Modified 'compatible' field. > Patch 5: > - Deleted three pipelines. > - Modified 'stfcamss_clocks'/'stfcamss_resets' struct. > - Dropped stfcamss_find_sensor() function. > - Removed redundant code from stfcamss_of_parse_endpoint_node(). > - Modified spelling errors. > - Rewrote stfcamss_reg_media_subdev_node() function. > - Modified stfcamss_subdev_notifier_bound(). > - Modified stfcamss_probe() function. > - Dropped stfcamss_suspend() and stfcamss_resume(). > - Dropped dev_info() in stfcamss_remove() function. > - Added 'stf_' prefix for enum subdev_type. > - Moved all includes to the top in stf_camss.h file. > - Dropped unused fields in stfcamss struct. > - Replaced Custom logging macros with regular macros. > - Rewrote register read and write functions. > - Used lowercase for all hex constants. > - Used macro to name registers. > - Dropped unused ioctl and stf_isp_ioctl.h file. > > v2: https://lore.kernel.org/all/20230310120553.60586-1-jack.zhu@starfivetech.com/ > > Changes since v1: > - Deleted starfive,jh7110-mipi-csi2.yaml. > - Converted cdns,csi2rx.txt to cdns,csi2rx.yaml and added ‘resets’ > properties. > - Added ‘cdns,csi2rx.yaml’ in ‘CADENCE MIPI-CSI2 BRIDGES’ entry. > - The following contents were modified in starfive,jh7110-camss.yaml: > dropped quotes from ’id’ and ‘schema’; dropped ‘|’ for ‘description’; > corrected the wrong or redundant words: ‘a ISP’, ‘PD ISP’; > dropped ‘minItems’ for ‘reg’, ‘clocks’, ‘resets’ and ‘interrupts’; > dropped the '_clk' and 'rst_' prefix about the 'clock-names' and > 'reset-names'; > changed ‘endpoint@1’ to ‘endpoint’; updated examples; > - Updated Subject for some patches. > - Merged patch 6, 7, 8, 9, 10, 11 into one patch. > > Jack Zhu (6): > media: dt-bindings: Add JH7110 Camera Subsystem > media: admin-guide: Add starfive_camss.rst for Starfive Camera > Subsystem > media: starfive: Add basic driver > media: starfive: Add video driver > media: starfive: Add ISP driver > media: starfive: Add VIN driver > > .../admin-guide/media/starfive_camss.rst | 57 + > .../media/starfive_camss_graph.dot | 16 + > .../admin-guide/media/v4l-drivers.rst | 1 + > .../bindings/media/starfive,jh7110-camss.yaml | 180 +++ > MAINTAINERS | 9 + > drivers/media/platform/Kconfig | 1 + > drivers/media/platform/Makefile | 1 + > drivers/media/platform/starfive/Kconfig | 19 + > drivers/media/platform/starfive/Makefile | 14 + > drivers/media/platform/starfive/stf_camss.c | 476 +++++++ > drivers/media/platform/starfive/stf_camss.h | 157 +++ > drivers/media/platform/starfive/stf_common.h | 18 + > drivers/media/platform/starfive/stf_isp.c | 550 ++++++++ > drivers/media/platform/starfive/stf_isp.h | 483 +++++++ > .../media/platform/starfive/stf_isp_hw_ops.c | 468 +++++++ > drivers/media/platform/starfive/stf_video.c | 864 +++++++++++++ > drivers/media/platform/starfive/stf_video.h | 95 ++ > drivers/media/platform/starfive/stf_vin.c | 1134 +++++++++++++++++ > drivers/media/platform/starfive/stf_vin.h | 180 +++ > .../media/platform/starfive/stf_vin_hw_ops.c | 241 ++++ > 20 files changed, 4964 insertions(+) > create mode 100644 Documentation/admin-guide/media/starfive_camss.rst > create mode 100644 Documentation/admin-guide/media/starfive_camss_graph.dot > create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > create mode 100644 drivers/media/platform/starfive/Kconfig > create mode 100644 drivers/media/platform/starfive/Makefile > create mode 100644 drivers/media/platform/starfive/stf_camss.c > create mode 100644 drivers/media/platform/starfive/stf_camss.h > create mode 100644 drivers/media/platform/starfive/stf_common.h > create mode 100644 drivers/media/platform/starfive/stf_isp.c > create mode 100644 drivers/media/platform/starfive/stf_isp.h > create mode 100644 drivers/media/platform/starfive/stf_isp_hw_ops.c > create mode 100644 drivers/media/platform/starfive/stf_video.c > create mode 100644 drivers/media/platform/starfive/stf_video.h > create mode 100644 drivers/media/platform/starfive/stf_vin.c > create mode 100644 drivers/media/platform/starfive/stf_vin.h > create mode 100644 drivers/media/platform/starfive/stf_vin_hw_ops.c -- Regards, Laurent Pinchart