mirror of https://gitee.com/openkylin/linux.git
media: atomisp: allow passing firmware name at modprobe time
It can be useful to be able to test different firmware files at modprobe time, in order to be able to test different variants without much efforts. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
6a9c6ba7b7
commit
607e954ac5
|
@ -95,6 +95,10 @@ int mipicsi_flag;
|
||||||
module_param(mipicsi_flag, int, 0644);
|
module_param(mipicsi_flag, int, 0644);
|
||||||
MODULE_PARM_DESC(mipicsi_flag, "mipi csi compression predictor algorithm");
|
MODULE_PARM_DESC(mipicsi_flag, "mipi csi compression predictor algorithm");
|
||||||
|
|
||||||
|
static char firmware_name[256];
|
||||||
|
module_param_string(firmware_name, firmware_name, sizeof(firmware_name), 0);
|
||||||
|
MODULE_PARM_DESC(firmware_name, "Firmware file name. Allows overriding the default firmware name.");
|
||||||
|
|
||||||
/*set to 16x16 since this is the amount of lines and pixels the sensor
|
/*set to 16x16 since this is the amount of lines and pixels the sensor
|
||||||
exports extra. If these are kept at the 10x8 that they were on, in yuv
|
exports extra. If these are kept at the 10x8 that they were on, in yuv
|
||||||
downscaling modes incorrect resolutions where requested to the sensor
|
downscaling modes incorrect resolutions where requested to the sensor
|
||||||
|
@ -1449,19 +1453,23 @@ atomisp_load_firmware(struct atomisp_device *isp)
|
||||||
if (skip_fwload)
|
if (skip_fwload)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if ((isp->media_dev.hw_revision >> ATOMISP_HW_REVISION_SHIFT)
|
if (firmware_name[0] != '\0') {
|
||||||
== ATOMISP_HW_REVISION_ISP2401)
|
fw_path = firmware_name;
|
||||||
fw_path = "shisp_2401a0_v21.bin";
|
} else {
|
||||||
|
if ((isp->media_dev.hw_revision >> ATOMISP_HW_REVISION_SHIFT)
|
||||||
|
== ATOMISP_HW_REVISION_ISP2401)
|
||||||
|
fw_path = "shisp_2401a0_v21.bin";
|
||||||
|
|
||||||
if (isp->media_dev.hw_revision ==
|
if (isp->media_dev.hw_revision ==
|
||||||
((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
|
((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT)
|
||||||
| ATOMISP_HW_STEPPING_A0))
|
| ATOMISP_HW_STEPPING_A0))
|
||||||
fw_path = "shisp_2401a0_legacy_v21.bin";
|
fw_path = "shisp_2401a0_legacy_v21.bin";
|
||||||
|
|
||||||
if (isp->media_dev.hw_revision ==
|
if (isp->media_dev.hw_revision ==
|
||||||
((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
|
((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT)
|
||||||
| ATOMISP_HW_STEPPING_B0))
|
| ATOMISP_HW_STEPPING_B0))
|
||||||
fw_path = "shisp_2400b0_v21.bin";
|
fw_path = "shisp_2400b0_v21.bin";
|
||||||
|
}
|
||||||
|
|
||||||
if (!fw_path) {
|
if (!fw_path) {
|
||||||
dev_err(isp->dev, "Unsupported hw_revision 0x%x\n",
|
dev_err(isp->dev, "Unsupported hw_revision 0x%x\n",
|
||||||
|
|
Loading…
Reference in New Issue