From: Frederic Chen <frederic.chen@xxxxxxxxxxxx> We added a struct tuning_addr which contains a field "present" so that the driver can tell the firmware if we have user tuning dataor not. The strcut img_sw_buffer is also added. This struct has no cpu address field and uses a handle instead so that we don't pass a cpu address to co-processor. Signed-off-by: Frederic Chen <frederic.chen@xxxxxxxxxxxx> --- drivers/media/platform/mtk-mdp3/mtk-img-ipi.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/mtk-mdp3/mtk-img-ipi.h b/drivers/media/platform/mtk-mdp3/mtk-img-ipi.h index 9fabe7e8b71d..f61e61faf636 100644 --- a/drivers/media/platform/mtk-mdp3/mtk-img-ipi.h +++ b/drivers/media/platform/mtk-mdp3/mtk-img-ipi.h @@ -38,6 +38,12 @@ struct img_addr { u32 iova; /* Used by IOMMU HW access */ } __attribute__ ((__packed__)); +struct tuning_addr { + u32 present; + u32 pa; /* Used by CM4 access */ + u32 iova; /* Used by IOMMU HW access */ +} __attribute__ ((__packed__)); + struct img_sw_addr { u64 va; /* Used by APMCU access */ u32 pa; /* Used by CM4 access */ @@ -105,16 +111,21 @@ struct img_ipi_frameparam { u64 drv_data; struct img_input inputs[IMG_MAX_HW_INPUTS]; struct img_output outputs[IMG_MAX_HW_OUTPUTS]; - struct img_addr tuning_data; + struct tuning_addr tuning_data; struct img_addr subfrm_data; struct img_sw_addr config_data; struct img_sw_addr self_data; /* u8 pq_data[]; */ } __attribute__ ((__packed__)); +struct img_sw_buffer { + u64 handle; /* Used by APMCU access */ + u32 scp_addr; /* Used by CM4 access */ +} __attribute__ ((__packed__)); + struct img_ipi_param { u8 usage; - struct img_sw_addr frm_param; + struct img_sw_buffer frm_param; } __attribute__ ((__packed__)); struct img_frameparam { -- 2.18.0