[meta-freescale] [meta-fsl-arm][PATCH] linux-fslc-imx-rt: Fix URL for patch 3.14.61-rt62

2016-04-22 Thread Dominic Sacré
Update the URL because patch-3.14.61-rt62.patch.gz got moved to the
'older' subdirectory.

The -rt patches are published in the projects/rt/3.14 directory, and are
then moved to projects/rt/3.14/older when the next version of the patch
is released.

Previous versions of this recipe intentionally used "older" patches
(even when the latest one would apply) specifically because the URLs
remain stable that way. This got broken in the update to 3.14.52-1.1.0 GA.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb
index 02be73e..55147a6 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb
@@ -11,7 +11,7 @@ PV .= "+git${SRCPV}"
 SRCBRANCH = "3.14-1.1.x-imx"
 SRCREV = "327d5c9063b715c91a88655533d5e477a0afe218"
 
-SRC_URI += " 
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.61-rt62.patch.gz;name=patch-3.14.61-rt62.patch";
+SRC_URI += " 
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/older/patch-3.14.61-rt62.patch.gz;name=patch-3.14.61-rt62.patch";
 SRC_URI += " file://0001-fix-build.patch"
 SRC_URI += " file://0003-no-split-ptlocks.patch"
 SRC_URI += " file://0004-imx-sdma-channel-use-raw-spinlock.patch"
-- 
2.8.1

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


Re: [meta-freescale] [meta-fsl-arm][PATCH] linux-fslc-imx-rt: Fix URL for patch 3.14.61-rt62

2016-04-23 Thread Dominic Sacré
Hi Otavio,

On 2016-04-23 15:58, Otavio Salvador wrote:
> Good catch; would be possible for you to work on the 4.1 RT support as well?

I'm in the process of upgrading to krogoth, and a 4.1-rt kernel is more
or less at the top of my to-do list. I should be able to send you an
upgraded recipe relatively soon, provided all goes well with the new kernel.


Dominic
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [meta-fsl-arm][PATCH] linux-fslc-imx-rt: Upgrade to 4.1.15-1.0.0 GA

2016-05-04 Thread Dominic Sacré
Use patch 4.1.19-rt22 (which applies cleanly) despite the fact that the
kernel is currently based on 4.1.20, because 4.1.20-rt23 is not yet
available at a stable URL.

The same issues that needed to be patched in 3.14 are still present in
4.1, so update the patches and defconfig accordingly to apply to the
new kernel.

Signed-off-by: Dominic Sacré 
---
 ...t-ptlocks.patch => 0002-no-split-ptlocks.patch} |  0
 ...around-CPU-stalls-in-the-imx-sdma-driver.patch} | 53 +++---
 recipes-kernel/linux/linux-fslc-imx-rt/defconfig   | 81 ++
 14-1.1.x.bb => linux-fslc-imx-rt_4.1-1.0.x.bb} | 14 ++--
 4 files changed, 101 insertions(+), 47 deletions(-)
 rename recipes-kernel/linux/linux-fslc-imx-rt/{0003-no-split-ptlocks.patch => 
0002-no-split-ptlocks.patch} (100%)
 rename 
recipes-kernel/linux/linux-fslc-imx-rt/{0004-imx-sdma-channel-use-raw-spinlock.patch
 => 0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch} (69%)
 rename recipes-kernel/linux/{linux-fslc-imx-rt_3.14-1.1.x.bb => 
linux-fslc-imx-rt_4.1-1.0.x.bb} (66%)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch 
b/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
similarity index 100%
rename from recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch
rename to recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
diff --git 
a/recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch
 
b/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
similarity index 69%
rename from 
recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch
rename to 
recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
index da36213..93200c6 100644
--- 
a/recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch
+++ 
b/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
@@ -1,9 +1,16 @@
-Work around CPU stalls in the imx-sdma driver by replacing spinlocks
-with raw spinlocks. This prevents preemption during the spinlock's
-critical section, as is the case on non PREEMPT_RT kernels.
+From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= 
+Date: Fri, 29 Apr 2016 15:48:40 +0200
+Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Replace spinlocks with raw spinlocks. This prevents preemption during
+the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
 
 Without this patch, the following error can occur, for example when
-using the audio codec on an iMX6Q Sabre SD board:
+using the audio codec on an i.MX6Q SabreSD board:
 
 INFO: rcu_preempt self-detected stall on CPU { 0}  (t=2100 jiffies g=106 c=105 
q=93)
 CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1
@@ -34,12 +41,15 @@ fee0: 285190f0   a840ff00 8006d04c 806f3070 
20030113 
 Upstream-Status: Pending
 
 Signed-off-by: Dominic Sacré 
+---
+ drivers/dma/imx-sdma.c | 16 
+ 1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
-index bae2ea8..74ff5a0 100644
+index 31b7fed..bb7d6aa 100644
 --- a/drivers/dma/imx-sdma.c
 +++ b/drivers/dma/imx-sdma.c
-@@ -343,7 +343,7 @@ struct sdma_engine {
+@@ -408,7 +408,7 @@ struct sdma_engine {
struct dma_device   dma_device;
struct clk  *clk_ipg;
struct clk  *clk_ahb;
@@ -48,7 +58,7 @@ index bae2ea8..74ff5a0 100644
u32 script_number;
struct sdma_script_start_addrs  *script_addrs;
const struct sdma_driver_data   *drvdata;
-@@ -593,7 +593,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+@@ -700,7 +700,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
return -ENOMEM;
}
  
@@ -57,7 +67,7 @@ index bae2ea8..74ff5a0 100644
  
bd0->mode.command = C0_SETPM;
bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
-@@ -605,7 +605,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+@@ -712,7 +712,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
  
ret = sdma_run_channel0(sdma);
  
@@ -66,7 +76,7 @@ index bae2ea8..74ff5a0 100644
  
if (use_iram)
gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
-@@ -880,7 +880,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
+@@ -979,7 +979,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (

Re: [meta-freescale] imx6dl-riotboard: Does not generate valid SD card image

2016-08-09 Thread Dominic Sacré
On 2016-08-09 17:55, Otavio Salvador wrote:
> On Tue, Aug 9, 2016 at 12:36 PM, Daiane Angolini  
> wrote:
>> On Tue, Aug 9, 2016 at 11:47 AM, Turab Iqbal  wrote:
>>> The solution that worked for me was to add the following to
>>> meta-fsl-arm-extra/conf/machine/imx6dl-riotboard.conf:
>>> SOC_FAMILY = "mx6:mx6dl"
>>>
>>> I don't know if this is the most appropriate fix, though, which is why I'm
>>> not submitting a patch.
>>
>> The very same happens with imx6sl-warp, but NOT with imx7s-warp
>>
>> I was not able to find time to debug the image_types_fsl class so far
>> (but it's in my endless task list)
> 
> The SoC family solution works but will break other things as it will
> enable the i.MX specific patches and support.
> 
> I think we need to find other alternative to fix the issue.

What kind if things would break when setting SOC_FAMILY = "mx6:mx6dl"?
Why wouldn't riotboard be "part of the family"?

I've been using a modified riotboard machine config for some time, in
which I set SOC_FAMILY so that I can run linux-fslc-imx on riotboard.

Also the board seems to get the wrong DEFAULTTUNE unless SOC_FAMILY is
set ("armv7a-neon", should be "cortexa9thf-neon").


Dominic
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [3rdparty][PATCH 2/2] linux-wandboard-rt: Upgrade to version 4.1.15

2016-11-10 Thread Dominic Sacré
Upgrade recipe based on the latest versions of linux-wandboard and
linux-fslc-imx-rt.

Signed-off-by: Dominic Sacré 
---
 .../0002-fix-build-with-rt-enabled.patch   |  19 -
 .../0001-fix-build.patch   |   0
 .../0002-no-split-ptlocks.patch}   |   0
 ...around-CPU-stalls-in-the-imx-sdma-driver.patch} |  53 ++-
 .../Fix-gcc6-build-error-in-Vivante-driver.patch   |  41 ++
 .../Fix-the-compile-issue-under-gcc6.patch |  92 
 .../defconfig  | 470 +
 ...-rt_3.14.28.bb => linux-wandboard-rt_4.1.15.bb} |  21 +-
 8 files changed, 291 insertions(+), 405 deletions(-)
 delete mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => 
