Hi Pavel,

On Thu, Jul 06, 2017 at 12:38:51PM +0200, Pavel Machek wrote:
> Hi!
> 
> > > > > > I expect to have most of them in during the next merge window.
> > > > > 
> > > > > So git://linuxtv.org/media_tree.git branch master is the right one to
> > > > > work one?
> > > > 
> > > > I also pushed the rebased ccp2 branch there:
> > > > 
> > > > <URL:https://git.linuxtv.org/sailus/media_tree.git/log/?h=ccp2>
> > > > 
> > > > It's now right on the top of media-tree master.
> > > 
> > > Is ccp2 branch expected to go into 4.13, too?
> > 
> > Hi Pavel,
> > 
> > What I've done is just rebased the ccp2 branch. In other words, the patches
> > in that branch are no more ready than they were.
> 
> I thought they were ready even back then :-).
> 
> > To get these merged we should ideally
> > 
> > 1) Make sure there will be no regressions,
> 
> Well, all I have running recent kernels is N900. If ccp branch works
> for you on N9, that's probably as much testing as we can get.
> 
> > 2) clean things up in the omap3isp; which resources are needed and when
> > (e.g. regulators, PHY configuration) isn't clear at the moment and
> > 
> > 2) have one driver using the implementation.
> > 
> > At least 1) is needed. I think a number of framework patches could be
> > mergeable before 2) and 3) are done. I can prepare a set later this week.
> > But even that'd be likely for 4.14, not 4.13.
> 
> Yep, it is too late for v4.13 now. But getting stuff ready for v4.14
> would be good.
> 
> I started looking through the patches; I believe they are safe, but it
> is probably better to review the series you've just mailed.
> 
> The driver using the implementation -- yes, I have it all working on
> n900 (incuding userland, I can actually take photos.) I can post the
> series, or better link to kernel.org.
> 
> Right now, my goal would be to get sensor working on N900 with
> mainline (without flash and focus).
> 
> I'd very much like any comment on patch attached below.
> 
> Age   Commit message (Expand) Author  Files   Lines
> 2017-06-16   omap3isp: Destroy CSI-2 phy mutexes in error and module
> 2017-06-16    omap3isp: Skip CSI-2 receiver initialisation in CCP2
> 2017-06-16    omap3isp: Correctly put the last iterated endpoint
> 2017-06-16    omap3isp: Always initialise isp and mutex for csiphy1
> 2017-06-16    omap3isp: Return -EPROBE_DEFER if the required
> 2017-06-16 omap3isp: Correctly set IO_OUT_SEL and VP_CLK_POL for CCP2
> 2017-06-16    omap3isp: Make external sub-device bus configuration a
> 2017-06-15    omap3isp: Parse CSI1 configuration from the device tree
> 2017-06-15    omap3isp: Check for valid port in endpoints     Sakari
> 2017-06-15    omap3isp: Ignore endpoints with invalid configuration
> 
> # Nothing changes for bus_type == V4L2_MBUS_CSI2. FIXME: Is bus_type
>   set correctly?
> 
> 2017-06-15    smiapp: add CCP2 support        Pavel Machek    1
> 
> # bus_type will be guess, so no code changes on existing system:
> 
> 2017-06-15    v4l: Add support for CSI-1 and CCP2 busses      Sakari
> 
> # Reads unused value -> can't break anything:
> 
> 2017-06-13    v4l: fwnode: Obtain data bus type from FW       Sakari
> 
> # No code changes -> totally safe:
> 
> 2017-06-13    v4l: fwnode: Call CSI2 bus csi2, not csi        Sakari
> 2017-06-13    dt: bindings: Add strobe property for CCP2      Sakari
> 2017-06-13    dt: bindings: Explicitly specify bus type
> 
> Best regards,
>                                                               Pavel
> 
> commit 1220492dd4c1872c8036caa573680f95aabc69bc
> Author: Pavel <pa...@ucw.cz>
> Date:   Tue Feb 28 12:02:26 2017 +0100
> 
>     omap3isp: add CSI1 support
>     
>     Use proper code path for csi1/ccp2 support.
>     
>     Signed-off-by: Pavel Machek <pa...@ucw.cz>
> 
> diff --git a/drivers/media/platform/omap3isp/ispccp2.c 
> b/drivers/media/platform/omap3isp/ispccp2.c
> index 24a9fc5..47210b1 100644
> --- a/drivers/media/platform/omap3isp/ispccp2.c
> +++ b/drivers/media/platform/omap3isp/ispccp2.c
> @@ -1149,6 +1149,7 @@ int omap3isp_ccp2_init(struct isp_device *isp)
>                               "Could not get regulator vdds_csib\n");
>                       ccp2->vdds_csib = NULL;
>               }
> +             ccp2->phy = &isp->isp_csiphy2;
>       } else if (isp->revision == ISP_REVISION_15_0) {
>               ccp2->phy = &isp->isp_csiphy1;
>       }
> diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c 
> b/drivers/media/platform/omap3isp/ispcsiphy.c
> index 50c0f64..862fdd3 100644
> --- a/drivers/media/platform/omap3isp/ispcsiphy.c
> +++ b/drivers/media/platform/omap3isp/ispcsiphy.c
> @@ -197,9 +197,10 @@ static int omap3isp_csiphy_config(struct isp_csiphy *phy)
>       }
>  
>       if (buscfg->interface == ISP_INTERFACE_CCP2B_PHY1
> -         || buscfg->interface == ISP_INTERFACE_CCP2B_PHY2)
> +         || buscfg->interface == ISP_INTERFACE_CCP2B_PHY2) {
>               lanes = &buscfg->bus.ccp2.lanecfg;
> -     else
> +             phy->num_data_lanes = 1;
> +     } else
>               lanes = &buscfg->bus.csi2.lanecfg;
>  
>       /* Clock and data lanes verification */
> @@ -302,13 +303,16 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy)
>       if (rval < 0)
>               goto done;
>  
> -     rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
> -     if (rval) {
> -             regulator_disable(phy->vdd);
> -             goto done;
> +     if (phy->isp->revision == ISP_REVISION_15_0) {

Shouldn't you make the related changes to omap3isp_csiphy_release() as
well?

Other than that the patch looks good to me.

> +             rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
> +             if (rval) {
> +                     regulator_disable(phy->vdd);
> +                     goto done;
> +             }
> +
> +             csiphy_power_autoswitch_enable(phy, true);
>       }
>  
> -     csiphy_power_autoswitch_enable(phy, true);
>       phy->phy_in_use = 1;
>  
>  done:
> 

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi     XMPP: sai...@retiisi.org.uk

Reply via email to