[meta-freescale] [meta-fsl-arm][PATCH v3 1/5] imx-gpu-viv: Update to 5.0.11-p7.4 version

Richard Röjfors richard.rojfors at gmail.com
Tue Jan 5 06:28:55 PST 2016


Hi again,

I also hit a deadlock on exit when running on one framebuffer like
this: (and when pressing ctrl-c it hangs forever)
/usr/bin/weston --tty=1 --use-gal2d=1 --use-gl=0 --device=/dev/fb2

The worker thread and cleanup code didn't look tight so I changed it a
bit and avoid the deadlock.
Will you fix this our should I send a patch?

Here is what I did:

--- weston-1.8.0/src/gal2d-renderer.c.org 2016-01-05 15:08:48.000000000 +0100
+++ weston-1.8.0/src/gal2d-renderer.c 2016-01-05 15:12:41.000000000 +0100
@@ -495,21 +495,21 @@
 {
     struct weston_output *output = (struct weston_output *)arg;
     struct gal2d_output_state *go = get_output_state(output);
+    int go_on = 1;

-    while(1)
+    while(go_on)
     {
-        if(gcoOS_WaitSignal(gcvNULL, go->signal, gcvINFINITE) == gcvSTATUS_OK )
+        int ok = gcoOS_WaitSignal(gcvNULL, go->signal, gcvINFINITE)
== gcvSTATUS_OK;
+
+        pthread_mutex_lock(&go->workerMutex);
+        go_on = go->exitWorker == 0;
+        pthread_mutex_unlock(&go->workerMutex);
+
+        if (ok && go_on)
         {
             gal2d_flip_surface(output);
             gcoOS_Signal(gcvNULL,go->busySignal, gcvTRUE);
         }
-        pthread_mutex_lock(&go->workerMutex);
-        if(go->exitWorker == 1)
-        {
-            pthread_mutex_unlock(&go->workerMutex);
-            break;
-        }
-        pthread_mutex_unlock(&go->workerMutex);
     }
     return 0;
 }
@@ -1169,10 +1169,10 @@
  }
     else
     {
-        gcoOS_Signal(gcvNULL,go->signal, gcvTRUE);
         pthread_mutex_lock(&go->workerMutex);
         go->exitWorker = 1;
         pthread_mutex_unlock(&go->workerMutex);
+        gcoOS_Signal(gcvNULL,go->signal, gcvTRUE);
         pthread_join(go->workerId, NULL);
     }

On Tue, Jan 5, 2016 at 12:42 PM, Richard Röjfors
<richard.rojfors at gmail.com> wrote:
> Hi Neena,
>
> I tried this driver with weston.
>
> When running with two framebuffers like this:
> /usr/bin/weston --tty=1 --use-gal2d=1 --use-gl=0 --device=/dev/fb2,/dev/fb0
>
>
> I get a crash in the second call to gcoOS_InitLocalDisplayInfo in
> gal2d_renderer_output_create (when the second output is to be setup).
> The interesting thing is that its the same display  passed in as in
> the first call, which succeeds...
>
> Does this work on your end?
>
> Thanks in advance,
> Richard
>
> On Tue, Jan 5, 2016 at 3:39 AM, Neena Busireddy
> <neenareddy.busireddy at nxp.com> wrote:
>> From: Neena Busireddy <neena.busireddy at freescale.com>
>>
>> This version is released with 3.14.52-1.1.0_ga release.
>>
>> Includes many of the bug fixes and stability improvements.
>> For more information refer to i.MX Linux Release Notes from following link:
>> http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors-based-on-arm-cores/i.mx-6-processors/i.mx6qp/i.mx-6quad-processors-high-performance-3d-graphics-hd-video-arm-cortex-a9-core:i.MX6Q?fpsp=1&tab=Documentation_Tab#nogo
>>
>> L3.14.52_1.1.0_LINUX_DOCS package is under Supporting Information.
>>
>> Signed-off-by: Neena Busireddy <neena.busireddy at freescale.com>
>> Signed-off-by: Neena Busireddy <neenareddy.busireddy at nxp.com>
>> ---
>>  ...{imx-gpu-viv_5.0.11.p7.1-hfp.bb => imx-gpu-viv_5.0.11.p7.4-hfp.bb} | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>  rename recipes-graphics/imx-gpu-viv/{imx-gpu-viv_5.0.11.p7.1-hfp.bb => imx-gpu-viv_5.0.11.p7.4-hfp.bb} (54%)
>>
>> diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.1-hfp.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.4-hfp.bb
>> similarity index 54%
>> rename from recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.1-hfp.bb
>> rename to recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.4-hfp.bb
>> index 22f097b..7895b6a 100644
>> --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.1-hfp.bb
>> +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p7.4-hfp.bb
>> @@ -3,7 +3,7 @@
>>
>>  require imx-gpu-viv.inc
>>
>> -SRC_URI[md5sum] = "b26211f322c325e76f912f432989f2ee"
>> -SRC_URI[sha256sum] = "e49ca1d31ca83bb50f6672325db37ae3754eb9073ad98a37790ab1209ea5cba8"
>> +SRC_URI[md5sum] = "d348def4c050e215efe970828752e5b9"
>> +SRC_URI[sha256sum] = "b80838104f2f2e3b0baf2f1aacdca263c1c92589ce919b3be40aaad23f686b7f"
>>
>>  PACKAGE_FP_TYPE = "hardfp"
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale


More information about the meta-freescale mailing list