linux-wandboard-rt-4.1.15}/0001-fix-build.patch (100%)
 rename 
recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch => 
linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch} (100%)
 rename 
recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 => 
linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch}
 (69%)
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => 
linux-wandboard-rt-4.1.15}/defconfig (20%)
 rename recipes-kernel/linux/{linux-wandboard-rt_3.14.28.bb => 
linux-wandboard-rt_4.1.15.bb} (37%)

diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
deleted file mode 100644
index 83652c9..000
--- 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix build error when PREEMPT_RT_FULL is enabled
-
-Upstream-Status: Pending
-
-Signed-off-by: Jacob Kroon 
-
-Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-===
 git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
- gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
- 
- /* Initialize the mutex. */
--mutex_init(*Mutex);
-+mutex_init((struct mutex*)*Mutex);
- 
- /* Return status. */
- gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
similarity index 100%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
similarity index 100%
rename from 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch
rename to 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
similarity index 69%
rename from 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
rename to 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
index da36213..93200c6 100644
--- 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
+++ 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
@@ -1,9 +1,16 @@
-Work around CPU stalls in the imx-sdma driver by replacing spinlocks
-with raw spinlocks. This prevents preemption during the spinlock's
-critical section, as is the case on non PREEMPT_RT kernels.
+From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= 
+Date: Fri, 29 Apr 2016 15:48:40 +0200
+Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Replace spinlocks with raw spinlocks. This prevents preemption during
+the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
 
 Without this patch, the following error can occur, for example when
-using the audio codec on an iMX6Q Sabre SD board:
+using the audio codec on an i.MX6Q SabreSD boa

[meta-freescale] [PATCH] linux-fslc-imx-rt: Upgrade to 4.1-2.0.x GA

2016-11-10 Thread Dominic Sacré
Upgrade to revision 176c482, and apply patch 4.1.35-rt41 on top of it.
Refresh defconfig for the new kernel version.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-fslc-imx-rt/defconfig  | 15 +--
 ...imx-rt_4.1-1.0.x.bb => linux-fslc-imx-rt_4.1-2.0.x.bb} | 12 ++--
 2 files changed, 15 insertions(+), 12 deletions(-)
 rename recipes-kernel/linux/{linux-fslc-imx-rt_4.1-1.0.x.bb => 
linux-fslc-imx-rt_4.1-2.0.x.bb} (70%)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig 
b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
index 05d15d0..34ee14d 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
+++ b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
@@ -25,7 +25,7 @@ CONFIG_SOC_IMX53=y
 CONFIG_SOC_IMX6Q=y
 CONFIG_SOC_IMX6SL=y
 CONFIG_SOC_IMX6SX=y
-CONFIG_SOC_IMX6UL=y
+CONFIG_SOC_IMX6ULL=y
 CONFIG_SOC_IMX7D=y
 CONFIG_SOC_VF610=y
 # CONFIG_SWP_EMULATE is not set
@@ -145,10 +145,10 @@ CONFIG_USB_RTL8150=m
 CONFIG_USB_RTL8152=m
 CONFIG_USB_USBNET=m
 CONFIG_USB_NET_CDC_EEM=m
-CONFIG_BCMDHD=m
+CONFIG_BCMDHD=y
 CONFIG_BCMDHD_SDIO=y
-CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/fw_bcmdhd.bin"
-CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/bcmdhd.cal"
+CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin"
+CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.OOB.cal"
 # CONFIG_RTL_CARDS is not set
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
 CONFIG_INPUT_EVDEV=y
@@ -179,6 +179,7 @@ CONFIG_SERIAL_IMX_CONSOLE=y
 CONFIG_SERIAL_FSL_LPUART=y
 CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
 CONFIG_FSL_OTP=y
+CONFIG_HW_RANDOM_IMX_RNG=y
 # CONFIG_I2C_COMPAT is not set
 CONFIG_I2C_CHARDEV=y
 # CONFIG_I2C_HELPER_AUTO is not set
@@ -255,6 +256,8 @@ CONFIG_FB_MXC_SYNC_PANEL=y
 CONFIG_FB_MXC_MIPI_DSI=y
 CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
 CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
+CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
 CONFIG_FB_MXC_LDB=y
 CONFIG_FB_MXC_HDMI=y
 CONFIG_FB_MXS_SII902X=y
@@ -286,6 +289,7 @@ CONFIG_SND_SOC_IMX_SPDIF=y
 CONFIG_SND_SOC_IMX_MC13783=y
 CONFIG_SND_SOC_IMX_SI476X=y
 CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SIMPLE_CARD=y
 CONFIG_USB=y
 CONFIG_USB_OTG_WHITELIST=y
 CONFIG_USB_OTG_FSM=y
@@ -403,7 +407,6 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_SECURITYFS=y
 CONFIG_CRYPTO_USER=y
 CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTS=y
 CONFIG_CRYPTO_LRW=y
 CONFIG_CRYPTO_XTS=y
@@ -414,7 +417,6 @@ CONFIG_CRYPTO_RMD128=y
 CONFIG_CRYPTO_RMD160=y
 CONFIG_CRYPTO_RMD256=y
 CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA512=y
 CONFIG_CRYPTO_TGR192=y
 CONFIG_CRYPTO_WP512=y
@@ -427,6 +429,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM=y
 CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
 CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
 CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRYPTO_DEV_MXS_DCP=y
 CONFIG_CRC_CCITT=m
 CONFIG_CRC_T10DIF=y
 CONFIG_CRC7=m
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
similarity index 70%
rename from recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb
rename to recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
index 7af29de..fbb32d8 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Realtime version of the FSL Community BSP i.MX6 Linux kernel with 
backported features and fixes"
-DESCRIPTION = "Linux kernel based on NXP 4.1.15-1.0.0 GA release, used by FSL 
Community BSP in order to \
+DESCRIPTION = "Linux kernel based on NXP 4.1-2.0.0 GA release, used by FSL 
Community BSP in order to \
 provide support for i.MX6 based platforms and include official Linux kernel 
stable updates, backported \
 features and fixes coming from the vendors, kernel community or FSL Community 
itself. \
 In addition, this kernel has the realtime patch (PREEMPT_RT) applied."
@@ -8,18 +8,18 @@ include linux-fslc.inc
 
 PV .= "+git${SRCPV}"
 
