Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-14 Thread Sakari Ailus
On Fri, Jul 14, 2017 at 08:56:11AM +0200, Pavel Machek wrote:
> Hi!
> 
> > > > The patches work fine on N9.
> > > 
> > > I was able to fix the userspace, and they work for me, too. For both:
> > > 
> > > Acked-by: Pavel Machek 
> > > Tested-by: Pavel Machek 
> > 
> > Thanks! I've applied these on ccp2-prepare. ccp2 branch is rebased, too.
> 
> Thanks!
> 
> I rebased my patches on top of it, and pushed result to camera-fw6-2
> branch.
> 
> Can you drop this patch from ccp2 branch?
> 
> https://git.linuxtv.org/sailus/media_tree.git/commit/?h=ccp2&id=27be6eb1f66389632a5d9dbaf0426a83f1b99b54
> 
> It is preparation for subdevices support on isp; but those will not be
> needed there as we decided to move subdevices to et8ek8.

Indeed; I've dropped the patch.

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


Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Pavel Machek
Hi!

> > > The patches work fine on N9.
> > 
> > I was able to fix the userspace, and they work for me, too. For both:
> > 
> > Acked-by: Pavel Machek 
> > Tested-by: Pavel Machek 
> 
> Thanks! I've applied these on ccp2-prepare. ccp2 branch is rebased, too.

Thanks!

I rebased my patches on top of it, and pushed result to camera-fw6-2
branch.

Can you drop this patch from ccp2 branch?

https://git.linuxtv.org/sailus/media_tree.git/commit/?h=ccp2&id=27be6eb1f66389632a5d9dbaf0426a83f1b99b54

It is preparation for subdevices support on isp; but those will not be
needed there as we decided to move subdevices to et8ek8.

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


signature.asc
Description: Digital signature


Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Sakari Ailus
On Thu, Jul 13, 2017 at 11:38:06PM +0200, Pavel Machek wrote:
> On Fri 2017-07-14 00:26:52, Sakari Ailus wrote:
> > On Thu, Jul 13, 2017 at 11:13:35PM +0200, Pavel Machek wrote:
> > > Hi!
> > > 
> > > > I took the liberty of changing your patch a bit. I added another to 
> > > > extract
> > > > the number of lanes from the endpoint instead as it's not really a 
> > > > property
> > > > of the PHY. (Not tested yet, will check with N9.)
> > > 
> > > No problem.
> > > 
> > > Notice that the 1/2 does not apply on top of ccp2 branch; my merge
> > > resolution was this:
> > 
> > The two patches are for the ccp2-prepare branches, not for ccp2; it's
> > somewhat out of date right now and needs a rebase.
> 
> Yes, and 1/2 will need merge resolution when you do that. Fortunately
> it is easy.

Well... the other patches go on top of this. The end result is still the
same.

> 
> > The patches work fine on N9.
> 
> I was able to fix the userspace, and they work for me, too. For both:
> 
> Acked-by: Pavel Machek 
> Tested-by: Pavel Machek 

Thanks! I've applied these on ccp2-prepare. ccp2 branch is rebased, too.

-- 
Regards,

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


Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Pavel Machek
On Fri 2017-07-14 00:26:52, Sakari Ailus wrote:
> On Thu, Jul 13, 2017 at 11:13:35PM +0200, Pavel Machek wrote:
> > Hi!
> > 
> > > I took the liberty of changing your patch a bit. I added another to 
> > > extract
> > > the number of lanes from the endpoint instead as it's not really a 
> > > property
> > > of the PHY. (Not tested yet, will check with N9.)
> > 
> > No problem.
> > 
> > Notice that the 1/2 does not apply on top of ccp2 branch; my merge
> > resolution was this:
> 
> The two patches are for the ccp2-prepare branches, not for ccp2; it's
> somewhat out of date right now and needs a rebase.

Yes, and 1/2 will need merge resolution when you do that. Fortunately
it is easy.

> The patches work fine on N9.

I was able to fix the userspace, and they work for me, too. For both:

Acked-by: Pavel Machek 
Tested-by: Pavel Machek 

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


signature.asc
Description: Digital signature


Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Sakari Ailus
On Thu, Jul 13, 2017 at 11:13:35PM +0200, Pavel Machek wrote:
> Hi!
> 
> > I took the liberty of changing your patch a bit. I added another to extract
> > the number of lanes from the endpoint instead as it's not really a property
> > of the PHY. (Not tested yet, will check with N9.)
> 
> No problem.
> 
> Notice that the 1/2 does not apply on top of ccp2 branch; my merge
> resolution was this:

The two patches are for the ccp2-prepare branches, not for ccp2; it's
somewhat out of date right now and needs a rebase.

The patches work fine on N9.

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


