Re: [PATCH 1/2] media: imx-pxp: Fix routing configuration for i.MX7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

On Mon, 2020-05-18 at 16:54 +0300, Laurent Pinchart wrote:
[...] 
> > > +	/*
> > > +	 * Configure routing, disabling all paths that are not used by
> > > +	 * selecting the "no output" (3) option. The datasheet doesn't
> > > +	 * explicitly require this, but the PXP has been seen to hand after
> > > +	 * processing a few hundreds of frames otherwise.
> > > +	 */
> > >  	pxp_write(dev, HW_PXP_DATA_PATH_CTRL0,
> > 
> > Which commit should this patch be applied on? I have a writel() here.
> 
> My bad, I have a commit in my tree that wraps writel() and readl() into
> inline accessors, as it made it easier during debugging to add printk()
> calls there to log all register accesses. Would you accept that ? If so
> I'll include it in v2.

Sure, go ahead.

> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX15_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX14_SEL(1)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX13_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX12_SEL(0)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX15_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX14_SEL(0)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX13_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX12_SEL(1)|
> > >  		  BF_PXP_DATA_PATH_CTRL0_MUX11_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX10_SEL(0)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX10_SEL(3)|
> > >  		  BF_PXP_DATA_PATH_CTRL0_MUX9_SEL(1)|
> > >  		  BF_PXP_DATA_PATH_CTRL0_MUX8_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX7_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX6_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX5_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX4_SEL(0)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX7_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX6_SEL(1)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX5_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX4_SEL(3)|
> > >  		  BF_PXP_DATA_PATH_CTRL0_MUX3_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX2_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX1_SEL(0)|
> > > -		  BF_PXP_DATA_PATH_CTRL0_MUX0_SEL(0));
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX2_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX1_SEL(3)|
> > > +		  BF_PXP_DATA_PATH_CTRL0_MUX0_SEL(3));
> > >  	pxp_write(dev, HW_PXP_DATA_PATH_CTRL1,
> > > -		  BF_PXP_DATA_PATH_CTRL1_MUX17_SEL(1) |
> > > -		  BF_PXP_DATA_PATH_CTRL1_MUX16_SEL(1));
> > > +		  BF_PXP_DATA_PATH_CTRL1_MUX17_SEL(3) |
> > > +		  BF_PXP_DATA_PATH_CTRL1_MUX16_SEL(3));
> > 
> > I have tried this change on i.MX6ULL / v5.6, it does not work.
> > The PXP interrupt never triggers.
> 
> :-( Could you try the combination of 1/2 and 2/2 ?

With both patches applied, it still hangs.

Looking at the "PXP Architecture" Figures 41-1 in the i.MX6ULL Reference
Manual and 13-87 in the i.MX7D Reference Manual, there are quite a few
muxes dropped on i.MX6ULL, especially around the rotation engines, and
the routing is slightly different. Muxes 2, 4-7, 10, 13, and 15 are all
documented as "reserved, read-only, always 0".

We'll have to use different path control settings per compatible.

regards
Philipp



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux