Lines Matching refs:isp
65 ipu6_cpd_metadata_get_cmpnt(struct ipu6_device *isp, const void *metadata, in ipu6_cpd_metadata_get_cmpnt() argument
71 cmpnt_count = div_u64(cmpnt_count, isp->cpd_metadata_cmpnt_size); in ipu6_cpd_metadata_get_cmpnt()
74 dev_err(&isp->pdev->dev, "Component index out of range (%d)\n", in ipu6_cpd_metadata_get_cmpnt()
79 return metadata + extn_size + idx * isp->cpd_metadata_cmpnt_size; in ipu6_cpd_metadata_get_cmpnt()
82 static u32 ipu6_cpd_metadata_cmpnt_version(struct ipu6_device *isp, in ipu6_cpd_metadata_cmpnt_version() argument
88 cmpnt = ipu6_cpd_metadata_get_cmpnt(isp, metadata, metadata_size, idx); in ipu6_cpd_metadata_cmpnt_version()
95 static int ipu6_cpd_metadata_get_cmpnt_id(struct ipu6_device *isp, in ipu6_cpd_metadata_get_cmpnt_id() argument
101 cmpnt = ipu6_cpd_metadata_get_cmpnt(isp, metadata, metadata_size, idx); in ipu6_cpd_metadata_get_cmpnt_id()
108 static int ipu6_cpd_parse_module_data(struct ipu6_device *isp, in ipu6_cpd_parse_module_data() argument
138 id = ipu6_cpd_metadata_get_cmpnt_id(isp, metadata, in ipu6_cpd_parse_module_data()
141 dev_err(&isp->pdev->dev, "Invalid CPD component id\n"); in ipu6_cpd_parse_module_data()
145 ver = ipu6_cpd_metadata_cmpnt_version(isp, metadata, in ipu6_cpd_parse_module_data()
148 dev_err(&isp->pdev->dev, in ipu6_cpd_parse_module_data()
166 struct ipu6_device *isp = adev->isp; in ipu6_cpd_create_pkg_dir() local
195 ret = ipu6_cpd_parse_module_data(isp, src + ent->offset, in ipu6_cpd_create_pkg_dir()
200 dev_err(&isp->pdev->dev, "Failed to parse module data\n"); in ipu6_cpd_create_pkg_dir()
228 static int ipu6_cpd_validate_cpd(struct ipu6_device *isp, const void *cpd, in ipu6_cpd_validate_cpd() argument
241 dev_err(&isp->pdev->dev, "Invalid CPD moduledata size\n"); in ipu6_cpd_validate_cpd()
247 dev_err(&isp->pdev->dev, "Invalid CPD header\n"); in ipu6_cpd_validate_cpd()
256 dev_err(&isp->pdev->dev, "Invalid CPD entry (%d)\n", i); in ipu6_cpd_validate_cpd()
264 static int ipu6_cpd_validate_moduledata(struct ipu6_device *isp, in ipu6_cpd_validate_moduledata() argument
274 dev_err(&isp->pdev->dev, "Invalid CPD moduledata size\n"); in ipu6_cpd_validate_moduledata()
278 dev_info(&isp->pdev->dev, "FW version: %x\n", mod_hdr->fw_pkg_date); in ipu6_cpd_validate_moduledata()
279 ret = ipu6_cpd_validate_cpd(isp, moduledata + mod_hdr->hdr_len, in ipu6_cpd_validate_moduledata()
283 dev_err(&isp->pdev->dev, "Invalid CPD in moduledata\n"); in ipu6_cpd_validate_moduledata()
290 static int ipu6_cpd_validate_metadata(struct ipu6_device *isp, in ipu6_cpd_validate_metadata() argument
297 dev_err(&isp->pdev->dev, "Invalid CPD metadata\n"); in ipu6_cpd_validate_metadata()
304 dev_err(&isp->pdev->dev, in ipu6_cpd_validate_metadata()
311 if ((meta_size - sizeof(*extn)) % isp->cpd_metadata_cmpnt_size) { in ipu6_cpd_validate_metadata()
312 dev_err(&isp->pdev->dev, "Invalid CPD metadata size\n"); in ipu6_cpd_validate_metadata()
319 int ipu6_cpd_validate_cpd_file(struct ipu6_device *isp, const void *cpd_file, in ipu6_cpd_validate_cpd_file() argument
326 ret = ipu6_cpd_validate_cpd(isp, cpd_file, cpd_file_size, in ipu6_cpd_validate_cpd_file()
329 dev_err(&isp->pdev->dev, "Invalid CPD in file\n"); in ipu6_cpd_validate_cpd_file()
335 dev_err(&isp->pdev->dev, "Invalid CPD header\n"); in ipu6_cpd_validate_cpd_file()
342 dev_err(&isp->pdev->dev, "Invalid CPD manifest size\n"); in ipu6_cpd_validate_cpd_file()
348 ret = ipu6_cpd_validate_metadata(isp, cpd_file + ent->offset, ent->len); in ipu6_cpd_validate_cpd_file()
350 dev_err(&isp->pdev->dev, "Invalid CPD metadata\n"); in ipu6_cpd_validate_cpd_file()
356 ret = ipu6_cpd_validate_moduledata(isp, cpd_file + ent->offset, in ipu6_cpd_validate_cpd_file()
359 dev_err(&isp->pdev->dev, "Invalid CPD moduledata\n"); in ipu6_cpd_validate_cpd_file()