Skip to content

Commit f30d7cf

Browse files
Aakarsh JainHans Verkuil
authored andcommitted
media: s5p-mfc: Load firmware for each run in MFCv12.
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. Cc: linux-fsd@tesla.com Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
1 parent a394c3f commit f30d7cf

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,14 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev *dev)
5151
* into kernel. */
5252
mfc_debug_enter();
5353

54-
if (dev->fw_get_done)
55-
return 0;
54+
/* In case of MFC v12, RET_SYS_INIT response from hardware fails due to
55+
* incorrect firmware transfer and therefore it is not able to initialize
56+
* the hardware. This causes failed response for SYS_INIT command when
57+
* MFC runs for second time. So, load the MFC v12 firmware for each run.
58+
*/
59+
if (!IS_MFCV12(dev))
60+
if (dev->fw_get_done)
61+
return 0;
5662

5763
for (i = MFC_FW_MAX_VERSIONS - 1; i >= 0; i--) {
5864
if (!dev->variant->fw_name[i])

0 commit comments

Comments
 (0)