Message ID | 20170215102301.GA29330@amd (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On Wed, Feb 15, 2017 at 11:23:01AM +0100, Pavel Machek wrote: > It seems csiphy_routing_cfg_3430 is not called at all. I added > printks, but they don't trigger. If you have an idea what is going on > there, it would help... You added printk to csiphy_routing_cfg_3630 instead of csiphy_routing_cfg_3430 and N900 has OMAP3430. Function should be called when you start (or stop) using the camera: csiphy_routing_cfg_3430(...) csiphy_routing_cfg(...) omap3isp_csiphy_config(...) omap3isp_csiphy_acquire(...) & omap3isp_csiphy_release(...) ccp2_s_stream(...) -- Sebastian > diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c b/drivers/media/platform/omap3isp/ispcsiphy.c > index 6b814e1..fe9303a 100644 > --- a/drivers/media/platform/omap3isp/ispcsiphy.c > +++ b/drivers/media/platform/omap3isp/ispcsiphy.c > @@ -30,6 +30,8 @@ static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, > u32 reg; > u32 shift, mode; > > + printk("routing cfg 3630: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); > + > regmap_read(phy->isp->syscon, phy->isp->syscon_offset, ®); > > switch (iface) { > @@ -74,6 +76,9 @@ static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on, > u32 csirxfe = OMAP343X_CONTROL_CSIRXFE_PWRDNZ > | OMAP343X_CONTROL_CSIRXFE_RESET; > > + /* FIXME: can this be used instead of if (isp->revision) in ispccp2.c? */ > + > + printk("routing cfg: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); > /* Only the CCP2B on PHY1 is configurable. */ > if (iface != ISP_INTERFACE_CCP2B_PHY1) > return; > @@ -105,6 +110,7 @@ static void csiphy_routing_cfg(struct isp_csiphy *phy, > enum isp_interface_type iface, bool on, > bool ccp2_strobe) > { > + printk("csiphy_routing_cfg\n"); > if (phy->isp->phy_type == ISP_PHY_TYPE_3630 && on) > return csiphy_routing_cfg_3630(phy, iface, ccp2_strobe); > if (phy->isp->phy_type == ISP_PHY_TYPE_3430)
On Wed 2017-02-15 17:57:46, Sebastian Reichel wrote: > Hi, > > On Wed, Feb 15, 2017 at 11:23:01AM +0100, Pavel Machek wrote: > > It seems csiphy_routing_cfg_3430 is not called at all. I added > > printks, but they don't trigger. If you have an idea what is going on > > there, it would help... > > You added printk to csiphy_routing_cfg_3630 instead of csiphy_routing_cfg_3430 > and N900 has OMAP3430. Function should be called when you start (or > stop) using the camera: > > csiphy_routing_cfg_3430(...) > csiphy_routing_cfg(...) > omap3isp_csiphy_config(...) > omap3isp_csiphy_acquire(...) & omap3isp_csiphy_release(...) > ccp2_s_stream(...) Take another look, I believe I added printk to both of them. Thanks for the expected backtrace, that should help figuring it out. > -- Sebastian > > > diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c b/drivers/media/platform/omap3isp/ispcsiphy.c > > index 6b814e1..fe9303a 100644 > > --- a/drivers/media/platform/omap3isp/ispcsiphy.c > > +++ b/drivers/media/platform/omap3isp/ispcsiphy.c > > @@ -30,6 +30,8 @@ static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, > > u32 reg; > > u32 shift, mode; > > > > + printk("routing cfg 3630: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); > > + > > regmap_read(phy->isp->syscon, phy->isp->syscon_offset, ®); > > > > switch (iface) { > > @@ -74,6 +76,9 @@ static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on, > > u32 csirxfe = OMAP343X_CONTROL_CSIRXFE_PWRDNZ > > | OMAP343X_CONTROL_CSIRXFE_RESET; > > > > + /* FIXME: can this be used instead of if (isp->revision) in ispccp2.c? */ > > + > > + printk("routing cfg: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); > > /* Only the CCP2B on PHY1 is configurable. */ > > if (iface != ISP_INTERFACE_CCP2B_PHY1) > > return; > > @@ -105,6 +110,7 @@ static void csiphy_routing_cfg(struct isp_csiphy *phy, > > enum isp_interface_type iface, bool on, > > bool ccp2_strobe) > > { > > + printk("csiphy_routing_cfg\n"); > > if (phy->isp->phy_type == ISP_PHY_TYPE_3630 && on) > > return csiphy_routing_cfg_3630(phy, iface, ccp2_strobe); > > if (phy->isp->phy_type == ISP_PHY_TYPE_3430)
diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c b/drivers/media/platform/omap3isp/ispcsiphy.c index 6b814e1..fe9303a 100644 --- a/drivers/media/platform/omap3isp/ispcsiphy.c +++ b/drivers/media/platform/omap3isp/ispcsiphy.c @@ -30,6 +30,8 @@ static void csiphy_routing_cfg_3630(struct isp_csiphy *phy, u32 reg; u32 shift, mode; + printk("routing cfg 3630: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); + regmap_read(phy->isp->syscon, phy->isp->syscon_offset, ®); switch (iface) { @@ -74,6 +76,9 @@ static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on, u32 csirxfe = OMAP343X_CONTROL_CSIRXFE_PWRDNZ | OMAP343X_CONTROL_CSIRXFE_RESET; + /* FIXME: can this be used instead of if (isp->revision) in ispccp2.c? */ + + printk("routing cfg: iface %d, %d\n", iface, ISP_INTERFACE_CCP2B_PHY1); /* Only the CCP2B on PHY1 is configurable. */ if (iface != ISP_INTERFACE_CCP2B_PHY1) return; @@ -105,6 +110,7 @@ static void csiphy_routing_cfg(struct isp_csiphy *phy, enum isp_interface_type iface, bool on, bool ccp2_strobe) { + printk("csiphy_routing_cfg\n"); if (phy->isp->phy_type == ISP_PHY_TYPE_3630 && on) return csiphy_routing_cfg_3630(phy, iface, ccp2_strobe); if (phy->isp->phy_type == ISP_PHY_TYPE_3430)