[Patch v4 09/11] media: s5p-mfc: Load firmware for each run in MFCv12.

Aakarsh Jain aakarsh.jain at samsung.com
Tue Nov 28 02:31:52 PST 2023


Hi Hans,

> -----Original Message-----
> From: Hans Verkuil <hverkuil-cisco at xs4all.nl>
> Sent: 22 November 2023 21:14
> To: Aakarsh Jain <aakarsh.jain at samsung.com>; linux-arm-
> kernel at lists.infradead.org; linux-media at vger.kernel.org; linux-
> kernel at vger.kernel.org; devicetree at vger.kernel.org
> Cc: m.szyprowski at samsung.com; andrzej.hajda at intel.com;
> mchehab at kernel.org; krzysztof.kozlowski+dt at linaro.org;
> dillon.minfei at gmail.com; david.plowman at raspberrypi.com;
> mark.rutland at arm.com; robh+dt at kernel.org; conor+dt at kernel.org; linux-
> samsung-soc at vger.kernel.org; andi at etezian.org; gost.dev at samsung.com;
> alim.akhtar at samsung.com; aswani.reddy at samsung.com;
> pankaj.dubey at samsung.com; ajaykumar.rs at samsung.com; linux-
> fsd at tesla.com; Smitha T Murthy <smithatmurthy at gmail.com>
> Subject: Re: [Patch v4 09/11] media: s5p-mfc: Load firmware for each run in
> MFCv12.
> 
> On 25/10/2023 12:22, Aakarsh Jain wrote:
> > In MFCv12, some section of firmware gets updated at each MFC run.
> > Hence we need to reload original firmware for each run at the start.
> 
> Huh? This is very weird. This definitely deserves a comment in the actual
> code rather than just the commit log.
> 
> Do you know what is going on? What part is updated? Are you sure it isn't a
> driver bug somehow?
> 
> Regards,
> 
> 	Hans
> 
During SYS_INIT command sent to MFC sequentially, firmware is not able to initialize the hardware due to incorrect firmware transfer and in current scenario the firmware is not loaded again in the Reserved memory area.
In this case RET_SYS_INIT response from hardware is failing. So we need to load firmware every time we open the device node.
I will add comment in the code why this change is needed.

Thanks for the review.
> >
> > Cc: linux-fsd at tesla.com
> > Signed-off-by: Smitha T Murthy <smithatmurthy at gmail.com>
> > Signed-off-by: Aakarsh Jain <aakarsh.jain at samsung.com>
> > ---
> >  drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
> > b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
> > index b49159142c53..057088b9d327 100644
> > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
> > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
> > @@ -51,8 +51,9 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev
> *dev)
> >  	 * into kernel. */
> >  	mfc_debug_enter();
> >
> > -	if (dev->fw_get_done)
> > -		return 0;
> > +	if (!IS_MFCV12(dev))
> > +		if (dev->fw_get_done)
> > +			return 0;
> >
> >  	for (i = MFC_FW_MAX_VERSIONS - 1; i >= 0; i--) {
> >  		if (!dev->variant->fw_name[i])





More information about the linux-arm-kernel mailing list