Re: [PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Pavel Machek
Hi!

> I took the liberty of changing your patch a bit. I added another to extract
> the number of lanes from the endpoint instead as it's not really a property
> of the PHY. (Not tested yet, will check with N9.)

No problem.

Notice that the 1/2 does not apply on top of ccp2 branch; my merge
resolution was this:

I broke something in my userspace; I'll continue testing tommorow.

Thanks,
Pavel

commit 895f4f28972942d1ee77d98dd38dc3d59afaa5c4
Author: Sakari Ailus 
Date:   Thu Jul 13 19:19:02 2017 +0300

omap3isp: Explicitly set the number of CSI-2 lanes used in lane cfg

The omap3isp driver extracts the CSI-2 lane configuration from the V4L2
fwnode endpoint but misses the number of lanes itself. Get this information
and use it in PHY configuration.

Signed-off-by: Sakari Ailus 

diff --git a/drivers/media/platform/omap3isp/isp.c 
b/drivers/media/platform/omap3isp/isp.c
index b80debf..776f708 100644
--- a/drivers/media/platform/omap3isp/isp.c
+++ b/drivers/media/platform/omap3isp/isp.c
@@ -2118,7 +2118,10 @@ static int isp_fwnode_parse(struct device *dev, struct 
fwnode_handle *fwnode,
buscfg->bus.csi2.lanecfg.clk.pol,
buscfg->bus.csi2.lanecfg.clk.pos);
 
-   for (i = 0; i < ISP_CSIPHY2_NUM_DATA_LANES; i++) {
+   buscfg->bus.csi2.num_data_lanes =
+   vep.bus.mipi_csi2.num_data_lanes;
+
+   for (i = 0; i < buscfg->bus.csi2.num_data_lanes; i++) {
buscfg->bus.csi2.lanecfg.data[i].pos =
vep.bus.mipi_csi2.data_lanes[i];
buscfg->bus.csi2.lanecfg.data[i].pol =
diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c 
b/drivers/media/platform/omap3isp/ispcsiphy.c
index 50c0f64..958ac7b 100644
--- a/drivers/media/platform/omap3isp/ispcsiphy.c
+++ b/drivers/media/platform/omap3isp/ispcsiphy.c
@@ -181,7 +181,7 @@ static int omap3isp_csiphy_config(struct isp_csiphy *phy)
struct isp_bus_cfg *buscfg;
struct isp_csiphy_lanes_cfg *lanes;
int csi2_ddrclk_khz;
-   unsigned int used_lanes = 0;
+   unsigned int num_data_lanes, used_lanes = 0;
unsigned int i;
u32 reg;
 
@@ -197,13 +197,19 @@ 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
+   num_data_lanes = 1;
+   } else {
lanes = &buscfg->bus.csi2.lanecfg;
+   num_data_lanes = buscfg->bus.csi2.num_data_lanes;
+   }
+
+   if (num_data_lanes > phy->num_data_lanes)
+   return -EINVAL;
 
/* Clock and data lanes verification */
-   for (i = 0; i < phy->num_data_lanes; i++) {
+   for (i = 0; i < num_data_lanes; i++) {
if (lanes->data[i].pol > 1 || lanes->data[i].pos > 3)
return -EINVAL;
 
@@ -259,7 +265,7 @@ static int omap3isp_csiphy_config(struct isp_csiphy *phy)
/* DPHY lane configuration */
reg = isp_reg_readl(phy->isp, phy->cfg_regs, ISPCSI2_PHY_CFG);
 
-   for (i = 0; i < phy->num_data_lanes; i++) {
+   for (i = 0; i < num_data_lanes; i++) {
reg &= ~(ISPCSI2_PHY_CFG_DATA_POL_MASK(i + 1) |
 ISPCSI2_PHY_CFG_DATA_POSITION_MASK(i + 1));
reg |= (lanes->data[i].pol <<
diff --git a/drivers/media/platform/omap3isp/omap3isp.h 
b/drivers/media/platform/omap3isp/omap3isp.h
index f6d1d0d..672a9cf 100644
--- a/drivers/media/platform/omap3isp/omap3isp.h
+++ b/drivers/media/platform/omap3isp/omap3isp.h
@@ -115,10 +115,13 @@ struct isp_ccp2_cfg {
 /**
  * struct isp_csi2_cfg - CSI2 interface configuration
  * @crc: Enable the cyclic redundancy check
+ * @lanecfg: CSI-2 lane configuration
+ * @num_data_lanes: The number of data lanes in use
  */
 struct isp_csi2_cfg {
unsigned crc:1;
struct isp_csiphy_lanes_cfg lanecfg;
+   u8 num_data_lanes;
 };
 
 struct isp_bus_cfg {


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


signature.asc
Description: Digital signature


[PATCH 0/2] OMAP3ISP CCP2 support

2017-07-13 Thread Sakari Ailus
Hi Pavel,

I took the liberty of changing your patch a bit. I added another to extract
the number of lanes from the endpoint instead as it's not really a property
of the PHY. (Not tested yet, will check with N9.)

Pavel Machek (1):
  omap3isp: add CSI1 support

Sakari Ailus (1):
  omap3isp: Explicitly set the number of CSI-2 lanes used in lane cfg

 drivers/media/platform/omap3isp/isp.c   |  5 -
 drivers/media/platform/omap3isp/ispccp2.c   |  1 +
 drivers/media/platform/omap3isp/ispcsiphy.c | 35 +++--
 drivers/media/platform/omap3isp/omap3isp.h  |  3 +++
 4 files changed, 31 insertions(+), 13 deletions(-)

-- 
2.11.0