From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E1BF33E5 for ; Wed, 27 Apr 2022 20:07:53 +0000 (UTC) Received: by mail-ed1-f54.google.com with SMTP id be20so3182685edb.12 for ; Wed, 27 Apr 2022 13:07:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zThgqL3mT8hxiS3UiF6CFV5UO8qR1fAU3lOSx4ZRa4U=; b=VzQPtjPP6w9IcioQK5qHyL21ZDt/OYHqXeYEGBfOcParwj3oZvXHU0JiusvMj244Fl upkYSFaQWuqtoHqfYsWBDYkDaDS8R+ctQ1eMQKJcQRQPJRML0Sjfg1SnNXjqT9Tl+LkB zD/irUC/mGb8zZ9C8xwaL8VAyTJcOQyAH9DMJoBMeVZmoFfhJvGH6SkRglOsztBAKDsn gMscJsEVSP47otuIcxkYShs11xo8r4g1KpP5FXckVHyWY49NIep+oushWvok9YJLv1r5 wKApvBrV9oeQOGBI6k6eNHh9OYgHlKBqe367yp89BuA5qUQtd78Wh10bVYqQTu7seKrU LUBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zThgqL3mT8hxiS3UiF6CFV5UO8qR1fAU3lOSx4ZRa4U=; b=3DXsyMhHj1QoJlZbYIiUySPodXfLZp3yIaO/36LHMtKFguv0tOXyOHkgiEuIxm+BAj GGlATGVc6j4Skn3KKj06kPoWBi0JXGYzxLx7P7WpwUU5ROTGoo2lWb1+Ev81FXLrUrwy XwFZpcW4YgONE8PDGCGQ1tn2CCpolulTtt91wSP5U49xYxS169nb2/xsY67kRciEkXoL l+GlDrf+boHCHZjF2joVut8qRAXU1O/RrD9XDSZyV9ULjMmPF9qUg0TgY4TVOlR7MAMT ovIFPptdQ9ttiwBBGfOhCMEBHvc11UHx9/qkHsn9jc4sNaCwG3VHuYsD6NlJAW2sV3s0 hHYQ== X-Gm-Message-State: AOAM532ejvTQl23oKUjh+KGAQhr6UQeN5tPk9Hw0foGtNHc/HNLLjH+1 +G8pDRlK5kN2gp0KNiI24IOKNqCzNAKoxQ== X-Google-Smtp-Source: ABdhPJwasJfbMDLCq0WwkpHW1Zc9qH+2UmE2nB9BqPAJImgDHBOfLB6sXDGWLWb1kuuH4WmAVOX1hg== X-Received: by 2002:a50:d79a:0:b0:425:e577:c71a with SMTP id w26-20020a50d79a000000b00425e577c71amr18937203edi.188.1651090071555; Wed, 27 Apr 2022 13:07:51 -0700 (PDT) Received: from jernej-laptop.localnet (89-212-118-115.static.t-2.net. [89.212.118.115]) by smtp.gmail.com with ESMTPSA id h6-20020a17090634c600b006f3a3bcb69dsm3967986ejb.29.2022.04.27.13.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 13:07:51 -0700 (PDT) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, Paul Kocialkowski Cc: Yong Deng , Paul Kocialkowski , Mauro Carvalho Chehab , Chen-Yu Tsai , Samuel Holland , Laurent Pinchart , Maxime Ripard , Thomas Petazzoni Subject: Re: [PATCH v4 43/45] media: sun6i-csi: Detect the availability of the ISP Date: Wed, 27 Apr 2022 22:07:49 +0200 Message-ID: <2029179.KlZ2vcFHjT@jernej-laptop> In-Reply-To: <20220415152811.636419-44-paul.kocialkowski@bootlin.com> References: <20220415152811.636419-1-paul.kocialkowski@bootlin.com> <20220415152811.636419-44-paul.kocialkowski@bootlin.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Dne petek, 15. april 2022 ob 17:28:09 CEST je Paul Kocialkowski napisal(a): > Add a helper to detect whether the ISP is available and connected > and store the indication in a driver-wide variable. > > Signed-off-by: Paul Kocialkowski > --- > .../platform/sunxi/sun6i-csi/sun6i_csi.c | 33 +++++++++++++++++++ > .../platform/sunxi/sun6i-csi/sun6i_csi.h | 3 ++ > 2 files changed, 36 insertions(+) > > diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c index > a88deb8ba1e7..f185cbd113c7 100644 > --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > @@ -25,6 +25,35 @@ > #include "sun6i_csi_capture.h" > #include "sun6i_csi_reg.h" > > +/* ISP */ > + > +static bool sun6i_csi_isp_detect(struct sun6i_csi_device *csi_dev) > +{ > + struct device *dev = csi_dev->dev; > + struct fwnode_handle *handle = NULL; > + > + /* ISP is not available if disabled in kernel config. */ > + if (!IS_ENABLED(CONFIG_VIDEO_SUN6I_ISP)) Where is this symbol defined? Best regards, Jernej > + return 0; > + > + /* > + * ISP is not available if not connected via fwnode graph. > + * This weill also check that the remote parent node is available. > + */ > + handle = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), > + SUN6I_CSI_PORT_ISP, 0, > + FWNODE_GRAPH_ENDPOINT_NEXT); > + if (!handle) > + return 0; > + > + fwnode_handle_put(handle); > + > + dev_info(dev, "ISP link is available\n"); > + csi_dev->isp_available = true; > + > + return 0; > +} > + > /* Media */ > > static const struct media_device_ops sun6i_csi_media_ops = { > @@ -306,6 +335,10 @@ static int sun6i_csi_probe(struct platform_device > *platform_dev) if (ret) > return ret; > > + ret = sun6i_csi_isp_detect(csi_dev); > + if (ret) > + goto error_resources; > + > ret = sun6i_csi_v4l2_setup(csi_dev); > if (ret) > goto error_resources; > diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h > b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h index > 6aa83dd11684..9b105c341047 100644 > --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h > +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h > @@ -22,6 +22,7 @@ > enum sun6i_csi_port { > SUN6I_CSI_PORT_PARALLEL = 0, > SUN6I_CSI_PORT_MIPI_CSI2 = 1, > + SUN6I_CSI_PORT_ISP = 2, > }; > > struct sun6i_csi_buffer { > @@ -46,6 +47,8 @@ struct sun6i_csi_device { > struct clk *clock_mod; > struct clk *clock_ram; > struct reset_control *reset; > + > + bool isp_available; > }; > > struct sun6i_csi_variant {