This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power 
up case
Author:  Tsuchiya Yuto <[email protected]>
Date:    Mon Oct 18 01:19:42 2021 +0900

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] 
https://github.com/intel-aero/linux-kernel/blob/a1b673258feb915268377275130c5c5df0eafc82/drivers/media/pci/atomisp/atomisp_driver/atomisp_v4l2.c#L431-L514

Fixes: 0f441fd70b1e ("media: atomisp: simplify the power down/up code")
Signed-off-by: Tsuchiya Yuto <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---

diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c 
b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
index 0511c454e769..7982cc143374 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
@@ -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);
 

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to