-SRCBRANCH = "4.1-1.0.x-imx"
-SRCREV = "445b81a703861b3c146ccd074cb5c14a5363c6d3"
+SRCBRANCH = "4.1-2.0.x-imx"
+SRCREV = "176c482f56cd9c523829ceb6bce5c28d3cc6d1c0"
 
 SRC_URI += " \
-
https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.19-rt22.patch.gz;name=patch-4.1.19-rt22.patch
 \
+
https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.35-rt41.patch.gz;name=rt-patch
 \
 file://0001-fix-build.patch \
 file://0002-no-split-ptlocks.patch \
 file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
 "
 
-SRC_URI[patch-4.1.19-rt22.patch.md5sum] = "20a893d189c619ea3e7489f870478e7a"
-SRC_URI[patch-4.1.19-rt22.patch.sha256sum] = 
"81a6429eb03f085e7f58a669eb23719ae14876c14fe244f5aac909c28ee4104e"
+SRC_URI[rt-patch.md5sum] = "6dd1193203cdf6a1a4758fc8baf07a4a"
+SRC_URI[rt-patch.sha256sum] = 
"427e736022e59f83c

[meta-freescale] [3rdparty][PATCH 1/2] linux-wandboard: Add patch to fix build error with gcc6

2016-11-10 Thread Dominic Sacré
Without this patch, gcc6 fails to build the Vivante driver with
-Werror=misleading-indentation.

Signed-off-by: Dominic Sacré 
---
 .../Fix-gcc6-build-error-in-Vivante-driver.patch   | 41 ++
 recipes-kernel/linux/linux-wandboard_4.1.15.bb |  5 ++-
 2 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100644 
recipes-kernel/linux/linux-wandboard-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch

diff --git 
a/recipes-kernel/linux/linux-wandboard-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
 
b/recipes-kernel/linux/linux-wandboard-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
new file mode 100644
index 000..5718f9a
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-wandboard-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
@@ -0,0 +1,41 @@
+From 4555b623e15150ca31ee327232b1862227b14565 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= 
+Date: Thu, 27 Oct 2016 22:35:04 +0200
+Subject: [PATCH] Fix gcc6 build error in Vivante driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| gc_hal_kernel_platform_imx6q14.c: In function 'gckPLATFORM_AdjustParam':
+| gc_hal_kernel_platform_imx6q14.c:478:3: error: this 'if' clause does not 
guard... [-Werror=misleading-indentation]
+|if(Args->physSize == 0)
+|^~
+| gc_hal_kernel_platform_imx6q14.c:481:5: note: ...this statement, but the 
latter is misleadingly indented as if it is guarded by the 'if'
+|  return gcvSTATUS_OK;
+|  ^~
+
+Signed-off-by: Dominic Sacré 
+
+Upstream-Status: Pending
+---
+ .../linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c  | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git 
a/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
 
b/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
+index e436ada..3d25eb9 100644
+--- 
a/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
 
b/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
+@@ -475,8 +475,8 @@ gckPLATFORM_AdjustParam(
+ 
+ Args->gpu3DMinClock = initgpu3DMinClock;
+ 
+-  if(Args->physSize == 0)
+-Args->physSize = 0x8000;
++if(Args->physSize == 0)
++  Args->physSize = 0x8000;
+ 
+ return gcvSTATUS_OK;
+ }
+-- 
+2.10.1
+
diff --git a/recipes-kernel/linux/linux-wandboard_4.1.15.bb 
b/recipes-kernel/linux/linux-wandboard_4.1.15.bb
index 0a41013..847fa58 100644
--- a/recipes-kernel/linux/linux-wandboard_4.1.15.bb
+++ b/recipes-kernel/linux/linux-wandboard_4.1.15.bb
@@ -12,6 +12,9 @@ SRCBRANCH = "wandboard_imx_4.1.15_1.1.0_ga"
 SRCREV = "8b015473d34019c3e093c257861e9c6f4930400b"
 LOCALVERSION = "_1.1.0_ga-wandboard"
 
-SRC_URI += "file://Fix-the-compile-issue-under-gcc6.patch"
+SRC_URI += "\
+file://Fix-the-compile-issue-under-gcc6.patch \
+file://Fix-gcc6-build-error-in-Vivante-driver.patch \
+"
 
 COMPATIBLE_MACHINE = "(wandboard)"
-- 
2.10.2

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [3rdparty][PATCH v2] linux-wandboard-rt: Upgrade to version 4.1.15

2016-11-10 Thread Dominic Sacré
Upgrade recipe based on the latest versions of linux-wandboard and
linux-fslc-imx-rt.

Signed-off-by: Dominic Sacré 
---
I accidentally sent v1 with an incorrect defconfig, so here's v2 to fix that.

 .../0002-fix-build-with-rt-enabled.patch   |  19 ---
 .../0001-fix-build.patch   |   0
 .../0002-no-split-ptlocks.patch}   |   0
 ...around-CPU-stalls-in-the-imx-sdma-driver.patch} |  53 +--
 .../Fix-gcc6-build-error-in-Vivante-driver.patch   |  41 ++
 .../Fix-the-compile-issue-under-gcc6.patch |  92 
 .../defconfig  | 160 -
 ...-rt_3.14.28.bb => linux-wandboard-rt_4.1.15.bb} |  21 +--
 8 files changed, 281 insertions(+), 105 deletions(-)
 delete mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => 
linux-wandboard-rt-4.1.15}/0001-fix-build.patch (100%)
 rename 
recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch => 
linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch} (100%)
 rename 
recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 => 
linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch}
 (69%)
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => 
linux-wandboard-rt-4.1.15}/defconfig (81%)
 rename recipes-kernel/linux/{linux-wandboard-rt_3.14.28.bb => 
linux-wandboard-rt_4.1.15.bb} (37%)

diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
deleted file mode 100644
index 83652c9..000
--- 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix build error when PREEMPT_RT_FULL is enabled
-
-Upstream-Status: Pending
-
-Signed-off-by: Jacob Kroon 
-
-Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-===
 git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
- gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
- 
- /* Initialize the mutex. */
--mutex_init(*Mutex);
-+mutex_init((struct mutex*)*Mutex);
- 
- /* Return status. */
- gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
similarity index 100%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
similarity index 100%
rename from 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch
rename to 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
similarity index 69%
rename from 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
rename to 
recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
index da36213..93200c6 100644
--- 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
+++ 
b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
@@ -1,9 +1,16 @@
-Work around CPU stalls in the imx-sdma driver by replacing spinlocks
-with raw spinlocks. This prevents preemption during the spinlock's
-critical section, as is the case on non PREEMPT_RT kernels.
+From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= 
+Date: Fri, 29 Apr 2016 15:48:40 +0200
+Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Replace spinlocks with raw spinlocks. This prevents preemption during
+the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
 
 Without this patch, the following error can occur, for exam

Re: [meta-freescale] [3rdparty][PATCH 1/2] linux-wandboard: Add patch to fix build error with gcc6

2016-11-11 Thread Dominic Sacré
On 2016-11-11 11:24, Otavio Salvador wrote:
> On Thu, Nov 10, 2016 at 12:23 PM, Dominic Sacré  wrote:
>> Without this patch, gcc6 fails to build the Vivante driver with
>> -Werror=misleading-indentation.
>>
>> Signed-off-by: Dominic Sacré 
> 
> There is any reason why you are not using the external kernel module?

