playing youtube videos then suspend/resume with power key, the last frame will appear in the back of the applications menu

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

playing youtube videos then suspend/resume with power key, the last frame will appear in the back of the applications menu

1,156 次查看
chenguoyin
NXP Employee
NXP Employee

In r10.3.2 android release package, playing youtube videos then suspend/resume with power key, the last frame will appear in the back of the applications menu. It may also apply some local video playback with suspend/resume.

This issue is due to user space Overlay HAL trying to blank(1) the FB2 in FB early suspend state, and FB2's late_resume will recover the FB2 state to be unblank(0) state since the blank state stored in FB2's early_suspend is unblank(0).

You can apply the below patch in kernel to have it fixed:

diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c

index f28e2e6..01ad912 100644

--- a/drivers/video/mxc/mxc_ipuv3_fb.c

+++ b/drivers/video/mxc/mxc_ipuv3_fb.c

@@ -1224,11 +1224,21 @@ static int mxcfb_blank(int blank, struct fb_info *info)

{

        struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par;

-       dev_dbg(info->device, "blank = %d\n", blank);

+       dev_err(info->device, "blank = %d\n", blank);

-       if (mxc_fbi->fb_suspended)

+       if ((mxc_fbi->fb_suspended) && (blank == mxc_fbi->next_blank))

                return -EAGAIN;

+    /*

+     * user space may be still have chance to control the fb blank

+     *state in early suspend state

+     */

+       if ((mxc_fbi->fb_suspended) && (blank != mxc_fbi->next_blank)){

+        dev_err(info->device, "Warning!set blank %d in suspend,previouse store blank %d\n",

+                blank, mxc_fbi->next_blank);

+        mxc_fbi->next_blank = blank;

+    }

+

        if (mxc_fbi->cur_blank == blank)

                return 0;

标签 (4)
3 回复数

722 次查看
chenguoyin
NXP Employee
NXP Employee

Update one  line "return 0" with under score as below for this patch:

diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c

index f28e2e6..01ad912 100644

--- a/drivers/video/mxc/mxc_ipuv3_fb.c

+++ b/drivers/video/mxc/mxc_ipuv3_fb.c

@@ -1224,11 +1224,21 @@ static int mxcfb_blank(int blank, struct fb_info *info)

{

        struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par;

-       dev_dbg(info->device, "blank = %d\n", blank);

+       dev_err(info->device, "blank = %d\n", blank);

-       if (mxc_fbi->fb_suspended)

+       if ((mxc_fbi->fb_suspended) && (blank == mxc_fbi->next_blank))

                return -EAGAIN;

+    /*

+     * user space may be still have chance to control the fb blank

+     *state in early suspend state

+     */

+       if ((mxc_fbi->fb_suspended) && (blank != mxc_fbi->next_blank)){

+        dev_err(info->device, "Warning!set blank %d in suspend,previouse store blank %d\n",

+                blank, mxc_fbi->next_blank);

+        mxc_fbi->next_blank = blank;

+        return 0;

+    }

+

        if (mxc_fbi->cur_blank == blank)

                return 0;

0 项奖励
回复

722 次查看
daiane_angolini
NXP Employee
NXP Employee

Was this applied to any branch on git.freescale.com?

0 项奖励
回复

722 次查看
chenguoyin
NXP Employee
NXP Employee

Should be applied to R10.3.2, R10.4 tag