All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	mchehab@kernel.org, kernel list <linux-kernel@vger.kernel.org>,
	ivo.g.dimitrov.75@gmail.com, sre@kernel.org,
	pali.rohar@gmail.com, linux-media@vger.kernel.org
Subject: Re: [PATCHv2] omap3isp: add support for CSI1 bus
Date: Thu, 2 Mar 2017 13:38:48 +0100	[thread overview]
Message-ID: <20170302123848.GA28230@amd> (raw)
In-Reply-To: <20170302112401.GF3220@valkosipuli.retiisi.org.uk>

[-- Attachment #1: Type: text/plain, Size: 2513 bytes --]

Hi!

> > Ok, how about this one?
> > omap3isp: add rest of CSI1 support
> >     
> > CSI1 needs one more bit to be set up. Do just that.
> >     
> > It is not as straightforward as I'd like, see the comments in the code
> > for explanation.
...
> > +	if (isp->phy_type == ISP_PHY_TYPE_3430) {
> > +		struct media_pad *pad;
> > +		struct v4l2_subdev *sensor;
> > +		const struct isp_ccp2_cfg *buscfg;
> > +
> > +		pad = media_entity_remote_pad(&ccp2->pads[CCP2_PAD_SINK]);
> > +		sensor = media_entity_to_v4l2_subdev(pad->entity);
> > +		/* Struct isp_bus_cfg has union inside */
> > +		buscfg = &((struct isp_bus_cfg *)sensor->host_priv)->bus.ccp2;
> > +
> > +		csiphy_routing_cfg_3430(&isp->isp_csiphy2,
> > +					ISP_INTERFACE_CCP2B_PHY1,
> > +					enable, !!buscfg->phy_layer,
> > +					buscfg->strobe_clk_pol);
> 
> You should do this through omap3isp_csiphy_acquire(), and not call
> csiphy_routing_cfg_3430() directly from here.

Well, unfortunately omap3isp_csiphy_acquire() does have csi2
assumptions hard-coded :-(.

This will probably fail.

	        rval = omap3isp_csi2_reset(phy->csi2);
	        if (rval < 0)
		                goto done;
				
And this will oops:

static int omap3isp_csiphy_config(struct isp_csiphy *phy)
{
	struct isp_csi2_device *csi2 = phy->csi2;
        struct isp_pipeline *pipe = to_isp_pipeline(&csi2->subdev.entity);
 	struct isp_bus_cfg *buscfg = pipe->external->host_priv;

> > @@ -1137,10 +1159,19 @@ int omap3isp_ccp2_init(struct isp_device *isp)
> >  	if (isp->revision == ISP_REVISION_2_0) {
> >  		ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib");
> >  		if (IS_ERR(ccp2->vdds_csib)) {
> > +			if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER)
> > +				return -EPROBE_DEFER;
> 
> This should go to a separate patch.

Ok, easy enough.

> >  			dev_dbg(isp->dev,
> >  				"Could not get regulator vdds_csib\n");
> >  			ccp2->vdds_csib = NULL;
> >  		}
> > +		/*
> > +		 * If we set up ccp2->phy here,
> > +		 * omap3isp_csiphy_acquire() will go ahead and assume
> > +		 * csi2, dereferencing some null pointers.
> > +		 *
> > +		 * ccp2->phy = &isp->isp_csiphy2;
> 
> That needs to be fixed separately.

See analysis above. Yes, it would be nice to fix it. Can you provide
some hints how to do that? Maybe even patch to test? :-).

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2017-03-02 12:41 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-28 18:30 [PATCH] dt: bindings: Add support for CSI1 bus Pavel Machek
2017-01-02  7:00 ` Sakari Ailus
2017-01-02  7:00   ` Sakari Ailus
2017-01-11 21:38   ` Pavel Machek
2017-01-03 20:38 ` Rob Herring
2017-01-03 20:38   ` Rob Herring
2017-01-04  8:54   ` Sakari Ailus
2017-01-04  8:54     ` Sakari Ailus
2017-01-11 22:06     ` Pavel Machek
2017-01-11 22:19       ` Sakari Ailus
2017-01-11 22:53 ` [PATCHv2] " Pavel Machek
2017-01-11 22:53   ` Pavel Machek
2017-01-11 23:55   ` Sebastian Reichel
2017-01-11 23:55     ` Sebastian Reichel
2017-01-12 12:06   ` Baruch Siach
2017-01-12 12:06     ` Baruch Siach
2017-01-19 21:37     ` Sakari Ailus
2017-01-19 21:49   ` Sakari Ailus
2017-01-19 21:49     ` Sakari Ailus
     [not found]     ` <20170119214905.GD3205-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-01-20  7:59       ` Ivaylo Dimitrov
2017-01-20  7:59         ` Ivaylo Dimitrov
     [not found]         ` <cf372233-f047-6e2c-01eb-02e30e6b2de5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-01-20 11:46           ` Sakari Ailus
2017-01-20 11:46             ` Sakari Ailus
2017-02-03 11:50       ` Pavel Machek
2017-02-03 11:50         ` Pavel Machek
2017-02-03 14:16         ` Sakari Ailus
2017-02-03 14:16           ` Sakari Ailus
     [not found]           ` <20170203141649.GC12291-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-02-06  9:53             ` Pavel Machek
2017-02-06  9:53               ` Pavel Machek
2017-02-06  9:49   ` Pavel Machek
2017-02-06  9:49     ` Pavel Machek
2017-02-08  8:38     ` Sakari Ailus
2017-02-08 12:57       ` [PATCH] omap3isp: add " Pavel Machek
2017-02-08 18:32         ` kbuild test robot
2017-02-08 21:03         ` Laurent Pinchart
2017-02-15  9:42           ` Pavel Machek
2017-02-20  0:59             ` Laurent Pinchart
2017-02-20 12:06               ` [PATCH] omap3isp: avoid uninitialized memory Pavel Machek
2017-02-21 11:20                 ` Sakari Ailus
2017-03-01 11:45               ` [media] omap3isp: Correctly set IO_OUT_SEL and VP_CLK_POL for CCP2 mode Pavel Machek
2017-03-03 11:13                 ` kbuild test robot
2017-03-03 21:48                   ` Pavel Machek
2017-03-10  1:24                     ` [kbuild-all] " Ye Xiaolong
2017-03-10  2:49                     ` Fengguang Wu
2017-03-04 15:15                 ` Sakari Ailus
2017-03-04 19:44                   ` Pavel Machek
2017-03-02  9:01               ` [PATCH] omap3isp: add support for CSI1 bus Pavel Machek
2017-03-02 10:16                 ` [PATCHv2] " Pavel Machek
2017-03-02 11:24                   ` Sakari Ailus
2017-03-02 12:38                     ` Pavel Machek [this message]
2017-03-03 22:17                       ` Sakari Ailus
2017-03-04 13:03                       ` Sakari Ailus
2017-03-04 15:39                         ` Sakari Ailus
2017-03-04 18:44                           ` Laurent Pinchart
2017-04-26 21:19                             ` [bug] omap3isp: missing support for ENUM_FMT Pavel Machek
2017-04-28  7:59                               ` Sakari Ailus
2017-03-04 22:53                         ` [PATCHv2] omap3isp: add support for CSI1 bus Pavel Machek
2017-03-05 14:13                         ` Pavel Machek
2017-03-06  7:23                         ` [PATCH] v4l2-fwnode: Fix clock lane parsing Pavel Machek
2017-03-10 22:54                           ` Sakari Ailus
2017-06-13 12:22                             ` v4l2-fwnode: status, plans for merge, any branch to merge against? Pavel Machek
2017-06-13 12:47                               ` Sakari Ailus
2017-06-13 21:09                                 ` Pavel Machek
2017-06-14 11:06                                   ` Sakari Ailus
2017-06-14 19:41                                     ` Pavel Machek
2017-06-15 22:07                                       ` Sakari Ailus
2017-06-16  6:23                                         ` Pavel Machek
2017-06-15 22:22                                     ` n900 camera on v4.12-rc (was Re: v4l2-fwnode: status, plans for merge, any branch to merge against?) Pavel Machek
2017-06-15 22:23                                     ` [PATCH] omap3isp: fix compilation Pavel Machek
2017-06-16  8:03                                       ` Hans Verkuil
2017-06-16 11:59                                         ` Sakari Ailus
2017-07-04 15:08                                     ` v4l2-fwnode: status, plans for merge, any branch to merge against? Pavel Machek
2017-07-05  9:32                                       ` Sakari Ailus
2017-07-06 10:38                                         ` Pavel Machek
2017-07-11 16:12                                           ` Sakari Ailus
2017-07-12 16:32                                             ` Pavel Machek
2017-07-12 20:31                                         ` omap3isp: is capture mode working? what hardware? was " Pavel Machek
2017-03-06  7:57                         ` [RFC] omap3isp: add support for CSI1 bus Pavel Machek
2017-03-10 13:41                           ` Pavel Machek
2017-04-11 18:15                             ` Pavel Machek
2017-05-03  7:43                         ` [PATCHv2] " Sakari Ailus
2017-05-03 19:50                           ` Pavel Machek
2017-05-03 20:24                             ` Pavel Machek
2017-03-02 12:45                   ` [PATCH] omap3isp: wait for regulators to come up Pavel Machek
2017-03-02 14:46                     ` Laurent Pinchart
2017-03-04 15:33                       ` Sakari Ailus
2017-02-15 10:23           ` [PATCH] omap3isp: add support for CSI1 bus Pavel Machek
2017-02-15 16:57             ` Sebastian Reichel
2017-02-15 17:06               ` Pavel Machek
2017-02-08 23:03     ` [PATCHv2] dt: bindings: Add " Rob Herring
2017-02-08 23:03       ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170302123848.GA28230@amd \
    --to=pavel@ucw.cz \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=sakari.ailus@iki.fi \
    --cc=sre@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.