I was working on linux-wandboard-rt when I noticed this build failure.
Am I right in assuming that the external module still doesn't support RT
kernels?

As for linux-wandboard itself, I see no particular reason not to use the
external kernel module.


Dominic
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


Re: [meta-freescale] [3rdparty][PATCH 1/2] linux-wandboard: Add patch to fix build error with gcc6

2016-11-15 Thread Dominic Sacré
On 2016-11-11 14:28, Otavio Salvador wrote:
> On Fri, Nov 11, 2016 at 11:06 AM, Dominic Sacré  wrote:
>> Am I right in assuming that the external module still doesn't support RT
>> kernels?
> 
> Yes; however if there is a way to detect the presence of RT patch and
> act accordingly. We can patch the source of the external module to
> cope with this...
> 
> Is it possible for you to try to do that? If so, please see:
> https://github.com/Freescale/kernel-module-imx-gpu-viv

I'm not sure if we could get the recipe to conditionally apply a patch,
but from within the module source code, the RT patch can be detected
using #ifdef CONFIG_PREEMPT_RT_FULL.

Should I prepare a pull request for the module itself, or would you
prefer a patch as part of the Yocto recipe?
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [PATCH 1/2] kernel-module-imx-gpu-viv: Bump revision to 1be63fb

2016-11-21 Thread Dominic Sacré
Bump revision to add support for kernels with RT_PREEMPT patch.

Signed-off-by: Dominic Sacré 
---
 .../kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb 
b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb
index 8af0da0..247189f 100644
--- 
a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb
+++ 
b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6+fslc.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
 
 PV .= "+git${SRCPV}"
 
-SRCREV = "80a5e3aae469518d53b3b41d6623b7bf0f51f02b"
+SRCREV = "1be63fb14e9a2c72c1f50afaa02ed9244d86b1d4"
 SRC_URI = 
"git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https"
 
 S = "${WORKDIR}/git"
-- 
2.10.2

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [PATCH 2/2] linux-fslc-imx-rt: Add patch to support external imx-gpu-viv driver

2016-11-21 Thread Dominic Sacré
Export functions swait_prepare_locked() and swait_finish_locked() to
make them available to the external imx-gpu-viv driver module.

Remove the check whether MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE is
set; both the built-in driver and the external module now work with the
RT kernel.

Signed-off-by: Dominic Sacré 
---
 .../0004-export-swait-locked-functions.patch   | 31 ++
 .../linux/linux-fslc-imx-rt_4.1-2.0.x.bb   |  7 +
 2 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100644 
recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch

diff --git 
a/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch
 
b/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch
new file mode 100644
index 000..1a616aa
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-fslc-imx-rt/0004-export-swait-locked-functions.patch
@@ -0,0 +1,31 @@
+From 2460dd985b0cf477f74396de92d1bc5df496abdc Mon Sep 17 00:00:00 2001
+From: Julio Cruz 
+Date: Wed, 20 Jan 2016 19:26:44 +0800
+Subject: [PATCH] Export symbols for iMX-GPU-VIV module
+
+---
+ kernel/sched/wait-simple.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/kernel/sched/wait-simple.c b/kernel/sched/wait-simple.c
+index 7dfa86d..a3776ee 100644
+--- a/kernel/sched/wait-simple.c
 b/kernel/sched/wait-simple.c
