Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2222999pxb; Thu, 11 Feb 2021 07:20:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJwM3lOVORZjS1AE+Jv40VtLpZ/sPYTbsbBerKoUaIGTRXgwSmkNpSKCT8Zrb3G27o6Ul67W X-Received: by 2002:a05:6402:5206:: with SMTP id s6mr8705555edd.92.1613056854758; Thu, 11 Feb 2021 07:20:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613056854; cv=none; d=google.com; s=arc-20160816; b=S6HHrN3+qlFJjUmzhZ739+ow6dvZcsC6O1AcSjJLPLSq+fmcBNaWuM+nZn5HiJxfni YdWa9nIsN7SAH9ORJd100DyLIIAaP/UUildpKlrqPDh1AsSof7+75auaDeo+slnnblTG Ct2DZBfct621m3bXL9UiciwtgtevUbtteGB8YsiB3WF3gVbkp8EXh5/PWe1KhX+HjRq5 u7jwtdvCIzuvROSiBNd+mJ6SIpYhs12A2tgPVu2US3jcCNJ1fX4e51CNV7+0tg+3vDWA iLsicdxKiYFBYrEYZ+U22dwJdvwhbvslPwABOc41Aege6bdu+COsNPTxBd9IcLB6LH3X HdvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=cAs5xGIDZDmNvE5m5yeyNDcyVuGHNhZUeJGtr4cyJXI=; b=SbooDmQOjWb1zSpN/VSxflFZSTw+DYAtRqZLBSs3f952t5jQkvA1PC6i9WKcCy+e5H d2uUIxNoJCoyV+wj2/gT2weC5b7qOS7v/gvYDtqRrciekktjXxrNAkjQPTA8fM3ko6Zj 4PshVFmXWUY0wCZuJQpe9d9T09JABmM1xnsv0164fMeEO/Io5SwdBrUHQa2DnLPF0+R5 I5YbWIsUH8mQARMG54u1DYTaPsAQojva9lrflVsScWf6Iedfuje57YENpRJ2WUnM9dfn oXFM4QfS/erwytnKtJb5snw2S7nW8eO9rCMzrxkReMpH1GljI1iyfEQil24/BT8do0hi WPwA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q14si3994118ejy.320.2021.02.11.07.20.29; Thu, 11 Feb 2021 07:20:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229826AbhBKPOw convert rfc822-to-8bit (ORCPT + 99 others); Thu, 11 Feb 2021 10:14:52 -0500 Received: from gloria.sntech.de ([185.11.138.130]:51358 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231282AbhBKOod (ORCPT ); Thu, 11 Feb 2021 09:44:33 -0500 Received: from ip5f5aa64a.dynamic.kabel-deutschland.de ([95.90.166.74] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lADAX-0002Dn-Fl; Thu, 11 Feb 2021 15:42:09 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: Sebastian Fricke Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, hjc@rock-chips.com, robh+dt@kernel.org, linux-media@vger.kernel.org, dafna.hirschfeld@collabora.com, helen.koike@collabora.com, ezequiel@collabora.com, cmuellner@linux.com Subject: Re: [PATCH 0/6] Support second Image Signal Processor on rk3399 Date: Thu, 11 Feb 2021 15:42:08 +0100 Message-ID: <16789691.tv2OnDr8pf@diego> In-Reply-To: <20210211052515.qdqe256cipdwwrz6@basti-TUXEDO-Book-XA1510> References: <20210202145632.1263136-1-heiko@sntech.de> <808992741.0ifERbkFSE@diego> <20210211052515.qdqe256cipdwwrz6@basti-TUXEDO-Book-XA1510> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Sebastian, Am Donnerstag, 11. Februar 2021, 06:25:15 CET schrieb Sebastian Fricke: > Hey Heiko, > > On 10.02.2021 12:15, Heiko St?bner wrote: > >Hi Sebastian, > > > >Am Freitag, 5. Februar 2021, 15:55:56 CET schrieb Heiko St?bner: > >> Hi Sebastian, > >> > >> I did some tests myself today as well and can confirm your > >> hdmi related finding - at least when plugged in on boot. > >> > >> I tried some combinations of camera vs. hdmi and it seems > >> really only when hdmi is plugged in on boot > > > >as you can see in v2, it should work now even with hdmi > >connected on boot. My patch ignored the grf-clock when > >doing the grf-based init. > > > >All clocks are on during boot and I guess the hdmi-driver > >did disable it after its probe. The phy_power_on functions > >did handle it correctly already, so it was only happening > >with hdmi connected on boot. > > Thank you very much for solving that problem, I've tested the scenarios > described below and it works like a charm. (With your V2) > > > > > >Btw. do you plan on submitting your ov13850 driver > >soonish? > > Actually, I have posted the patch already see here: > https://patchwork.kernel.org/project/linux-media/patch/20210130182313.32903-2-sebastian.fricke@posteo.net/ very cool to see > I currently review the requested changes and questions and will soon > post a second version, but I expect quite some time until it is actually > merged. could you Cc me on future versions? Thanks Heiko > > Greetings, > Sebastian > > > > > > >> > >> (1) > >> - boot > >> - camera > >> --> works > >> > >> (2) > >> - boot > >> - camera > >> - hdmi plugged in > >> - hdmi works > >> - camera > >> --> works > >> > >> (3) > >> - hdmi plugged in > >> - boot > >> - hdmi works > >> - camera > >> --> camera doesn't work > >> > >> (4) > >> - boot > >> - hdmi plugged in > >> - hdmi works > >> - camera > >> -> camera works > >> > >> > >> With a bit of brute-force [0] it seems the camera also works again even > >> with hdmi connected on boot. So conclusion would be that some clock > >> is misbehaving. > >> > >> Now we'll "only" need to find out which one that is. > >> > >> > >> Heiko > >> > >> > >> [0] > >> Don't disable any clock gates > >> > >> diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c > >> index 070dc47e95a1..8daf1fc3388c 100644 > >> --- a/drivers/clk/clk-gate.c > >> +++ b/drivers/clk/clk-gate.c > >> @@ -61,6 +61,9 @@ static void clk_gate_endisable(struct clk_hw *hw, int enable) > >> > >> set ^= enable; > >> > >> +if (!enable) > >> +return; > >> + > >> if (gate->lock) > >> spin_lock_irqsave(gate->lock, flags); > >> else > >> > >> > >> > >> Am Freitag, 5. Februar 2021, 09:15:47 CET schrieb Heiko St?bner: > >> > Hi Sebastian, > >> > > >> > Am Freitag, 5. Februar 2021, 07:43:35 CET schrieb Sebastian Fricke: > >> > > On 03.02.2021 20:54, Heiko St?bner wrote: > >> > > >Am Mittwoch, 3. Februar 2021, 19:14:22 CET schrieb Sebastian Fricke: > >> > > >> I have tested your patch set on my nanoPC-T4, here is a complete log > >> > > >> with: > >> > > >> - relevant kernel log entries > >> > > >> - system information > >> > > >> - media ctl output > >> > > >> - sysfs entry information > >> > > >> > >> > > >> https://paste.debian.net/1183874/ > >> > > >> > >> > > >> Additionally, to your patchset I have applied the following patches: > >> > > >> https://github.com/initBasti/Linux_kernel_media_tree_fork/commits/dual_cam_setup > >> > > >> > >> > > >> And just to not cause confusion the `media_dev` entries come from this > >> > > >> unmerged series: > >> > > >> https://patchwork.kernel.org/project/linux-media/list/?series=426269 > >> > > >> > >> > > >> I have actually been able to stream with both of my cameras at the same > >> > > >> time using the libcamera cam command. > >> > > >> I would like to thank you a lot for making this possible. > >> > > > > >> > > >Thanks for testing a dual camera setup. On my board I could only test > >> > > >the second ISP. And really glad it works for you tool :-) . > >> > > > > >> > > >Out of curiosity, do you also see that green tint in the images the cameras > >> > > >produce? > >> > > > >> > > Yes, I do. Actually, I currently have two forms of a green tint, on my > >> > > OV13850 everything is quite dark and greenish, which is caused by the > >> > > missing 3A algorithms. On my OV4689, I have big patches of the image > >> > > with bright green color and flickering, I investigated if this is > >> > > connected to the 2nd ISP instance, but that doesn't seem to be the case > >> > > as I have the same results when I switch the CSI ports of the cameras. > >> > > > >> > > I have found another issue, while testing I discovered following > >> > > issue: > >> > > When I start the system with an HDMI monitor connected, then the camera > >> > > on the 2nd port doesn't work. This is probably because the RX/TX is > >> > > reserved as a TX. > >> > > But it made me wonder because if the system has an RX, a TX, and > >> > > an RX/TX, why isn't the pure TX used by the monitor and the > >> > > cameras take RX and RX/TX? > >> > > Or do you think that this is maybe a malfunction of this patch? > >> > > >> > I don't think it is an issue with this specific series, but still puzzling. > >> > > >> > I.e. the DPHYs are actually only relevant to the DSI controllers, > >> > with TX0 being connected to DSI0 and TX1RX1 being connected > >> > to DSI1. So having an hdmi display _in theory_ shouldn't matter at all. > >> > > >> > Out of curiosity what happens, when you boot without hdmi connected > >> > turn on the cameras, connect the hdmi after this, try the cameras again? > >> > > >> > > >> > Heiko > >> > > >> > > > >> > > > > >> > > >Thanks > >> > > >Heiko > >> > > > >> > > Greetings, > >> > > Sebastian > >> > > > >> > > > > >> > > > > >> > > >> If you like to you can add: > >> > > >> Tested-by: Sebastian Fricke > >> > > >> > >> > > >> On 02.02.2021 15:56, Heiko Stuebner wrote: > >> > > >> >The rk3399 has two ISPs and right now only the first one is usable. > >> > > >> >The second ISP is connected to the TXRX dphy on the soc. > >> > > >> > > >> > > >> >The phy of ISP1 is only accessible through the DSI controller's > >> > > >> >io-memory, so this series adds support for simply using the dsi > >> > > >> >controller is a phy if needed. > >> > > >> > > >> > > >> >That solution is needed at least on rk3399 and rk3288 but no-one > >> > > >> >has looked at camera support on rk3288 at all, so right now > >> > > >> >only implement the rk3399 specifics. > >> > > >> > > >> > > >> > > >> > > >> >Heiko Stuebner (6): > >> > > >> > drm/rockchip: dsi: add own additional pclk handling > >> > > >> > dt-bindings: display: rockchip-dsi: add optional #phy-cells property > >> > > >> > drm/rockchip: dsi: add ability to work as a phy instead of full dsi > >> > > >> > arm64: dts: rockchip: add #phy-cells to mipi-dsi1 > >> > > >> > arm64: dts: rockchip: add cif clk-control pinctrl for rk3399 > >> > > >> > arm64: dts: rockchip: add isp1 node on rk3399 > >> > > >> > > >> > > >> > .../display/rockchip/dw_mipi_dsi_rockchip.txt | 1 + > >> > > >> > arch/arm64/boot/dts/rockchip/rk3399.dtsi | 39 ++ > >> > > >> > drivers/gpu/drm/rockchip/Kconfig | 2 + > >> > > >> > .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 342 ++++++++++++++++++ > >> > > >> > 4 files changed, 384 insertions(+) > >> > > >> > > >> > > >> > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > >> > > >> > >> > > > > > > > > >