media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case
When comparing with intel-aero atomisp [1], it looks like punit_ddr_dvfs_enable() should take `false` as an argument on mrfld_power up case. Code from the intel-aero kernel [1]: int atomisp_mrfld_power_down(struct atomisp_device *isp) { [...] /*WA:Enable DVFS*/ if (IS_CHT) punit_ddr_dvfs_enable(true); int atomisp_mrfld_power_up(struct atomisp_device *isp) { [...] /*WA for PUNIT, if DVFS enabled, ISP timeout observed*/ if (IS_CHT) punit_ddr_dvfs_enable(false); This patch fixes the inverted argument as per the intel-aero code, as well as its comment. While here, fix space issues for comments in atomisp_mrfld_power(). Note that it does not seem to be possible to unify the up/down cases for punit_ddr_dvfs_enable(), i.e., we can't do something like the following: if (IS_CHT) punit_ddr_dvfs_enable(!enable); because according to the intel-aero code [1], the DVFS is disabled before "writing 0x0 to ISPSSPM0 bit[1:0]" and the DVFS is enabled after "writing 0x3 to ISPSSPM0 bit[1:0]". [1]a1b673258f/drivers/media/pci/atomisp/atomisp_driver/atomisp_v4l2.c (L431-L514)
Fixes:0f441fd70b
("media: atomisp: simplify the power down/up code") Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
ce3015b721
commit
5bfbf65fcc
|
@ -711,15 +711,15 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable)
|
|||
|
||||
dev_dbg(isp->dev, "IUNIT power-%s.\n", enable ? "on" : "off");
|
||||
|
||||
/*WA:Enable DVFS*/
|
||||
/* WA for P-Unit, if DVFS enabled, ISP timeout observed */
|
||||
if (IS_CHT && enable)
|
||||
punit_ddr_dvfs_enable(true);
|
||||
punit_ddr_dvfs_enable(false);
|
||||
|
||||
/*
|
||||
* FIXME:WA for ECS28A, with this sleep, CTS
|
||||
* android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceAbort
|
||||
* PASS, no impact on other platforms
|
||||
*/
|
||||
*/
|
||||
if (IS_BYT && enable)
|
||||
msleep(10);
|
||||
|
||||
|
@ -727,7 +727,7 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable)
|
|||
iosf_mbi_modify(BT_MBI_UNIT_PMC, MBI_REG_READ, MRFLD_ISPSSPM0,
|
||||
val, MRFLD_ISPSSPM0_ISPSSC_MASK);
|
||||
|
||||
/*WA:Enable DVFS*/
|
||||
/* WA:Enable DVFS */
|
||||
if (IS_CHT && !enable)
|
||||
punit_ddr_dvfs_enable(true);
|
||||
|
||||
|
|
Loading…
Reference in New Issue