From mboxrd@z Thu Jan 1 00:00:00 1970 From: Baruch Siach Subject: Re: [PATCH v6 05/17] media: rkisp1: add Rockchip ISP1 subdev driver Date: Thu, 24 May 2018 14:30:12 +0300 Message-ID: <20180524113012.mt5b2f2vrhfrn3d7@tarshish> References: <20180308094807.9443-1-jacob-chen@iotwrt.com> <20180308094807.9443-6-jacob-chen@iotwrt.com> <20180503090909.o3dyhukzs2y7em5z@tarshish> <20180507063814.vweb4p3nfgnoc3td@tarshish> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Tomasz Figa Cc: Jacob Chen , ARM/Rockchip SoC , Linux Kernel Mailing List , IOMMU DRIVERS , Joerg Roedel , linux-arm-kernel@lists.infradead.org, Mauro Carvalho Chehab , Linux Media Mailing List , Sakari Ailus , Hans Verkuil , Shunqian Zheng , Laurent Pinchart , =?utf-8?B?6ZKf5Lul5bSH?= , Eddie Cai , Jeffy , devicetree@vger.kernel.org, Heiko =?utf-8?Q?St=C3=BCbner?= , =?utf-8?B?6ZmI5Z+O?= List-Id: devicetree@vger.kernel.org Hi Tomasz, On Mon, May 07, 2018 at 06:41:50AM +0000, Tomasz Figa wrote: > On Mon, May 7, 2018 at 3:38 PM Baruch Siach wrote: > > On Mon, May 07, 2018 at 06:13:27AM +0000, Tomasz Figa wrote: > > > On Thu, May 3, 2018 at 6:09 PM Baruch Siach wrote: > > > > On Thu, Mar 08, 2018 at 05:47:55PM +0800, Jacob Chen wrote: > > > > > +static int rkisp1_isp_sd_s_power(struct v4l2_subdev *sd, int on) > > > > > +{ > > > > > + struct rkisp1_device *isp_dev = sd_to_isp_dev(sd); > > > > > + int ret; > > > > > + > > > > > + v4l2_dbg(1, rkisp1_debug, &isp_dev->v4l2_dev, "s_power: %d\n", > > > on); > > > > > + > > > > > + if (on) { > > > > > + ret = pm_runtime_get_sync(isp_dev->dev); > > > > > + if (ret < 0) > > > > > + return ret; > > > > > + > > > > > + rkisp1_config_clk(isp_dev); > > > > > + } else { > > > > > + ret = pm_runtime_put(isp_dev->dev); > > > > > > > I commented this line out to make more than one STREAMON work. > Otherwise, > > > > the second STREAMON hangs. I guess the bug is not this driver. > Probably > > > > something in drivers/soc/rockchip/pm_domains.c. Just noting that in > case > > > > you or someone on Cc would like to investigate it further. > > > > > > > > I tested v4.16-rc4 on the Tinkerboard. > > > > > > Looks like that version doesn't include the IOMMU PM and clock handling > > > rework [1], which should fix a lot of runtime PM issues. FWIW, > linux-next > > > seems to already include it. > > > > > > [1] https://lkml.org/lkml/2018/3/23/44 > > > Thanks for the reference. > > > It looks like the iommu driver part is in Linus' tree already. The DT > part is > > in the v4.18-armsoc/dts32 branch of Heiko's tree. Am I missing anything? > > You're right, most of the series made it in time for 4.17. However, the DT > part (precisely, the clocks properties added to IOMMU nodes) is crucial for > the fixes to be effective. > > > Anyway, I'll take a look. > > Thanks for testing. :) (Forgot to mention in my previous email...) I finally got around to testing. Unfortunately, kernel v4.17-rc6 with cherry-pick of commit c78751f91c0b (ARM: dts: rockchip: add clocks in iommu nodes) from Heiko's tree still exhibit the same problem. STREAMON hangs on second try. The same workaround "fixes" it. baruch -- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -