Page 4 of 9

Re: Kernel 5.1

Posted: Tue Apr 02, 2019 4:02 pm
by Skateman
RC3-2 fixed the video problem. Both SMtube and VLC play correctly on my AmigaOne X5000!

Image

Big Picture http://www.skateman.nl/wp-content/uploa ... 165855.png

Re: Kernel 5.1

Posted: Tue Apr 02, 2019 4:44 pm
by xeno74
Hi Skateman,

Many thanks for testing the RC3 and the RC3-2! :-)

Cheers,
Christian

Re: Kernel 5.1

Posted: Thu Apr 04, 2019 12:49 am
by xeno74
Hi All,

I have found the problematic patch. :-) The following patch from the PowerPC fixes 5.1-3 is responsible for the VLC issue.

Code: Select all

diff --git a/arch/powerpc/include/asm/vdso_datapage.h b/arch/powerpc/include/asm/vdso_datapage.h
index 1afe90ade595..bbc06bd72b1f 100644
--- a/arch/powerpc/include/asm/vdso_datapage.h
+++ b/arch/powerpc/include/asm/vdso_datapage.h
@@ -82,10 +82,10 @@ struct vdso_data {
 	__u32 icache_block_size;		/* L1 i-cache block size     */
 	__u32 dcache_log_block_size;		/* L1 d-cache log block size */
 	__u32 icache_log_block_size;		/* L1 i-cache log block size */
-	__s32 wtom_clock_sec;			/* Wall to monotonic clock */
-	__s32 wtom_clock_nsec;
-	struct timespec stamp_xtime;	/* xtime as at tb_orig_stamp */
-	__u32 stamp_sec_fraction;	/* fractional seconds of stamp_xtime */
+	__u32 stamp_sec_fraction;		/* fractional seconds of stamp_xtime */
+	__s32 wtom_clock_nsec;			/* Wall to monotonic clock nsec */
+	__s64 wtom_clock_sec;			/* Wall to monotonic clock sec */
+	struct timespec stamp_xtime;		/* xtime as at tb_orig_stamp */
    	__u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls  */
    	__u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
 };
Link: arch/powerpc/include/asm/vdso_datapage.h

Cheers,
Christian

Re: Kernel 5.1

Posted: Thu Apr 04, 2019 1:48 am
by xeno74
I created a patch for solving the VLC issue today.

vdso_datapage_vlc.patch:

Code: Select all

diff -rupN a/arch/powerpc/include/asm/vdso_datapage.h b/arch/powerpc/include/asm/vdso_datapage.h
--- a/arch/powerpc/include/asm/vdso_datapage.h  2019-04-03 22:56:44.560645936 +0200
+++ b/arch/powerpc/include/asm/vdso_datapage.h  2019-04-04 02:20:09.479361827 +0200
@@ -82,10 +82,10 @@ struct vdso_data {
        __u32 icache_block_size;                /* L1 i-cache block size     */
        __u32 dcache_log_block_size;            /* L1 d-cache log block size */
        __u32 icache_log_block_size;            /* L1 i-cache log block size */
-       __u32 stamp_sec_fraction;               /* fractional seconds of stamp_xtime */
-       __s32 wtom_clock_nsec;                  /* Wall to monotonic clock nsec */
-       __s64 wtom_clock_sec;                   /* Wall to monotonic clock sec */
-       struct timespec stamp_xtime;            /* xtime as at tb_orig_stamp */
+       __s32 wtom_clock_sec;                   /* Wall to monotonic clock */
+       __s32 wtom_clock_nsec;
+       struct timespec stamp_xtime;    /* xtime as at tb_orig_stamp */
+       __u32 stamp_sec_fraction;       /* fractional seconds of stamp_xtime */
        __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls  */
        __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */
 };

Re: Kernel 5.1

Posted: Thu Apr 04, 2019 11:05 am
by xeno74
FYI:
Christophe wrote: That change is part of the following commit:

https://git.kernel.org/pub/scm/linux/ke ... da32ecb60c

Just changing back the type of wtom_clock_sec to 32 bits without changing back the loading instruction is likely to give unexpected results on PPC64.

Are you using 32 bits or 64 bits powerpc ?

Can you please try below change:

Code: Select all

diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S b/arch/powerpc/kernel/vdso32/gettimeofday.S
index 1e0bc5955a40..afd516b572f8 100644
--- a/arch/powerpc/kernel/vdso32/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
@@ -98,7 +98,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
      * can be used, r7 contains NSEC_PER_SEC.
      */

-    lwz    r5,WTOM_CLOCK_SEC(r9)
+    lwz    r5,(WTOM_CLOCK_SEC+LOPART)(r9)
     lwz    r6,WTOM_CLOCK_NSEC(r9)

     /* We now have our offset in r5,r6. We create a fake dependency

Re: Kernel 5.1

Posted: Thu Apr 04, 2019 12:34 pm
by xeno74
Christophe's patch works! VLC plays videos without any problems! :-)

Link to the test thread: VLC doesn't play videos anymore since the PowerPC fixes 5.1-3

Re: Kernel 5.1

Posted: Thu Apr 04, 2019 2:02 pm
by xeno74
Hi All,

Great news! :-)

The issue with the VLC in connection with the kernel 5.1 RC2 and higher is fixed!

Link to the test thread: VLC doesn't play videos anymore since the PowerPC fixes 5.1-3

Link to the patch: [PATCH] powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64

Image

Cheers,
Christian

Re: Kernel 5.1

Posted: Sat Apr 06, 2019 11:49 pm
by xeno74
Hi All,

I released the RC3-3 of kernel 5.1 today.

New:
  • gettimeofday patch for solving the VLC issue (Thanks to Christophe Leroy)
  • Linux Git log
It also includes:
  • X1000: compressed kernel (zImage) and uncompressed kernel (vmlinux)
Download: linux-image-5.1-rc3-3-X1000_X5000.tar.gz

Screenshot of Fienix PowerPC with VLC 3.0.4 and with the RC3-3 of kernel 5.1:

Image

Please test it.

Thanks,
Christian

Re: Kernel 5.1

Posted: Sun Apr 07, 2019 10:26 am
by Skateman
RC3-3 running fine on the AmigaOne X5000 :-)

Image

big picture http://www.skateman.nl/wp-content/uploa ... 112321.png

Re: Kernel 5.1

Posted: Sun Apr 07, 2019 12:05 pm
by xeno74
Skateman,

Thank you very much for testing the RC3-3! :-)

Cheers,
Christian