Re: [PATCH 0/2] OMAP3ISP CCP2 support
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
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
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
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
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
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
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