[PATCH dev-5.1 4/4] media: aspeed: add a workaround to fix asilicon bug (Jae Hyun Yoo)

xiuzhi 1450335857 at qq.com
Sun Jun 2 12:46:43 AEST 2019


Hi Jae,
    This new  patch works very well so far,
 I will test it more cases next week.
Best,
xiuzhi




------------------ Original ------------------
From:  "jae.hyun.yoo";<jae.hyun.yoo at linux.intel.com>;
Date:  Jun 1, 2019
To:  "xiuzhi"<1450335857 at qq.com>; "openbmc"<openbmc at lists.ozlabs.org>; "eajames"<eajames at linux.ibm.com>; "joel"<joel at jms.id.au>; "andrew"<andrew at aj.id.au>; 

Subject:  Re: [PATCH dev-5.1 4/4] media: aspeed: add a workaround to fix asilicon bug (Jae Hyun Yoo)



On 5/31/2019 4:21 AM, xiuzhi wrote:
> Hi  Jae,
>     I tested this patch ,it works on 1680*1050,but I found an issue:
> 
> The ikvm webpage will be black screen when you reboot the host after 
> switching solution between 1680*1050 and 800*600 on chrome browser (my 
> chrome version is 65).
> you can reproduce it:
> 1, Set host screen solution to 1680*1050 and save it . ikvm webpage works
> 2,Set host screen solution to 800*600 and save it. ikvm webpage works
> 3,Reset host screen solution to   1680*1050 and save it,
> 4,reboot the host,
> 5, the ikvm webpage is black screen when boot to Centos GUI

Hi Xiuzhi,

Checked that the issue isn't related this patch. Actually, that is
caused by the first patch of this patch series. Since the patch removes
source buffer allocation before mode detection, remaining allocation
logic should be changed accordingly, otherwise it can't allocate buffers
and eventually causes the issue. I'll fix the first patch in the next
spin. In the meantime, you can apply below quick fix on top of what you
tested the issue.

Thanks,
Jae


diff --git a/drivers/media/platform/aspeed-video.c 
b/drivers/media/platform/aspeed-video.c
index c2d4a2e6f20f..034f2f436d76 100644
--- a/drivers/media/platform/aspeed-video.c
+++ b/drivers/media/platform/aspeed-video.c
@@ -865,20 +865,14 @@ static void aspeed_video_set_resolution(struct 
aspeed_video *video)

         size *= 4;

-       if (size == video->srcs[0].size / 2) {
-               aspeed_video_write(video, VE_SRC1_ADDR,
-                                  video->srcs[0].dma + size);
-       } else if (size == video->srcs[0].size) {
-               if (!aspeed_video_alloc_buf(video, &video->srcs[1], size))
-                       goto err_mem;
-
-               aspeed_video_write(video, VE_SRC1_ADDR, video->srcs[1].dma);
-       } else {
-               aspeed_video_free_buf(video, &video->srcs[0]);
+       if (size != video->srcs[0].size) {
+               if (video->srcs[0].size)
+                       aspeed_video_free_buf(video, &video->srcs[0]);
+               if (video->srcs[1].size)
+                       aspeed_video_free_buf(video, &video->srcs[1]);

                 if (!aspeed_video_alloc_buf(video, &video->srcs[0], size))
                         goto err_mem;
-
                 if (!aspeed_video_alloc_buf(video, &video->srcs[1], size))
                         goto err_mem;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20190602/9612e2a8/attachment.htm>


More information about the openbmc mailing list