+@@ -40,6 +40,7 @@ void swait_prepare_locked(struct swait_head *head, struct 
swaiter *w)
+   if (list_empty(&w->node))
+   __swait_enqueue(head, w);
+ }
++EXPORT_SYMBOL(swait_prepare_locked);
+ 
+ void swait_prepare(struct swait_head *head, struct swaiter *w, int state)
+ {
+@@ -58,6 +59,7 @@ void swait_finish_locked(struct swait_head *head, struct 
swaiter *w)
+   if (w->task)
+   __swait_dequeue(w);
+ }
++EXPORT_SYMBOL(swait_finish_locked);
+ 
+ void swait_finish(struct swait_head *head, struct swaiter *w)
+ {
+-- 
+2.1.0
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
index fbb32d8..10610a5 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
@@ -16,16 +16,11 @@ SRC_URI += " \
 file://0001-fix-build.patch \
 file://0002-no-split-ptlocks.patch \
 file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
+file://0004-export-swait-locked-functions.patch \
 "
 
 SRC_URI[rt-patch.md5sum] = "6dd1193203cdf6a1a4758fc8baf07a4a"
 SRC_URI[rt-patch.sha256sum] = 
"427e736022e59f83c9489eda889559fcd4fe4abb5646570ade32f2128f2fa725"
 
-python () {
-using_builtin_driver = 
(d.getVar("MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE", True) or "") != "1"
-if not using_builtin_driver:
-raise bb.parse.SkipPackage('You must use the builtin driver with the 
Linux RT patch as the external module does not yet include support for it. Set 
"MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE" accordingly.')
-}
-
 
 COMPATIBLE_MACHINE = "(mx6|mx7)"
-- 
2.10.2

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [PATCH][master][morty] linux-fslc-imx-rt: Bump revision to ee67fc7e072d

2017-02-07 Thread Dominic Sacré
Align version with linux-fslc-imx recipe, and update RT patch to
4.1.37-rt43.

This also fixes a build failure, because the checksum of the previous
version of the compressed RT patch had changed on the server.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
index 10610a5a..514b3d89 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
@@ -9,18 +9,18 @@ include linux-fslc.inc
 PV .= "+git${SRCPV}"
 
 SRCBRANCH = "4.1-2.0.x-imx"
-SRCREV = "176c482f56cd9c523829ceb6bce5c28d3cc6d1c0"
+SRCREV = "ee67fc7e072df596577e3a4e4fce7b51816d4b0a"
 
 SRC_URI += " \
-
https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.35-rt41.patch.gz;name=rt-patch
 \
+
https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.37-rt43.patch.gz;name=rt-patch
 \
 file://0001-fix-build.patch \
 file://0002-no-split-ptlocks.patch \
 file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
 file://0004-export-swait-locked-functions.patch \
 "
 
-SRC_URI[rt-patch.md5sum] = "6dd1193203cdf6a1a4758fc8baf07a4a"
-SRC_URI[rt-patch.sha256sum] = 
"427e736022e59f83c9489eda889559fcd4fe4abb5646570ade32f2128f2fa725"
+SRC_URI[rt-patch.md5sum] = "9a97ddbfa51b01a70ae063258fea76ab"
+SRC_URI[rt-patch.sha256sum] = 
"0f77da50f3ef891af67639257b9cfa0f32f69a9cc945947453ee5fd7c1789fb9"
 
 
 COMPATIBLE_MACHINE = "(mx6|mx7)"
-- 
2.11.0

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [PATCH][master][morty] linux-fslc-imx-rt: Update realtime patch to 4.1.38-rt45

2017-02-15 Thread Dominic Sacré
This fixes another build issue, because the md5/sha256 checksums of the
previous version of the realtime patch had changed on the server again.

This issue was a side-effect of the way the RT patches are published on
kernel.org, and should be resolved now.

Switch to using KERNELORG_MIRROR.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
index 514b3d89..5b326e1c 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
@@ -12,15 +12,15 @@ SRCBRANCH = "4.1-2.0.x-imx"
 SRCREV = "ee67fc7e072df596577e3a4e4fce7b51816d4b0a"
 
 SRC_URI += " \
-
https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.37-rt43.patch.gz;name=rt-patch
 \
+
${KERNELORG_MIRROR}/linux/kernel/projects/rt/4.1/older/patch-4.1.38-rt45.patch.gz;name=rt-patch
 \
 file://0001-fix-build.patch \
 file://0002-no-split-ptlocks.patch \
 file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
 file://0004-export-swait-locked-functions.patch \
 "
 
-SRC_URI[rt-patch.md5sum] = "9a97ddbfa51b01a70ae063258fea76ab"
-SRC_URI[rt-patch.sha256sum] = 
"0f77da50f3ef891af67639257b9cfa0f32f69a9cc945947453ee5fd7c1789fb9"
+SRC_URI[rt-patch.md5sum] = "bd36ab7ac2fcc65d198b60c013acba23"
+SRC_URI[rt-patch.sha256sum] = 
"7b2e9f5ec78f508fda1f439fef08e1ee2d81e137b82cf40e62c40def781c7d41"
 
 
 COMPATIBLE_MACHINE = "(mx6|mx7)"
-- 
2.11.0

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [PATCH][morty][master] linux-fslc-imx-rt: Update checksums for realtime patch

2017-03-13 Thread Dominic Sacré
The gzip-compressed patch on the server has again been replaced by a
file with the same contents, but different checksums.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb 
b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
index 5b326e1c..621023b4 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-2.0.x.bb
@@ -19,8 +19,8 @@ SRC_URI += " \
 file://0004-export-swait-locked-functions.patch \
 "
 
-SRC_URI[rt-patch.md5sum] = "bd36ab7ac2fcc65d198b60c013acba23"
-SRC_URI[rt-patch.sha256sum] = 
"7b2e9f5ec78f508fda1f439fef08e1ee2d81e137b82cf40e62c40def781c7d41"
+SRC_URI[rt-patch.md5sum] = "6e86714997e190a45fb5b9c951d2c179"
+SRC_URI[rt-patch.sha256sum] = 
"12aa4947ee656fa724e17d8971dcb3634a058c18afe59a472adfcd6f11d17f67"
 
 
 COMPATIBLE_MACHINE = "(mx6|mx7)"
-- 
2.11.0

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [meta-fsl-arm][PATCH] linux-imx-rt: Upgrade to 3.14.28-1.0.0 GA

2015-07-08 Thread Dominic Sacré
Rebase onto kernel 3.14.28-1.0.0 GA from Freescale, including all the
patches currently applied to linux-imx in meta-fsl-arm.

The realtime specific patches to the kernel source are still required,
with some minor changes to match the new kernel version.

The defconfig is aligned with linux-imx 3.14.28-1.0.0 GA.

Signed-off-by: Dominic Sacré 
---
 ...6q-fix-video-divider-for-revision-1.0-of-.patch |  35 --
 .../linux-imx-rt-3.10.31/0001-fix-build.patch  |  57 ---
 .../0002-fix-build-with-rt-enabled.patch   |  19 -
 .../0003-no-split-ptlocks.patch|  84 -
 .../linux/linux-imx-rt-3.10.31/mx6/defconfig   | 365 --
 ...0001-ARM-imx6q-drop-unnecessary-semicolon.patch |  35 ++
 .../linux-imx-rt-3.14.28/0001-fix-build.patch  |  71 
 ...lk-imx6q-fix-video-divider-for-rev-T0-1.0.patch |  40 ++
 .../0002-fix-build-with-rt-enabled.patch   |  19 +
 ...Disable-imx6sl-specific-code-when-imx6sl-.patch |  56 +++
 .../0003-no-split-ptlocks.patch|  85 +
 ...sdhc-imx-Fixup-runtime-PM-conditions-duri.patch |  36 ++
 ...et-fec-fix-the-warning-found-by-dma-debug.patch | 100 +
 .../linux/linux-imx-rt-3.14.28/mx6/defconfig   | 413 +
 recipes-kernel/linux/linux-imx-rt_3.10.31.bb   |  27 --
 recipes-kernel/linux/linux-imx-rt_3.14.28.bb   |  31 ++
 16 files changed, 886 insertions(+), 587 deletions(-)
 delete mode 100644 
recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch
 delete mode 100644 
recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch
 delete mode 100644 
recipes-kernel/linux/linux-imx-rt-3.10.31/0002-fix-build-with-rt-enabled.patch
 delete mode 100644 
recipes-kernel/linux/linux-imx-rt-3.10.31/0003-no-split-ptlocks.patch
 delete mode 100644 recipes-kernel/linux/linux-imx-rt-3.10.31/mx6/defconfig
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0003-no-split-ptlocks.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch
 create mode 100644 recipes-kernel/linux/linux-imx-rt-3.14.28/mx6/defconfig
 delete mode 100644 recipes-kernel/linux/linux-imx-rt_3.10.31.bb
 create mode 100644 recipes-kernel/linux/linux-imx-rt_3.14.28.bb

diff --git 
a/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch
 
b/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch
deleted file mode 100644
index 820ce68..000
--- 
a/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0e981452d7130513e796c1c3d7348905c0d00dce Mon Sep 17 00:00:00 2001
-From: Gary Bisson 
-Date: Tue, 2 Dec 2014 22:11:14 -0800
-Subject: [PATCH] ARM: clk-imx6q: fix video divider for revision 1.0 of i.MX6q
-
-As post dividers do not work on i.MX6Q revision 1.0 they must be fixed
-to 1. As the table index was wrong, a divider a of 4 could still be
-requested which implied the clock not to be set properly. This is the
-root cause of the HDMI not working at high resolution on T1.0 version of
-the SoC, giving the following error:
-mxc_sdc_fb fb.27: timeout when waiting for flip irq
-
-Upstream-Status: Pending
-
-Signed-off-by: Gary Bisson 

- arch/arm/mach-imx/clk-imx6q.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
-index 25734ed..34e1616f 100644
 a/arch/arm/mach-imx/clk-imx6q.c
-+++ b/arch/arm/mach-imx/clk-imx6q.c
-@@ -312,7 +312,7 @@ static void __init imx6q_clocks_init(struct device_node 
*ccm_node)
-   post_div_table[1].div = 1;
-   post_div_table[2].div = 1;
-   video_div_table[1].div = 1;
--  video_div_table[2].div = 1;
-+  video_div_table[3].div = 1;
-   };
- 
-   /*   type   name 
parent_name  base div_mask */
--- 
-2.1.3
-
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch 
b/recipes-kernel/linux/linux-imx-rt-3.10.31/0001-fix-build.patch
deleted file mode 100644
index ffc6b74..000
--- a/recipes-kernel

[meta-freescale] [meta-fsl-arm-extra][PATCH] linux-wandboard-rt: Add initial recipe

2015-07-14 Thread Dominic Sacré
Add support for the Wandboard kernel with realtime patch applied.

This recipe is based on the current linux-wandboard recipe using the
3.14.28-1.0.0 GA branch.

The applied patches are taken from the linux-imx-rt recipe, and the
changes to the defconfig are analogous to those between linux-imx
and linux-imx-rt.

Signed-off-by: Dominic Sacré 
---
 .../0001-fix-build.patch   |  71 
 .../0002-fix-build-with-rt-enabled.patch   |  19 +
 .../0003-no-split-ptlocks.patch|  85 
 .../linux/linux-wandboard-rt-3.14.28/defconfig | 446 +
 recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb |  26 ++
 5 files changed, 647 insertions(+)
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch
 create mode 100644 recipes-kernel/linux/linux-wandboard-rt-3.14.28/defconfig
 create mode 100644 recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb

diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
new file mode 100644
index 000..4be4066
--- /dev/null
+++ b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
@@ -0,0 +1,71 @@
+Fix build errors when RT patch is applied
+
+Upstream-Status: Inappropriate [other]
+Freescale does not support the RT patch
+
+Signed-off-by: Jacob Kroon 
+Signed-off-by: Dominic Sacré  [updated for 3.14.28]
+
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 
b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+index 2ec98dc..5d0b7df 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
 b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -7344,7 +7344,7 @@ gckOS_WaitSignal(
+ 
+ might_sleep();
+ 
+-spin_lock_irq(&signal->obj.wait.lock);
++raw_spin_lock_irq(&signal->obj.wait.lock);
+ 
+ if (signal->obj.done)
+ {
+@@ -7366,9 +7366,8 @@ gckOS_WaitSignal(
+ ? MAX_SCHEDULE_TIMEOUT
+ : Wait * HZ / 1000;
+ 
+-DECLARE_WAITQUEUE(wait, current);
+-wait.flags |= WQ_FLAG_EXCLUSIVE;
+-__add_wait_queue_tail(&signal->obj.wait, &wait);
++DEFINE_SWAITER(wait);
++swait_prepare_locked(&signal->obj.wait, &wait);
+ 
+ while (gcvTRUE)
+ {
+@@ -7380,9 +7379,9 @@ gckOS_WaitSignal(
+ }
+ 
+ __set_current_state(TASK_INTERRUPTIBLE);
+-spin_unlock_irq(&signal->obj.wait.lock);
++raw_spin_unlock_irq(&signal->obj.wait.lock);
+ timeout = schedule_timeout(timeout);
+-spin_lock_irq(&signal->obj.wait.lock);
++raw_spin_lock_irq(&signal->obj.wait.lock);
+ 
+ if (signal->obj.done)
+ {
+@@ -7403,10 +7402,10 @@ gckOS_WaitSignal(
+ }
+ }
+ 
+-__remove_wait_queue(&signal->obj.wait, &wait);
++swait_finish_locked(&signal->obj.wait, &wait);
+ }
+ 
+-spin_unlock_irq(&signal->obj.wait.lock);
++raw_spin_unlock_irq(&signal->obj.wait.lock);
+ 
+ OnError:
+ /* Return status. */
+diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h
+index 9787980..3586199 100644
+--- a/include/linux/imx_sema4.h
 b/include/linux/imx_sema4.h
+@@ -9,6 +9,8 @@
+ #ifndef __LINUX_IMX_SEMA4_H__
+ #define __LINUX_IMX_SEMA4_H__
+ 
++#include 
++
+ #define SEMA4_NUM_DEVICES 1
+ #define SEMA4_NUM_GATES   16
+ 
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
new file mode 100644
index 000..83652c9
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
@@ -0,0 +1,19 @@
+Fix build error when PREEMPT_RT_FULL is enabled
+
+Upstream-Status: Pending
+
+Signed-off-by: Jacob Kroon 
+
+Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+===
+--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
 git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
+ gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
+ 
+ /* Initialize the mutex. */
+-mutex_init(*Mutex);
++mutex_init((struct mutex*)*Mutex);
+ 
+ /* Return status. */
+ gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split

Re: [meta-freescale] [meta-fsl-arm][PATCH] linux-imx-rt: Upgrade to 3.14.28-1.0.0 GA

2015-07-14 Thread Dominic Sacré
Hi Otavio,

On 2015-07-08 11:46, Dominic Sacré wrote:
> Rebase onto kernel 3.14.28-1.0.0 GA from Freescale, including all the
> patches currently applied to linux-imx in meta-fsl-arm.
> 
> The realtime specific patches to the kernel source are still required,
> with some minor changes to match the new kernel version.
> 
> The defconfig is aligned with linux-imx 3.14.28-1.0.0 GA.
> 
> Signed-off-by: Dominic Sacré 

Thanks for applying this patch.

I noticed that the original commit message is missing in Git.
It's not a big issue (for me anyway), I'm just wondering if you know
what happened to it?


Dominic
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [meta-fsl-arm][PATCH] linux-imx-rt: Add patch for imx-sdma CPU stall issue

2015-07-20 Thread Dominic Sacré
Work around CPU stalls in the imx-sdma driver by replacing spinlocks
with raw spinlocks. This prevents preemption during the spinlock's
critical section, as is the case on non PREEMPT_RT kernels.

Signed-off-by: Dominic Sacré 
---
 .../0004-imx-sdma-channel-use-raw-spinlock.patch   | 95 ++
 recipes-kernel/linux/linux-imx-rt_3.14.28.bb   |  1 +
 2 files changed, 96 insertions(+)
 create mode 100644 
recipes-kernel/linux/linux-imx-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch

diff --git 
a/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 
b/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
new file mode 100644
index 000..da36213
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
@@ -0,0 +1,95 @@
+Work around CPU stalls in the imx-sdma driver by replacing spinlocks
+with raw spinlocks. This prevents preemption during the spinlock's
+critical section, as is the case on non PREEMPT_RT kernels.
+
+Without this patch, the following error can occur, for example when
+using the audio codec on an iMX6Q Sabre SD board:
+
+INFO: rcu_preempt self-detected stall on CPU { 0}  (t=2100 jiffies g=106 c=105 
q=93)
+CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1
+[<80014a8c>] (unwind_backtrace) from [<8001173c>] (show_stack+0x10/0x14)
+[<8001173c>] (show_stack) from [<806ee750>] (dump_stack+0x7c/0xc8)
+[<806ee750>] (dump_stack) from [<800771c8>] (rcu_check_callbacks+0x454/0x888)
+[<800771c8>] (rcu_check_callbacks) from [<80037f28>] 
(update_process_times+0x40/0x5c)
+[<80037f28>] (update_process_times) from [<80082230>] 
(tick_sched_timer+0x4c/0x78)
+[<80082230>] (tick_sched_timer) from [<8004bf30>] 
(__run_hrtimer.isra.34+0x74/0x124)
+[<8004bf30>] (__run_hrtimer.isra.34) from [<8004cbb0>] 
(hrtimer_interrupt+0x154/0x3ac)
+[<8004cbb0>] (hrtimer_interrupt) from [<80014464>] (twd_handler+0x30/0x38)
+[<80014464>] (twd_handler) from [<8006fa2c>] 
(handle_percpu_devid_irq+0x6c/0x84)
+[<8006fa2c>] (handle_percpu_devid_irq) from [<8006bc64>] 
(generic_handle_irq+0x2c/0x3c)
+[<8006bc64>] (generic_handle_irq) from [<8000ed8c>] (handle_IRQ+0x40/0x90)
+[<8000ed8c>] (handle_IRQ) from [<8000856c>] (gic_handle_irq+0x2c/0x5c)
+[<8000856c>] (gic_handle_irq) from [<80012240>] (__irq_svc+0x40/0x84)
+Exception stack(0xa840feb8 to 0xa840ff00)
+fea0:   a8007a28 0002
+fec0: 0001 a6a6 a80079c0 a8007a28 a83ea080  a80079c0 a83ea080
+fee0: 285190f0   a840ff00 8006d04c 806f3070 20030113 
+[<80012240>] (__irq_svc) from [<806f3070>] (_raw_spin_unlock_irq+0x20/0x60)
+[<806f3070>] (_raw_spin_unlock_irq) from [<8006d04c>] 
(irq_finalize_oneshot.part.37+0x70/0xcc)
+[<8006d04c>] (irq_finalize_oneshot.part.37) from [<8006d148>] 
(irq_forced_thread_fn+0x60/0x64)
+[<8006d148>] (irq_forced_thread_fn) from [<8006d3dc>] (irq_thread+0x138/0x1a4)
+[<8006d3dc>] (irq_thread) from [<8004913c>] (kthread+0xbc/0xd4)
+[<8004913c>] (kthread) from [<8000e538>] (ret_from_fork+0x14/0x3c)
+
+Upstream-Status: Pending
+
+Signed-off-by: Dominic Sacré 
+
+diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
+index bae2ea8..74ff5a0 100644
+--- a/drivers/dma/imx-sdma.c
 b/drivers/dma/imx-sdma.c
+@@ -343,7 +343,7 @@ struct sdma_engine {
+   struct dma_device   dma_device;
+   struct clk  *clk_ipg;
+   struct clk  *clk_ahb;
+-  spinlock_t  channel_0_lock;
++  raw_spinlock_t  channel_0_lock;
+   u32 script_number;
+   struct sdma_script_start_addrs  *script_addrs;
+   const struct sdma_driver_data   *drvdata;
+@@ -593,7 +593,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+   return -ENOMEM;
+   }
+ 
+-  spin_lock_irqsave(&sdma->channel_0_lock, flags);
++  raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
+ 
+   bd0->mode.command = C0_SETPM;
+   bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
+@@ -605,7 +605,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+ 
+   ret = sdma_run_channel0(sdma);
+ 
+-  spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
++  raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
+ 
+   if (use_iram)
+   gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
+@@ -880,7 +880,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
+   dev_dbg(sdma->dev, "event_ma

[meta-freescale] [meta-fsl-arm-extra][PATCH] linux-wandboard-rt: Add patch for imx-sdma CPU stall issue

2015-07-20 Thread Dominic Sacré
Work around CPU stalls in the imx-sdma driver by replacing spinlocks
with raw spinlocks. This prevents preemption during the spinlock's
critical section, as is the case on non PREEMPT_RT kernels.

Signed-off-by: Dominic Sacré 
---
 .../0004-imx-sdma-channel-use-raw-spinlock.patch   | 95 ++
 recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb |  1 +
 2 files changed, 96 insertions(+)
 create mode 100644 
recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch

diff --git 
a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
new file mode 100644
index 000..da36213
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
@@ -0,0 +1,95 @@
+Work around CPU stalls in the imx-sdma driver by replacing spinlocks
+with raw spinlocks. This prevents preemption during the spinlock's
+critical section, as is the case on non PREEMPT_RT kernels.
+
+Without this patch, the following error can occur, for example when
+using the audio codec on an iMX6Q Sabre SD board:
+
+INFO: rcu_preempt self-detected stall on CPU { 0}  (t=2100 jiffies g=106 c=105 
q=93)
+CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1
+[<80014a8c>] (unwind_backtrace) from [<8001173c>] (show_stack+0x10/0x14)
+[<8001173c>] (show_stack) from [<806ee750>] (dump_stack+0x7c/0xc8)
+[<806ee750>] (dump_stack) from [<800771c8>] (rcu_check_callbacks+0x454/0x888)
+[<800771c8>] (rcu_check_callbacks) from [<80037f28>] 
(update_process_times+0x40/0x5c)
+[<80037f28>] (update_process_times) from [<80082230>] 
(tick_sched_timer+0x4c/0x78)
+[<80082230>] (tick_sched_timer) from [<8004bf30>] 
(__run_hrtimer.isra.34+0x74/0x124)
+[<8004bf30>] (__run_hrtimer.isra.34) from [<8004cbb0>] 
(hrtimer_interrupt+0x154/0x3ac)
+[<8004cbb0>] (hrtimer_interrupt) from [<80014464>] (twd_handler+0x30/0x38)
+[<80014464>] (twd_handler) from [<8006fa2c>] 
(handle_percpu_devid_irq+0x6c/0x84)
+[<8006fa2c>] (handle_percpu_devid_irq) from [<8006bc64>] 
(generic_handle_irq+0x2c/0x3c)
+[<8006bc64>] (generic_handle_irq) from [<8000ed8c>] (handle_IRQ+0x40/0x90)
+[<8000ed8c>] (handle_IRQ) from [<8000856c>] (gic_handle_irq+0x2c/0x5c)
+[<8000856c>] (gic_handle_irq) from [<80012240>] (__irq_svc+0x40/0x84)
+Exception stack(0xa840feb8 to 0xa840ff00)
+fea0:   a8007a28 0002
+fec0: 0001 a6a6 a80079c0 a8007a28 a83ea080  a80079c0 a83ea080
+fee0: 285190f0   a840ff00 8006d04c 806f3070 20030113 
+[<80012240>] (__irq_svc) from [<806f3070>] (_raw_spin_unlock_irq+0x20/0x60)
+[<806f3070>] (_raw_spin_unlock_irq) from [<8006d04c>] 
(irq_finalize_oneshot.part.37+0x70/0xcc)
+[<8006d04c>] (irq_finalize_oneshot.part.37) from [<8006d148>] 
(irq_forced_thread_fn+0x60/0x64)
+[<8006d148>] (irq_forced_thread_fn) from [<8006d3dc>] (irq_thread+0x138/0x1a4)
+[<8006d3dc>] (irq_thread) from [<8004913c>] (kthread+0xbc/0xd4)
+[<8004913c>] (kthread) from [<8000e538>] (ret_from_fork+0x14/0x3c)
+
+Upstream-Status: Pending
+
+Signed-off-by: Dominic Sacré 
+
+diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
+index bae2ea8..74ff5a0 100644
+--- a/drivers/dma/imx-sdma.c
 b/drivers/dma/imx-sdma.c
+@@ -343,7 +343,7 @@ struct sdma_engine {
+   struct dma_device   dma_device;
+   struct clk  *clk_ipg;
+   struct clk  *clk_ahb;
+-  spinlock_t  channel_0_lock;
++  raw_spinlock_t  channel_0_lock;
+   u32 script_number;
+   struct sdma_script_start_addrs  *script_addrs;
+   const struct sdma_driver_data   *drvdata;
+@@ -593,7 +593,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+   return -ENOMEM;
+   }
+ 
+-  spin_lock_irqsave(&sdma->channel_0_lock, flags);
++  raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
+ 
+   bd0->mode.command = C0_SETPM;
+   bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
+@@ -605,7 +605,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void 
*buf, int size,
+ 
+   ret = sdma_run_channel0(sdma);
+ 
+-  spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
++  raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
+ 
+   if (use_iram)
+   gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
+@@ -880,7 +880,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
+

Re: [meta-freescale] [meta-fsl-demos][PATCH 01/12] packagegroup-fsl-benchmark.bb: New packagegroup for benchmarks

2015-08-25 Thread Dominic Sacré
On 2015-08-25 16:20, Otavio Salvador wrote:
> On Tue, Aug 25, 2015 at 5:22 AM, Nikolay Dimitrov  wrote:
>> Can you please exclude "fio" from RDEPENDS_${PN}-extended, at least for
>> ARM boards? Here's more info about the issue:
>>
>> https://github.com/Freescale/meta-fsl-demos/commit/836bdf5a9d500ed258f1ddc07d89eca74a704098
> 
> This is the very same packagegroup as
> packagegroup-fsl-tools-benchmark; there are two differences though:
> 
>  a. it is split in core and extended
>  b. it includes fio
> 
> The core and extended for a benchmark packagegroup seems pointless as
> both offer same functionality. So I think what we have is more
> suitable for general use.
> 
> I thus ask you to remove this patch for next patchset. The 'fio'
> package has been removed on purpose as it was causing builds to fail
> so if it needs to be added back a more careful test needs to be done
> before reverting the patch which has removed it.

The issue with fio was just temporary (a QA fix for x86 broke ARM
builds) and is fixed in meta-openembedded master:

https://github.com/openembedded/meta-openembedded/commit/eb01b36cb3f2f686bc05c690b06d1e0680dda1f5

There's no need to exclude fio from packagegroup-fsl-tools-benchmark.


Dominic
-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [meta-fsl-arm-extra][PATCH] linux-wandboard-rt: update SRCREV for gcc 5.2 build fixes

2015-10-28 Thread Dominic Sacré
This updates SRCREV to the same revision as the linux-wandboard recipe.

Signed-off-by: Dominic Sacré 
---
 recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb 
b/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb
index d5ec229..97be1ec 100644
--- a/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb
+++ b/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb
@@ -10,7 +10,7 @@ DEPENDS += "lzop-native bc-native"
 # Wandboard branch - based on 3.14.28_1.0.0_ga from Freescale git
 
 SRCBRANCH = "wandboard_imx_3.14.28_1.0.0_ga"
-SRCREV = "08f5291c18379a90cd1706e89cdb16288a4cdfe2"
+SRCREV = "e2df0421a0a73fa2effb1e866bc3b2d8cb1b5acf"
 LOCALVERSION = "_1.0.0_ga-wandboard"
 
 SRC_URI += "\
-- 
2.6.2

-- 
___
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale


[meta-freescale] [meta-fsl-arm][PATCH] linux-fslc-mx6-rt: Add new recipe

2015-10-29 Thread Dominic Sacré
This recipe is based on the now-deleted linux-imx-rt recipe, using the
same set of patches.

The linux-fslc-mx6 kernel is currently at upstream version 3.14.54, for
which no realtime patch has been released, but patch 3.14.51-rt52
applies cleanly.

Signed-off-by: Dominic Sacré 
---
 .../linux/linux-fslc-mx6-rt/0001-fix-build.patch   |  71 
 .../0002-fix-build-with-rt-enabled.patch   |  19 +
 .../linux-fslc-mx6-rt/0003-no-split-ptlocks.patch  |  85 +
 .../0004-imx-sdma-channel-use-raw-spinlock.patch   |  95 +
 recipes-kernel/linux/linux-fslc-mx6-rt/defconfig   | 413 +
 .../linux/linux-fslc-mx6-rt_3.14-1.0.x.bb  |  27 ++
 6 files changed, 710 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch
 create mode 100644 
recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch
 create mode 100644 
recipes-kernel/linux/linux-fslc-mx6-rt/0003-no-split-ptlocks.patch
 create mode 100644 
recipes-kernel/linux/linux-fslc-mx6-rt/0004-imx-sdma-channel-use-raw-spinlock.patch
 create mode 100644 recipes-kernel/linux/linux-fslc-mx6-rt/defconfig
 create mode 100644 recipes-kernel/linux/linux-fslc-mx6-rt_3.14-1.0.x.bb

diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch 
b/recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch
new file mode 100644
index 000..4be4066
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc-mx6-rt/0001-fix-build.patch
@@ -0,0 +1,71 @@
+Fix build errors when RT patch is applied
+
+Upstream-Status: Inappropriate [other]
+Freescale does not support the RT patch
+
+Signed-off-by: Jacob Kroon 
+Signed-off-by: Dominic Sacré  [updated for 3.14.28]
+
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c 
b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+index 2ec98dc..5d0b7df 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
 b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -7344,7 +7344,7 @@ gckOS_WaitSignal(
+ 
+ might_sleep();
+ 
+-spin_lock_irq(&signal->obj.wait.lock);
++raw_spin_lock_irq(&signal->obj.wait.lock);
+ 
+ if (signal->obj.done)
+ {
+@@ -7366,9 +7366,8 @@ gckOS_WaitSignal(
+ ? MAX_SCHEDULE_TIMEOUT
+ : Wait * HZ / 1000;
+ 
+-DECLARE_WAITQUEUE(wait, current);
+-wait.flags |= WQ_FLAG_EXCLUSIVE;
+-__add_wait_queue_tail(&signal->obj.wait, &wait);
++DEFINE_SWAITER(wait);
++swait_prepare_locked(&signal->obj.wait, &wait);
+ 
+ while (gcvTRUE)
+ {
+@@ -7380,9 +7379,9 @@ gckOS_WaitSignal(
+ }
+ 
+ __set_current_state(TASK_INTERRUPTIBLE);
+-spin_unlock_irq(&signal->obj.wait.lock);
++raw_spin_unlock_irq(&signal->obj.wait.lock);
+ timeout = schedule_timeout(timeout);
+-spin_lock_irq(&signal->obj.wait.lock);
++raw_spin_lock_irq(&signal->obj.wait.lock);
+ 
+ if (signal->obj.done)
+ {
+@@ -7403,10 +7402,10 @@ gckOS_WaitSignal(
+ }
+ }
+ 
+-__remove_wait_queue(&signal->obj.wait, &wait);
++swait_finish_locked(&signal->obj.wait, &wait);
+ }
+ 
+-spin_unlock_irq(&signal->obj.wait.lock);
++raw_spin_unlock_irq(&signal->obj.wait.lock);
+ 
+ OnError:
+ /* Return status. */
+diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h
+index 9787980..3586199 100644
+--- a/include/linux/imx_sema4.h
 b/include/linux/imx_sema4.h
+@@ -9,6 +9,8 @@
+ #ifndef __LINUX_IMX_SEMA4_H__
+ #define __LINUX_IMX_SEMA4_H__
+ 
++#include 
++
+ #define SEMA4_NUM_DEVICES 1
+ #define SEMA4_NUM_GATES   16
+ 
diff --git 
a/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch 
b/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch
new file mode 100644
index 000..83652c9
--- /dev/null
+++ 
b/recipes-kernel/linux/linux-fslc-mx6-rt/0002-fix-build-with-rt-enabled.patch
@@ -0,0 +1,19 @@
+Fix build error when PREEMPT_RT_FULL is enabled
+
+Upstream-Status: Pending
+
+Signed-off-by: Jacob Kroon 
+
+Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+===
+--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
 git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
+ gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
+ 
+ /* Initialize the mutex. */
+-mutex_init(*Mutex);
++mutex_init((struct mutex*)*Mutex);
+ 
+ /* Return status. */
+ gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git a/recipes-kernel/linux/linux-fslc-mx6-rt/0003-no-split-ptlocks.patch 
b/recipes-kernel/linux/linux-fslc-mx6-rt/0003-no-split-ptloc