[linux-yocto][yocto-kernel-cache yocto-6.6][PATCH] nxp-imx6: Add scc and cfg files for nxp-imx6 platform

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
new scc and cfg files for BSP nxp-imx6 on branch yocto-6.6.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6-preempt-rt.scc |   7 +
 bsp/nxp-imx6/nxp-imx6-standard.scc   |   7 +
 bsp/nxp-imx6/nxp-imx6.cfg| 226 +++
 bsp/nxp-imx6/nxp-imx6.scc|   7 +
 4 files changed, 247 insertions(+)
 create mode 100644 bsp/nxp-imx6/nxp-imx6-preempt-rt.scc
 create mode 100644 bsp/nxp-imx6/nxp-imx6-standard.scc
 create mode 100644 bsp/nxp-imx6/nxp-imx6.cfg
 create mode 100644 bsp/nxp-imx6/nxp-imx6.scc

diff --git a/bsp/nxp-imx6/nxp-imx6-preempt-rt.scc 
b/bsp/nxp-imx6/nxp-imx6-preempt-rt.scc
new file mode 100644
index ..2d726c5f
--- /dev/null
+++ b/bsp/nxp-imx6/nxp-imx6-preempt-rt.scc
@@ -0,0 +1,7 @@
+define KMACHINE nxp-imx6
+define KTYPE preempt-rt
+define KARCH arm
+
+include ktypes/preempt-rt
+
+include nxp-imx6.scc
diff --git a/bsp/nxp-imx6/nxp-imx6-standard.scc 
b/bsp/nxp-imx6/nxp-imx6-standard.scc
new file mode 100644
index ..c7d7c920
--- /dev/null
+++ b/bsp/nxp-imx6/nxp-imx6-standard.scc
@@ -0,0 +1,7 @@
+define KMACHINE nxp-imx6
+define KTYPE standard
+define KARCH arm
+
+include ktypes/standard
+
+include nxp-imx6.scc
diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
new file mode 100644
index ..e43d5a92
--- /dev/null
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -0,0 +1,226 @@
+CONFIG_ARCH_MXC=y
+CONFIG_SOC_IMX6UL=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SX=y
+
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+
+CONFIG_SMP=y
+CONFIG_NR_CPUS=4
+
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+CONFIG_VFP=y
+CONFIG_NEON=y
+
+CONFIG_MXC_CLK=y
+
+CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=m
+CONFIG_MXS_DMA=y
+CONFIG_DMA_OF=y
+CONFIG_MXC_PXP_V2=y
+
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+
+CONFIG_AT803X_PHY=y
+CONFIG_MICREL_PHY=y
+CONFIG_CAN=y
+CONFIG_CAN_VCAN=y
+CONFIG_CAN_FLEXCAN=y
+
+CONFIG_CMA=y
+CONFIG_IMX_WEIM=y
+
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_MTD_SST25L=y
+
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_KEYBOARD_GPIO=y
+
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
+
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+
+CONFIG_NVMEM_IMX_OCOTP=y
+
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_IMX=y
+
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_SPI_GPIO=y
+
+CONFIG_POWER_SUPPLY=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_SI476X_CORE=y
+
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_PFUZE100=y
+
+CONFIG_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5640_V2=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
+CONFIG_MXC_MIPI_CSI=m
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MUX=y
+
+CONFIG_DRM=y
+CONFIG_FB=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_MXC_IPU=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXS=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_MXC_GPU_VIV=y
+
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+
+CONFIG_USB=y
+CONFIG_USB_OTG=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_PHY=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_SERIAL=m
+
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+CONFIG_PCI=y
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PCI_MSI=y
+CONFIG_PCIEPORTBUS=y
+
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_FSL_ASRC=y

[linux-yocto] [PATCH 14/14] imx: dpu-blit: Remove GFP_DMA32

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
From: "Xiaolei Wang via lists.yoctoproject.org" 


The DMA32 zone on imx8qm is empty, and GFP_DMA32 and
GFP_DMA are a bad combination.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/gpu/imx/dpu-blit/dpu-blit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/imx/dpu-blit/dpu-blit.c 
b/drivers/gpu/imx/dpu-blit/dpu-blit.c
index eef1f41156dd..39222ff9560b 100644
--- a/drivers/gpu/imx/dpu-blit/dpu-blit.c
+++ b/drivers/gpu/imx/dpu-blit/dpu-blit.c
@@ -59,7 +59,7 @@ static int dpu_cs_alloc_command_buffer(struct dpu_bliteng 
*dpu_be)
/* command buffer need 32 bit address */
dpu_be->buffer_addr_virt =
alloc_pages_exact(COMMAND_BUFFER_SIZE,
-   GFP_KERNEL | GFP_DMA | GFP_DMA32 | __GFP_ZERO);
+   GFP_KERNEL | GFP_DMA | __GFP_ZERO);
if (!dpu_be->buffer_addr_virt) {
dev_err(dpu_be->dev, "memory alloc failed for dpu command 
buffer\n");
return -ENOMEM;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13991): 
https://lists.yoctoproject.org/g/linux-yocto/message/13991
Mute This Topic: https://lists.yoctoproject.org/mt/106517218/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 13/14] gpu: imx: dpu: Use raw_spin_lock instead of mutex_lock

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
For Atomic Mode Setting, it is safer to use raw spin lock.
Mutex may cause scheduling, which avoids the following warning.

BUG: sleeping function called from invalid context at kernel/locking/mutex.c:283
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 191, name: kworker/5:13
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
Preemption disabled at:
] dpu_crtc_atomic_flush+0x364/0x62c
 CPU: 5 PID: 191 Comm: kworker/5:13 Tainted: GWC 
6.1.30-yocto-standard #1
 Hardware name: Freescale i.MX8QM MEK (DT)
 Workqueue: events drm_mode_rmfb_work_fn
 Call trace:
 dump_backtrace.part.0+0xc8/0xd4
 show_stack+0x20/0x30
 dump_stack_lvl+0x6c/0x88
 dump_stack+0x18/0x34
 __might_resched+0x154/0x1c0
 __might_sleep+0x54/0xa4
 mutex_lock+0x2c/0x80
 fetchunit_is_enabled+0x28/0x70
 dpu_crtc_atomic_flush+0x198/0x62c
 drm_atomic_helper_commit_planes+0x158/0x220
 drm_atomic_helper_commit_tail+0x5c/0xb0
 commit_tail+0x130/0x17c
 drm_atomic_helper_commit+0x14c/0x180
 drm_atomic_commit+0xb0/0xf0
 drm_framebuffer_remove+0x468/0x4fc
 drm_mode_rmfb_work_fn+0x84/0xb0
 process_one_work+0x1f8/0x480
 worker_thread+0x238/0x450
 kthread+0x108/0x114
 ret_from_fork+0x10/0x20

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/gpu/imx/dpu/dpu-fetchdecode.c | 94 +--
 drivers/gpu/imx/dpu/dpu-fetcheco.c| 56 
 drivers/gpu/imx/dpu/dpu-fetchlayer.c  | 48 +++---
 drivers/gpu/imx/dpu/dpu-fetchunit.c   | 44 ++---
 drivers/gpu/imx/dpu/dpu-fetchwarp.c   | 48 +++---
 include/video/dpu.h   |  2 +-
 6 files changed, 146 insertions(+), 146 deletions(-)

diff --git a/drivers/gpu/imx/dpu/dpu-fetchdecode.c 
b/drivers/gpu/imx/dpu/dpu-fetchdecode.c
index 66d5862fbfa1..cacf3124c7fe 100644
--- a/drivers/gpu/imx/dpu/dpu-fetchdecode.c
+++ b/drivers/gpu/imx/dpu/dpu-fetchdecode.c
@@ -79,15 +79,15 @@ int fetchdecode_pixengcfg_dynamic_src_sel(struct 
dpu_fetchunit *fu,
 {
int i;
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
for (i = 0; i < 4; i++) {
if (fd_srcs[fu->id][i] == src) {
dpu_pec_fu_write(fu, PIXENGCFG_DYNAMIC, src);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
return 0;
}
}
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 
return -EINVAL;
 }
@@ -116,21 +116,21 @@ fetchdecode_set_baseaddress(struct dpu_fetchunit *fu, 
unsigned int width,
baddr += (dma_addr_t)(y_offset % mt_h) * stride;
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
dpu_fu_write(fu, BASEADDRESS0, baddr);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void fetchdecode_set_src_bpp(struct dpu_fetchunit *fu, int bpp)
 {
u32 val;
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, SOURCEBUFFERATTRIBUTES0);
val &= ~0x3f;
val |= BITSPERPIXEL(bpp);
dpu_fu_write(fu, SOURCEBUFFERATTRIBUTES0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void
@@ -155,12 +155,12 @@ fetchdecode_set_src_stride(struct dpu_fetchunit *fu,
  baddr, nonzero_mod);
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, SOURCEBUFFERATTRIBUTES0);
val &= ~0x;
val |= STRIDE(stride);
dpu_fu_write(fu, SOURCEBUFFERATTRIBUTES0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void
@@ -175,9 +175,9 @@ fetchdecode_set_src_buf_dimensions(struct dpu_fetchunit *fu,
 
val = LINEWIDTH(w) | LINECOUNT(h);
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
dpu_fu_write(fu, SOURCEBUFFERDIMENSION0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
@@ -224,7 +224,7 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
break;
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, CONTROL);
val &= ~YUV422UPSAMPLINGMODE_MASK;
val &= ~INPUTSELECT_MASK;
@@ -258,7 +258,7 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
val |= YUVCONVERSIONMODE(YUVCONVERSIONMODE__OFF);
}
dpu_fu_write(fu, LAYERPROPERTY0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 
for (i = 0; i < ARRAY_SIZE(dpu_pixel_format_matrix); i++) {
if (dpu_pixel_format_matrix[i].pixel_format == fmt) {
@@ -270,10 +270,10 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
shift &= ~(U_SHIFT_MASK | V_SHIFT_MASK);
}
 
-   mutex_lock(>mutex);
+   

[linux-yocto] [PATCH 11/14] ARM: imx: use raw_spin_lock instead of spin_lock in gpc.c

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Use raw_spin_lock instead of spin_lock,
this patch fixes the following warning:

BUG: sleeping function called from invalid context at 
kernel/locking/spinlock_rt.c:46
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 506, name: sh
preempt_count: 2, expected: 0
RCU nest depth: 0, expected: 0
Preemption disabled at:
[<>] 0x0
CPU: 0 PID: 506 Comm: sh Not tainted 6.1.53-rt10-yocto-preempt-rt #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
 unwind_backtrace from show_stack+0x18/0x1c
 show_stack from dump_stack_lvl+0x40/0x4c
 dump_stack_lvl from __might_resched+0x17c/0x1bc
 __might_resched from rt_spin_lock+0x2c/0x90
 rt_spin_lock from imx_gpc_irq_set_wake+0x34/0x68
 imx_gpc_irq_set_wake from irq_set_irq_wake+0x154/0x1ac
 irq_set_irq_wake from gpio_set_wake_irq+0x44/0x78
 gpio_set_wake_irq from irq_set_irq_wake+0x154/0x1ac
 irq_set_irq_wake from gpio_keys_suspend+0x88/0x1b8
 gpio_keys_suspend from dpm_run_callback+0x3c/0x188
 dpm_run_callback from __device_suspend+0x124/0x5c8
 __device_suspend from dpm_suspend+0x158/0x328
 dpm_suspend from dpm_suspend_start+0x6c/0x74
 dpm_suspend_start from suspend_devices_and_enter+0x294/0x8f4
 suspend_devices_and_enter from pm_suspend+0x2e0/0x33c
 pm_suspend from state_store+0x74/0xd0

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/gpc.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
index b93de80fa563..2da7bd5e1610 100644
--- a/arch/arm/mach-imx/gpc.c
+++ b/arch/arm/mach-imx/gpc.c
@@ -51,7 +51,7 @@ static u32 gpc_wake_irqs[IMR_NUM];
 static u32 gpc_saved_imrs[IMR_NUM];
 static u32 gpc_mf_irqs[IMR_NUM];
 static u32 gpc_mf_request_on[IMR_NUM];
-static DEFINE_SPINLOCK(gpc_lock);
+static DEFINE_RAW_SPINLOCK(gpc_lock);
 
 void imx_gpc_add_m4_wake_up_irq(u32 hwirq, bool enable)
 {
@@ -64,10 +64,10 @@ void imx_gpc_add_m4_wake_up_irq(u32 hwirq, bool enable)
return;
 
mask = 1 << hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_wake_irqs[idx] = enable ? gpc_wake_irqs[idx] | mask :
gpc_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpc_hold_m4_in_sleep(void)
@@ -233,10 +233,10 @@ static int imx_gpc_irq_set_wake(struct irq_data *d, 
unsigned int on)
u32 mask;
 
mask = 1 << d->hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_wake_irqs[idx] = on ? gpc_wake_irqs[idx] | mask :
  gpc_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
/*
 * Do *not* call into the parent, as the GIC doesn't have any
@@ -375,10 +375,10 @@ int imx_gpc_mf_power_on(unsigned int irq, unsigned int on)
u32 mask;
 
mask = 1 << (d->irq_data.hwirq % 32);
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_mf_request_on[idx] = on ? gpc_mf_request_on[idx] | mask :
  gpc_mf_request_on[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
return 0;
 }
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13988): 
https://lists.yoctoproject.org/g/linux-yocto/message/13988
Mute This Topic: https://lists.yoctoproject.org/mt/106517215/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 12/14] ARM: imx: use raw_spin_lock instead of spin_lock in gpcv2.c

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Use raw_spin_lock instead of spin_lock,
this patch fixes the following warning:

Hardware name: Freescale i.MX7 Dual (Device Tree)
 unwind_backtrace from show_stack+0x18/0x1c
 show_stack from dump_stack_lvl+0x40/0x4c
 dump_stack_lvl from __might_resched+0x140/0x1b4
 __might_resched from rt_spin_lock+0x28/0x74
 rt_spin_lock from imx_gpcv2_set_lpm_mode+0x1c/0xbc
 imx_gpcv2_set_lpm_mode from imx7d_enter_low_power_idle+0x7c/0x30c
 imx7d_enter_low_power_idle from cpuidle_enter_state+0xe8/0x328
 cpuidle_enter_state from cpuidle_enter+0x3c/0x50
 cpuidle_enter from do_idle+0x218/0x268
 do_idle from cpu_startup_entry+0x20/0x24
 cpu_startup_entry from rest_init+0xbc/0xd8
 rest_init from arch_post_acpi_subsys_init+0x0/0x18

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/gpcv2.c | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/arm/mach-imx/gpcv2.c b/arch/arm/mach-imx/gpcv2.c
index 62e8b0089348..4e7034c79ad7 100644
--- a/arch/arm/mach-imx/gpcv2.c
+++ b/arch/arm/mach-imx/gpcv2.c
@@ -109,7 +109,7 @@ static u32 gpcv2_saved_imrs[IMR_NUM];
 static u32 gpcv2_saved_imrs_m4[IMR_NUM];
 static u32 gpcv2_mf_irqs[IMR_NUM];
 static u32 gpcv2_mf_request_on[IMR_NUM];
-static DEFINE_SPINLOCK(gpcv2_lock);
+static DEFINE_RAW_SPINLOCK(gpcv2_lock);
 
 void imx_gpcv2_add_m4_wake_up_irq(u32 hwirq, bool enable)
 {
@@ -122,10 +122,10 @@ void imx_gpcv2_add_m4_wake_up_irq(u32 hwirq, bool enable)
return;
 
mask = 1 << hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpcv2_wake_irqs[idx] = enable ? gpcv2_wake_irqs[idx] | mask :
gpcv2_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 static int imx_gpcv2_irq_set_wake(struct irq_data *d, unsigned int on)
@@ -137,10 +137,10 @@ static int imx_gpcv2_irq_set_wake(struct irq_data *d, 
unsigned int on)
BUG_ON(idx >= IMR_NUM);
 
mask = 1 << d->hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpcv2_wake_irqs[idx] = on ? gpcv2_wake_irqs[idx] | mask :
  gpcv2_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
return 0;
 }
@@ -226,7 +226,7 @@ void imx_gpcv2_set_lpm_mode(enum mxc_cpu_pwr_mode mode)
unsigned long flags;
u32 val1, val2;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
val1 = readl_relaxed(gpc_base + GPC_LPCR_A7_BSC);
val2 = readl_relaxed(gpc_base + GPC_SLPCR);
@@ -283,7 +283,7 @@ void imx_gpcv2_set_lpm_mode(enum mxc_cpu_pwr_mode mode)
writel_relaxed(val1, gpc_base + GPC_LPCR_A7_BSC);
writel_relaxed(val2, gpc_base + GPC_SLPCR);
 
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_plat_power_gate_by_lpm(bool pdn)
@@ -329,7 +329,7 @@ void imx_gpcv2_set_cpu_power_gate_by_wfi(u32 cpu, bool pdn)
unsigned long flags;
u32 val;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
val = readl_relaxed(gpc_base + GPC_LPCR_A7_AD);
 
if (cpu == 0) {
@@ -355,7 +355,7 @@ void imx_gpcv2_set_cpu_power_gate_by_wfi(u32 cpu, bool pdn)
}
}
writel_relaxed(val, gpc_base + GPC_LPCR_A7_AD);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
@@ -363,7 +363,7 @@ void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
unsigned long flags;
u32 val;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
val = readl_relaxed(gpc_base + GPC_LPCR_A7_AD);
if (cpu == 0) {
@@ -384,7 +384,7 @@ void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
}
 
writel_relaxed(val, gpc_base + GPC_LPCR_A7_AD);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
@@ -395,7 +395,7 @@ void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
for_each_possible_cpu(cpu)
imx_gpcv2_set_cpu_power_gate_by_lpm(cpu, pdn);
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
imx_gpcv2_set_m_core_pgc(pdn, GPC_PGC_C0);
if (num_online_cpus() > 1)
@@ -424,7 +424,7 @@ void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
gpc_base + GPC_PGC_ACK_SEL_A7);
imx_gpcv2_enable_rbc(false);
}
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_mix_phy_gate_by_lpm(u32 pdn_index, u32 pup_index)
@@ 

[linux-yocto] [PATCH 08/14] video: sii902x: Fix panic caused by sii902x_read_edid

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
The data structure edid_fbi needs to be initialized, otherwise
edid_fbi->monspecs.modedb and fbi->monspecs.modedb_len are not
initial values, which will cause illegal free to be detected
by KASAN, and the following panic will appear:

Unable to handle kernel paging request at virtual address 80f5e000
pgd = 41eceede
[80f5e000] *pgd=80e1941e(bad)
Internal error: Oops: 80d [#1] PREEMPT SMP ARM
Modules linked in:

PC is at copy_page+0x1c/0x70
LR is at 0x7fb78
pc : [<8062f37c>] lr : [<0007fb78>] psr: 60010113
sp : 815a5ea8 ip : 0007fb7c fp : 80119288
r10: 0040 r9: 815a4000 r8: 815a5fb0
r7 : 76af r6 : 0200 r5 : 80f5e000 r4 : 0007fb80
r3 : 0008 r2 : 001f r1 : 813f8010 r0 : 80f5e000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: 83a7406a DAC: 0051
Register r0 information: non-slab/vmalloc memory
Register r1 information: non-slab/vmalloc memory
Register r2 information: non-paged memory
Register r3 information: non-paged memory
Register r4 information: non-paged memory
Register r5 information: non-slab/vmalloc memory
Register r6 information: non-paged memory
Register r7 information: non-paged memory
Register r8 information: non-slab/vmalloc memory
Register r9 information: non-slab/vmalloc memory
Register r10 information: non-paged memory
Register r11 information: non-slab/vmalloc memory
Register r12 information: non-paged memory
Process init (pid: 1, stack limit = 0x6432d6db)
Stack: (0x815a5ea8 to 0x815a6000)
5ea0: 813f8000 801192b8 81d49900 0d73 0200 802ab694
5ec0: 0003 801734d8 81d28040 80173e10 81d499c0 0275 81d499d0 b1f55299
5ee0: 76aef000 76aef000 81d49900 01100cca 0070 76af 0275 83a75da8
5f00: 83a75da8  ab67b938 ab685ee0    b1f55299
5f20: 0001 815a5fb0 76af0124 81d28000 0817 81d49900 0275 81d28040
5f40: 81380b40 80ccc7e0 815a5f50 815a5f54  815a5f54 815a5f54 0800
5f60: 0001 0817 76af0124  815a5fb0 8120b23c 00080144 7ee89ff0
5f80: 0002 80114db8 76af0124 0817 815a5fb0 76af0124 76fca960 20010010
5fa0:  10c5387d 10c5387d 8010167c 76af0124  0018 76af0124
5fc0: 76fda2b8 7ee8a00c 76af0144 7ee8a0b8 0003 00080144 7ee89ff0 0002
5fe0:  7ee89fc8 76fb839b 76fca960 20010010   
Code: e3a0201f e8b15018 f5d1f080 f5d1f0c0 (e8a05018)
---[ end trace a0459ca32b040418 ]---
note: init[1] exited with preempt_count 2
Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b
CPU0: stopping

Fixed bd21ebe013c9("video: fbdev: mxc: Release the previously allocated modedb 
before parsing edid")
Signed-off-by: Xiaolei Wang 

Signed-off-by: Bruce Ashfield 
---
 drivers/video/fbdev/mxc/mxsfb_sii902x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/mxc/mxsfb_sii902x.c 
b/drivers/video/fbdev/mxc/mxsfb_sii902x.c
index 767d1039c736..b006c2ff4c09 100644
--- a/drivers/video/fbdev/mxc/mxsfb_sii902x.c
+++ b/drivers/video/fbdev/mxc/mxsfb_sii902x.c
@@ -396,7 +396,7 @@ static int mxsfb_get_of_property(void)
 static int sii902x_probe(struct i2c_client *client)
 {
int i, dat, ret;
-   struct fb_info edid_fbi;
+   struct fb_info edid_fbi = {};
struct fb_info *init_fbi = sii902x.fbi;
 
memset(, 0, sizeof(sii902x));
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13987): 
https://lists.yoctoproject.org/g/linux-yocto/message/13987
Mute This Topic: https://lists.yoctoproject.org/mt/106517214/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 10/14] arm: dts: imx6q-sabresd: Enable imx6q pcie

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Enable pcie for imx6q-sabresd.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts 
b/arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts
index ca8c7d1a29cb..b4463f952831 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts
@@ -53,3 +53,7 @@ _csi1_from_mipi_vc1 {
clock-lanes = <0>;
data-lanes = <1 2>;
 };
+
+ {
+   status = "okay";
+};
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13985): 
https://lists.yoctoproject.org/g/linux-yocto/message/13985
Mute This Topic: https://lists.yoctoproject.org/mt/106517212/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 09/14] video: fbdev: mxc: hdmi: Fix a memory leak in mxc_hdmi_disp_init

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
When mxc_hdmi_disp_init returns failure, hdmi->fbi->modelist needs
to be released in mxc_hdmi_disp_deinit(), this patch solves the
following memory leaks:

unreferenced object 0xc52a45c0 (size 64):
  comm "swapper/0", pid 1, jiffies 4294937844 (age 159.630s)
  hex dump (first 32 bytes):
80 45 2a c5 00 46 2a c5 00 00 00 00 32 00 00 00  .E*..F*.2...
80 07 00 00 38 04 00 00 4e 1a 00 00 94 00 00 00  8...N...
  backtrace:
[<409cb2e6>] kmalloc_trace+0x30/0x60
[<0417ea10>] fb_add_videomode+0xfc/0x14c
[] mxc_hdmi_disp_init+0x3b8/0x908
[<70d3b62e>] mxc_dispdrv_gethandle+0x70/0xc4
[] mxcfb_probe+0xa00/0xea0
[<478fecea>] platform_probe+0x64/0xb8
[] really_probe+0xd0/0x2f4
[<0131a04b>] __driver_probe_device+0x90/0x1a8
[] driver_probe_device+0x38/0x110
[] __driver_attach+0x9c/0x188
[] bus_for_each_dev+0x84/0xcc
[<537260d8>] bus_add_driver+0x16c/0x1f8
[<1df9678d>] driver_register+0x90/0x124
[<75e3b051>] do_one_initcall+0x84/0x330
[] kernel_init_freeable+0x2a4/0x2fc
[] kernel_init+0x20/0x140

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/video/fbdev/mxc/mxc_hdmi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/fbdev/mxc/mxc_hdmi.c 
b/drivers/video/fbdev/mxc/mxc_hdmi.c
index 16cf69488aa2..9ca385a03b2e 100644
--- a/drivers/video/fbdev/mxc/mxc_hdmi.c
+++ b/drivers/video/fbdev/mxc/mxc_hdmi.c
@@ -2712,6 +2712,7 @@ static void mxc_hdmi_disp_deinit(struct 
mxc_dispdrv_handle *disp)
 
dev_dbg(>pdev->dev, "%s\n", __func__);
 
+   fb_destroy_modelist(>fbi->modelist);
device_remove_file(>pdev->dev, _attr_fb_name);
device_remove_file(>pdev->dev, _attr_cable_state);
device_remove_file(>pdev->dev, _attr_edid);
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13986): 
https://lists.yoctoproject.org/g/linux-yocto/message/13986
Mute This Topic: https://lists.yoctoproject.org/mt/106517213/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 07/14] video: fbdev: mxc: Release the previously allocated modedb before parsing edid

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
When we don`t set "video=mxcfb0:dev=hdmi" in bootargs,
but connect  hdmi to imx6q, it will trigger a periodically
hdmi interrupt in a few  seconds. These repeated interruptions
will read edid and alloc modedb,  so we need to release the
modedb before the next allocation.

Fix following memory leak.

unreferenced object 0xc6a54000 (size 2048):
comm "kworker/0:0", pid 2655, jiffies 756371 (age 952.680s)
hex dump (first 32 bytes):
00 00 00 00 3b 00 00 00 90 06 00 00 1a 04 00 00 ;...
b5 1a 00 00 18 01 00 00 68 00 00 00 1e 00 00 00 h...
backtrace:
[<00623f2e>] mxc_edid_parse_ext_blk+0x79c/0x820
[<0ef13c8f>] mxc_edid_read+0x224/0x244
[<68bdc576>] mxc_hdmi_read_edid+0x6c/0x3d0
[] hotplug_worker+0x64/0x30c
[<909541fa>] process_one_work+0x1f4/0x308
[<69f4c3c3>] worker_thread+0x2b0/0x360
[<7edd79c5>] kthread+0x144/0x150
[<18f0f29a>] ret_from_fork+0x14/0x24
[<>] 0x0

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/video/fbdev/mxc/mxc_edid.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/mxc/mxc_edid.c 
b/drivers/video/fbdev/mxc/mxc_edid.c
index 903172e6ae77..7230fb68260a 100644
--- a/drivers/video/fbdev/mxc/mxc_edid.c
+++ b/drivers/video/fbdev/mxc/mxc_edid.c
@@ -737,6 +737,8 @@ int mxc_edid_read(struct i2c_adapter *adp, unsigned short 
addr,
return extblknum;
 
/* edid first block parsing */
+   if (fbi->monspecs.modedb)
+   fb_destroy_modedb(fbi->monspecs.modedb);
memset(>monspecs, 0, sizeof(fbi->monspecs));
fb_edid_to_monspecs(edid, >monspecs);
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13984): 
https://lists.yoctoproject.org/g/linux-yocto/message/13984
Mute This Topic: https://lists.yoctoproject.org/mt/106517210/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 05/14] ARM: imx: use raw_spin_lock instead of spin_lock

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
CPU: 0 PID: 0 Comm: swapper/0 Tainted: GW 
5.15.78-rt48-yocto-preempt-rt #1
Hardware name: Freescale i.MX7 Dual (Device Tree)
[<80110f4c>] (unwind_backtrace) from [<8010aef8>] (show_stack+0x18/0x1c)
[<8010aef8>] (show_stack) from [<80be4998>] (dump_stack_lvl+0x40/0x4c)
[<80be4998>] (dump_stack_lvl) from [<8015297c>] (__might_resched+0x16c/0x1f0)
[<8015297c>] (__might_resched) from [<80bf2d8c>] (rt_spin_lock+0x34/0x80)
[<80bf2d8c>] (rt_spin_lock) from [<8011e350>] (imx_set_cpu_jump+0x20/0x70)
[<8011e350>] (imx_set_cpu_jump) from [<8011bd64>] 
(imx7d_enter_low_power_idle+0x2e4/0x30c)
[<8011bd64>] (imx7d_enter_low_power_idle) from [<80897bb8>] 
(cpuidle_enter_state+0xe8/0x2f0)
[<80897bb8>] (cpuidle_enter_state) from [<80897e18>] (cpuidle_enter+0x3c/0x50)
[<80897e18>] (cpuidle_enter) from [<8015a748>] (do_idle+0x234/0x264)
[<8015a748>] (do_idle) from [<8015aa88>] (cpu_startup_entry+0x20/0x28)
[<8015aa88>] (cpu_startup_entry) from [<81001138>] (start_kernel+0x5b8/0x69c)
[<81001138>] (start_kernel) from [<>] (0x0)

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/src.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index 2a2fc431d5e7..affaa0428315 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -35,7 +35,7 @@
 #define BP_SRC_A7RCR1_A7_CORE1_ENABLE  1
 
 static void __iomem *src_base;
-static DEFINE_SPINLOCK(src_lock);
+static DEFINE_RAW_SPINLOCK(src_lock);
 static bool m4_is_enabled;
 
 static const int sw_reset_bits[5] = {
@@ -64,11 +64,11 @@ static int imx_src_reset_module(struct reset_controller_dev 
*rcdev,
 
bit = 1 << sw_reset_bits[sw_reset_idx];
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
val = readl_relaxed(src_base + SRC_SCR);
val |= bit;
writel_relaxed(val, src_base + SRC_SCR);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
timeout = jiffies + msecs_to_jiffies(1000);
while (readl(src_base + SRC_SCR) & bit) {
@@ -89,7 +89,7 @@ void imx_enable_cpu(int cpu, bool enable)
u32 mask, val;
 
cpu = cpu_logical_map(cpu);
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
if (cpu_is_imx7d()) {
/* enable core */
if (enable)
@@ -106,12 +106,12 @@ void imx_enable_cpu(int cpu, bool enable)
val |= 1 << (BP_SRC_SCR_CORE1_RST + cpu - 1);
writel_relaxed(val, src_base + SRC_SCR);
}
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 void imx_set_cpu_jump(int cpu, void *jump_addr)
 {
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
cpu = cpu_logical_map(cpu);
if (cpu_is_imx7d())
writel_relaxed(__pa_symbol(jump_addr),
@@ -119,7 +119,7 @@ void imx_set_cpu_jump(int cpu, void *jump_addr)
else
writel_relaxed(__pa_symbol(jump_addr),
src_base + SRC_GPR1 + cpu * 8);
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 u32 imx_get_cpu_arg(int cpu)
@@ -172,7 +172,7 @@ void __init imx_src_init(void)
 * force warm reset sources to generate cold reset
 * for a more reliable restart
 */
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
val = readl_relaxed(src_base + SRC_SCR);
 
/* bit 4 is m4c_non_sclr_rst on i.MX6SX */
@@ -184,7 +184,7 @@ void __init imx_src_init(void)
 
val &= ~(1 << BP_SRC_SCR_WARM_RESET_ENABLE);
writel_relaxed(val, src_base + SRC_SCR);
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 static const struct of_device_id imx_src_dt_ids[] = {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13983): 
https://lists.yoctoproject.org/g/linux-yocto/message/13983
Mute This Topic: https://lists.yoctoproject.org/mt/106517209/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 06/14] drm/bridge: adv7533: Limit supported clocks

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Refer to commit 323751dadfbe("MLK-21958-13: drm/bridge: adv7511: Limit 
supported clocks")
Add Limit supported clocks for adv7533, Some modes are not working with this 
converter.
This will cause hdmi link down, so add this workround patch to solve this 
problem.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/gpu/drm/bridge/adv7511/adv7533.c | 31 
 1 file changed, 31 insertions(+)

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c 
b/drivers/gpu/drm/bridge/adv7511/adv7533.c
index 26e9852e9fab..4c6f450de71a 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
@@ -24,6 +24,26 @@ static const struct reg_sequence 
adv7533_cec_fixed_registers[] = {
{ 0x05, 0xc8 },
 };
 
+/*
+ * TODO: Currently, filter-out unsupported modes by their clocks.
+ * Need to find a better way to do this.
+ * These are the pixel clocks that the converter can handle successfully.
+ */
+
+static const int valid_clocks[] = {
+   148500,
+   135000,
+   132000,
+   119000,
+   108000,
+   78750,
+   74250,
+   65000,
+   49500,
+   4,
+   31500,
+};
+
 static void adv7511_dsi_config_timing_gen(struct adv7511 *adv)
 {
struct drm_display_mode *mode = >curr_mode;
@@ -136,6 +156,8 @@ enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv,
unsigned long max_lane_freq;
struct mipi_dsi_device *dsi = adv->dsi;
u8 bpp = mipi_dsi_pixel_format_to_bpp(dsi->format);
+   size_t i, num_modes = ARRAY_SIZE(valid_clocks);
+   bool clock_ok = false;
 
/* Check max clock for either 7533 or 7535 */
if (mode->clock > (adv->type == ADV7533 ? 8 : 148500))
@@ -147,6 +169,15 @@ enum drm_mode_status adv7533_mode_valid(struct adv7511 
*adv,
if (mode->clock * bpp > max_lane_freq * adv->num_dsi_lanes)
return MODE_CLOCK_HIGH;
 
+   for (i = 0; i < num_modes; i++)
+   if (mode->clock == valid_clocks[i]) {
+   clock_ok = true;
+   break;
+   }
+
+   if (!clock_ok)
+   return MODE_NOCLOCK;
+
return MODE_OK;
 }
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13982): 
https://lists.yoctoproject.org/g/linux-yocto/message/13982
Mute This Topic: https://lists.yoctoproject.org/mt/106517208/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 04/14] irqchip: imx-irqsteer: Block the runtime PM

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
The irqsteer's runtime PM has to be enabled otherwise the probe of
some devices (such as dpu) will fail because of the failure of 
irq_chip_pm_get().
But we can't allow the irqsteer to really enter the suspend state
because it will break the kdump with a call trace like below.

  Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP
  Modules linked in: sch_fq_codel
  CPU: 3 PID: 3772 Comm: sh Kdump: loaded Not tainted 5.4.87-yocto-standard #1
  Hardware name: Freescale i.MX8QM MEK (DT)
  pstate: 4085 (nZcv daIf -PAN -UAO)
  pc : imx_irqsteer_irq_mask+0x50/0x90
  lr : imx_irqsteer_irq_mask+0x40/0x90
  sp : 800014b7b9e0
  x29: 800014b7b9e0 x28: 0008e580
  x27:  x26: 
  x25: 0007 x24: 800011513398
  x23: 800014b7ba88 x22: 0008ef1fadd8
  x21: 0008ef1fac80 x20: 0008eecd8858
  x19: 0001 x18: 0020
  x17:  x16: 
  x15: 0008e5800470 x14: 8085
  x13: 800010192a48 x12: 800011ed8000
  x11: 800011ed8b50 x10: 000c01d2
  x9 : 2769dc82 x8 : 84ab
  x7 : 800011ed8b68 x6 : 0001
  x5 : 16f0f41b x4 : 8889
  x3 : 800013677000 x2 : 800013677004
  x1 : 0080 x0 : 0080
  Call trace:
   imx_irqsteer_irq_mask+0x50/0x90
   machine_crash_shutdown+0xb4/0x10c
   __crash_kexec+0x78/0x12c
   panic+0x180/0x370
   sysrq_handle_reboot+0x0/0x3c
   __handle_sysrq+0xf0/0x1d0
   write_sysrq_trigger+0xac/0xcc
   proc_reg_write+0x8c/0x110
   __vfs_write+0x4c/0x90
   vfs_write+0xe8/0x1d0
   ksys_write+0x7c/0x104
   __arm64_sys_write+0x28/0x3c
   el0_svc_common.constprop.0+0x7c/0x1b4
   el0_svc_handler+0x54/0xc0
   el0_svc+0x8/0x204
  Code: f94092a3 531e7662 aa0003e1 8b22c062 (b9400040)

So enable the runtime PM with pm_runtime_enable(), but block the suspend of 
irqsteer with pm_runtime_forbid().

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/irqchip/irq-imx-irqsteer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-imx-irqsteer.c 
b/drivers/irqchip/irq-imx-irqsteer.c
index a92110e2077b..311342ae894b 100644
--- a/drivers/irqchip/irq-imx-irqsteer.c
+++ b/drivers/irqchip/irq-imx-irqsteer.c
@@ -273,6 +273,7 @@ static int imx_irqsteer_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, data);
 
pm_runtime_enable(>dev);
+   pm_runtime_forbid(>dev);
 
return 0;
 out:
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13981): 
https://lists.yoctoproject.org/g/linux-yocto/message/13981
Mute This Topic: https://lists.yoctoproject.org/mt/106517207/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 03/14] drm/bridge: it6263: fix a memory leak when application changeset fails

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Changeset application failure should be destroyed

unreferenced object 0x0008f249a980 (size 128):
comm "kworker/2:1", pid 83, jiffies 4294893542 (age 70.832s) hex dump
(first 32 bytes):
  e0 b6 db 11 00 80 ff ff e0 b6 db 11 00 80 ff ff  
  05 00 00 00 00 00 00 00 20 de 44 ff 08 00 ff ff   .D.
backtrace:
  [<716ba1d6>] kmem_cache_alloc_trace+0x198/0x3a4
  [] of_changeset_action+0x44/0xb4
  [<3fae1004>] it6263_probe+0x248/0x4f4
  [<9d4149ff>] i2c_device_probe+0x24c/0x2cc
  [] really_probe+0xec/0x414
  [<453d11fb>] driver_probe_device+0x60/0xf0
  [] __device_attach_driver+0xb0/0x100
  [] bus_for_each_drv+0x8c/0xe0
  [] __device_attach+0xe0/0x180
  [<2d2d1388>] device_initial_probe+0x28/0x34
  [] bus_probe_device+0xa4/0xb0
  [] device_add+0x35c/0x670
  [] device_register+0x2c/0x40
  [] i2c_new_client_device+0x150/0x28c
  [<0505c5a6>] i2c_new_device+0x2c/0x40
  [] of_i2c_register_devices+0xe8/0x180

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/gpu/drm/bridge/it6263.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/it6263.c b/drivers/gpu/drm/bridge/it6263.c
index 3dceaa17c094..b73ea2ff0c1a 100644
--- a/drivers/gpu/drm/bridge/it6263.c
+++ b/drivers/gpu/drm/bridge/it6263.c
@@ -1104,10 +1104,12 @@ static int it6263_probe(struct i2c_client *client)
of_changeset_init();
of_changeset_update_property(, remote_node, prop);
ret = of_changeset_apply();
-   if (!ret)
+   if (!ret) {
+   of_changeset_destroy();
dev_warn(dev,
"Probe failed. Remote port '%s' disabled\n",
remote_node->full_name);
+   }
 
of_node_put(remote_node);
};
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13980): 
https://lists.yoctoproject.org/g/linux-yocto/message/13980
Mute This Topic: https://lists.yoctoproject.org/mt/106517206/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 00/14] Patches for nxp-soc

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Hi Bruce

Please help merge the following 14 patches to linux-yocto
branch v6.6/standard/preempt-rt/nxp-sdk-6.6/nxp-soc & 
v6.6/standard/nxp-sdk-6.6/nxp-soc

Xiaolei Wang (13):
  arm: imx: Enable lpddr3_freq_imx for imx6
  drm/bridge: adv7511: fix a memory leak when application changeset
fails
  drm/bridge: it6263: fix a memory leak when application changeset fails
  irqchip: imx-irqsteer: Block the runtime PM
  ARM: imx: use raw_spin_lock instead of spin_lock
  drm/bridge: adv7533: Limit supported clocks
  video: fbdev: mxc: Release the previously allocated modedb before
parsing edid
  video: sii902x: Fix panic caused by sii902x_read_edid
  video: fbdev: mxc: hdmi: Fix a memory leak in mxc_hdmi_disp_init
  arm: dts: imx6q-sabresd: Enable imx6q pcie
  ARM: imx: use raw_spin_lock instead of spin_lock in gpc.c
  ARM: imx: use raw_spin_lock instead of spin_lock in gpcv2.c
  gpu: imx: dpu: Use raw_spin_lock instead of mutex_lock

Xiaolei Wang via lists.yoctoproject.org (1):
  imx: dpu-blit: Remove GFP_DMA32

 arch/arm/boot/dts/nxp/imx/imx6q-sabresd.dts  |  4 +
 arch/arm/mach-imx/Kconfig|  1 +
 arch/arm/mach-imx/Makefile   |  2 +-
 arch/arm/mach-imx/gpc.c  | 14 +--
 arch/arm/mach-imx/gpcv2.c| 30 +++
 arch/arm/mach-imx/src.c  | 18 ++--
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c |  4 +-
 drivers/gpu/drm/bridge/adv7511/adv7533.c | 31 +++
 drivers/gpu/drm/bridge/it6263.c  |  4 +-
 drivers/gpu/imx/dpu-blit/dpu-blit.c  |  2 +-
 drivers/gpu/imx/dpu/dpu-fetchdecode.c| 94 ++--
 drivers/gpu/imx/dpu/dpu-fetcheco.c   | 56 ++--
 drivers/gpu/imx/dpu/dpu-fetchlayer.c | 48 +-
 drivers/gpu/imx/dpu/dpu-fetchunit.c  | 44 -
 drivers/gpu/imx/dpu/dpu-fetchwarp.c  | 48 +-
 drivers/irqchip/irq-imx-irqsteer.c   |  1 +
 drivers/video/fbdev/mxc/mxc_edid.c   |  2 +
 drivers/video/fbdev/mxc/mxc_hdmi.c   |  1 +
 drivers/video/fbdev/mxc/mxsfb_sii902x.c  |  2 +-
 include/video/dpu.h  |  2 +-
 20 files changed, 226 insertions(+), 182 deletions(-)

-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13977): 
https://lists.yoctoproject.org/g/linux-yocto/message/13977
Mute This Topic: https://lists.yoctoproject.org/mt/106517203/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 01/14] arm: imx: Enable lpddr3_freq_imx for imx6

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
For imx6 bsp, the SDK actually integrates imx6 config
and imx7 config, so lpddr3_freq_imx is needed when we
use imx6, otherwise it will cause a series of problems,
such as blurred graphics displayed by the display system,
etc., so in order to avoid turning on the CONFIG_SOC_IMX7D and
CONFIG_SOC_IMX7ULP options, and enable lpddr3_freq_imx on imx6.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/Kconfig  | 1 +
 arch/arm/mach-imx/Makefile | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 4dc5bce35791..fddc5c7770c6 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -148,6 +148,7 @@ config SOC_IMX6
select HAVE_IMX_MMDC
select HAVE_IMX_SRC
select MFD_SYSCON
+   select HAVE_IMX_DDRC
select PL310_ERRATA_769419 if CACHE_L2X0
 
 config SOC_IMX6Q
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 29d8770923ef..92195d9726d3 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -71,7 +71,7 @@ AFLAGS_lpddr2_freq_imx6sll.o :=-Wa,-march=armv7-a
 AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a
 
 ifeq ($(CONFIG_SUSPEND),y)
-obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
+obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o lpddr3_freq_imx.o 
 obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
 obj-$(CONFIG_SOC_IMX7ULP) += suspend-imx7ulp.o
 endif
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13978): 
https://lists.yoctoproject.org/g/linux-yocto/message/13978
Mute This Topic: https://lists.yoctoproject.org/mt/106517204/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 02/14] drm/bridge: adv7511: fix a memory leak when application changeset fails

2024-06-05 Thread Xiaolei Wang via lists.yoctoproject.org
Changeset application failure should be destroyed

unreferenced object 0x0008f2656480 (size 128):
  comm "kworker/2:1", pid 83, jiffies 4294893570 (age 70.724s)
  hex dump (first 32 bytes):
c0 b6 db 11 00 80 ff ff c0 b6 db 11 00 80 ff ff  
02 00 00 00 00 00 00 00 28 9e 45 ff 08 00 ff ff  (.E.
  backtrace:
[<716ba1d6>] kmem_cache_alloc_trace+0x198/0x3a4
[] of_changeset_action+0x44/0xb4
[] adv7511_probe+0x8c4/0x948
[<9d4149ff>] i2c_device_probe+0x24c/0x2cc
[] really_probe+0xec/0x414
[<453d11fb>] driver_probe_device+0x60/0xf0
[] __device_attach_driver+0xb0/0x100
[] bus_for_each_drv+0x8c/0xe0
[] __device_attach+0xe0/0x180
[<2d2d1388>] device_initial_probe+0x28/0x34
[] bus_probe_device+0xa4/0xb0
[] device_add+0x35c/0x670
[] device_register+0x2c/0x40
[] i2c_new_client_device+0x150/0x28c
[<0505c5a6>] i2c_new_device+0x2c/0x40
[] of_i2c_register_devices+0xe8/0x180

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c 
b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index 36651170fb64..dca305804772 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -1434,10 +1434,12 @@ static int adv7511_probe(struct i2c_client *i2c)
of_changeset_init();
of_changeset_detach_node(, endpoint);
ret = of_changeset_apply();
-   if (!ret)
+   if (!ret) {
+   of_changeset_destroy(); 
dev_warn(dev,
 "Probe failed. Remote port '%s' disabled\n",
 remote_node->full_name);
+   }
 #endif
 
return ret;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13979): 
https://lists.yoctoproject.org/g/linux-yocto/message/13979
Mute This Topic: https://lists.yoctoproject.org/mt/106517205/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] net: Add judgment on fast_raw_socket_fd

2024-05-20 Thread Xiaolei Wang via lists.yoctoproject.org
A bug was introduced by commit 20932f1f83d3 ("fec_ecat: add fec native
driver for raw packet proto"). When both fd and fast_raw_socket_fd are
-1, the fast_raw_socket_dev would be null, then it will perform a null
pointer operation and causes the following oops. The fast_raw_socket_dev
is only set to a valid value when fast_raw_socket_fd is not -1. So add a
check for fast_raw_socket_fd before invoking
fast_raw_socket_dev->netdev_ops->ndo_fast_recv().

Unable to handle kernel NULL pointer dereference at virtual address 
00d8
Mem abort info:
  ESR = 0x9605
  EC = 0x25: DABT (current EL), IL = 32 bits
Mem abort info:
  ESR = 0x9605
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x05: level 1 translation fault
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x05: level 1 translation fault
Data abort info:
  ISV = 0, ISS = 0x0005
Data abort info:
  ISV = 0, ISS = 0x0005
  CM = 0, WnR = 0
  CM = 0, WnR = 0
user pgtable: 4k pages, 39-bit VAs, pgdp=8aa5
user pgtable: 4k pages, 39-bit VAs, pgdp=84314000
[00d8] pgd=, p4d=, 
pud=
[00d8] pgd=, p4d=, 
pud=
Internal error: Oops: 9605 [#1] PREEMPT SMP

Fixes: 20932f1f83d3("fec_ecat: add fec native driver for raw packet proto")
Signed-off-by: Xiaolei Wang 
---
 net/socket.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/socket.c b/net/socket.c
index 4fc1e256d0f3..94ff9a5430aa 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2209,7 +2209,7 @@ int __sys_recvfrom(int fd, void __user *ubuf, size_t 
size, unsigned int flags,
int err, err2;
int fput_needed;
 
-   if (fd == fast_raw_socket_fd) {
+   if (fd == fast_raw_socket_fd && fast_raw_socket_fd != -1) {
err = 
fast_raw_socket_dev->netdev_ops->ndo_fast_recv(fast_raw_socket_dev, ubuf, size, 
addr, addr_len);
return err;
}
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13946): 
https://lists.yoctoproject.org/g/linux-yocto/message/13946
Mute This Topic: https://lists.yoctoproject.org/mt/106199626/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] soc: imx8mp: place read register before clk_disable_unprepare()

2024-05-16 Thread Xiaolei Wang via lists.yoctoproject.org
commit 328efccc7847 ("soc: imx8m: Enable OCOTP clock for imx8mm
before reading registers") has re-enabled the clock, so reading
the registers needs to be done before clk_disable_unprepare(),
otherwise the kernel will hang.

Fixes a3985483e7f1 ("LF-9486 soc: imx8mp: support 128 bits UID")
Signed-off-by: Xiaolei Wang 
---
 drivers/soc/imx/soc-imx8m.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/soc/imx/soc-imx8m.c b/drivers/soc/imx/soc-imx8m.c
index 466b95242b3e..8217361ad232 100644
--- a/drivers/soc/imx/soc-imx8m.c
+++ b/drivers/soc/imx/soc-imx8m.c
@@ -135,15 +135,15 @@ static void __init imx8mm_soc_uid(void)
soc_uid <<= 32;
soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW + offset);
 
-   clk_disable_unprepare(clk);
-   clk_put(clk);
-
if (offset) {
soc_uid_h = readl_relaxed(ocotp_base + IMX8MP_OCOTP_UID_HIGH + 
0x10);
soc_uid_h <<= 32;
soc_uid_h |= readl_relaxed(ocotp_base + IMX8MP_OCOTP_UID_HIGH);
}
 
+   clk_disable_unprepare(clk);
+   clk_put(clk);
+
iounmap(ocotp_base);
of_node_put(np);
 }
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13942): 
https://lists.yoctoproject.org/g/linux-yocto/message/13942
Mute This Topic: https://lists.yoctoproject.org/mt/106136196/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] ethosu: Use GFP_ATOMIC instead of GFP_KERNEL

2024-05-15 Thread Xiaolei Wang via lists.yoctoproject.org
Atomic operations should be employed within rwlock, hence GFP_ATOMIC
is utilized instead of GFP_KERNEL. This ensures the avoidance of the
subsequent call trace and prevents potential misinterpretation of NPU
performance degradation during testing.

BUG: sleeping function called from invalid context at 
include/linux/sched/mm.h:274
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 529, name: python3
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
Preemption disabled at:
[] ethosu_rpmsg_register+0x24/0x64
CPU: 1 PID: 529 Comm: python3 Tainted: G C 
6.1.90-yocto-standard #1
Hardware name: NXP i.MX93 11X11 EVK board (DT)
Call trace:
 dump_backtrace.part.0+0xc8/0xd4
 show_stack+0x20/0x30
 dump_stack_lvl+0x6c/0x88
 dump_stack+0x18/0x34
 __might_resched+0x154/0x1c0
 __might_sleep+0x54/0xa4
 kmem_cache_alloc+0x458/0x630
 radix_tree_node_alloc.constprop.0+0x54/0x110
 idr_get_free+0x22c/0x2b0
 idr_alloc_u32+0x70/0x100
 idr_alloc_cyclic+0x6c/0xf0
 ethosu_rpmsg_register+0x3c/0x64
 ethosu_inference_create+0xc0/0x2a4
 ethosu_network_ioctl+0xd4/0x2a0
 __arm64_sys_ioctl+0xb4/0x100

Signed-off-by: Xiaolei Wang 
---
 drivers/staging/ethosu/ethosu_rpmsg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/ethosu/ethosu_rpmsg.c 
b/drivers/staging/ethosu/ethosu_rpmsg.c
index d3e597e82762..f2ab3b366de7 100644
--- a/drivers/staging/ethosu/ethosu_rpmsg.c
+++ b/drivers/staging/ethosu/ethosu_rpmsg.c
@@ -36,7 +36,7 @@ int ethosu_rpmsg_register(struct ethosu_rpmsg *erp,
  struct ethosu_rpmsg_msg *msg)
 {
write_lock(>lock);
-   msg->id = idr_alloc_cyclic(>msg_idr, msg, 0, INT_MAX, GFP_KERNEL);
+   msg->id = idr_alloc_cyclic(>msg_idr, msg, 0, INT_MAX, GFP_ATOMIC);
write_unlock(>lock);
if (msg->id < 0)
return msg->id;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13938): 
https://lists.yoctoproject.org/g/linux-yocto/message/13938
Mute This Topic: https://lists.yoctoproject.org/mt/106112654/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH] arm64: dts: imx93-11x11-evk: Use "alloc-ranges" + "size" instead of "reg" for the eth

2024-05-12 Thread Xiaolei Wang via lists.yoctoproject.org
Reserve memory defined through "reg" is unconditionally set as reserve
memory, so these reserve memory regions can also be successfully set in
the crash kernel. However, if they are also used as CMA memory and
their starting addresses are not within the accessible range of the
crash kernel, it will cause the following memory access exception.
On the other hand, reserve memory defined through the combination of
"alloc-ranges" and "size" will be allocated from the memory space
accessible to the current kernel. If there is no memory that meets the
corresponding restriction conditions, allocation will fail, thus
avoiding the memory access exception mentioned earlier. For the crash
kernel, it is acceptable for allocation of reserve memory to fail in
such cases.

At the same time, verify the npu working problem through python3 label_image.py
-d /usr/lib64/libethosu_delegate.so -i grace_hopper.bmp -l labels.txt. No
exceptions have been found yet

Unable to handle kernel paging request at virtual address fffe
Mem abort info:
  ESR = 0x9606
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x06: level 2 translation fault
Data abort info:
  ISV = 0, ISS = 0x0006
  CM = 0, WnR = 0
swapper pgtable: 4k pages, 39-bit VAs, pgdp=defd8000
[fffe] pgd=1000fd4a7003, p4d=1000fd4a7003, 
pud=1000fd4a7003, pmd=
Internal error: Oops: 9606 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Tainted: GW  
6.1.83-yocto-standard #1
Hardware name: NXP i.MX93 11X11 EVK board (DT)
pstate: 0049 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : cma_init_reserved_areas+0xb4/0x24c
lr : cma_init_reserved_areas+0x88/0x24c
sp : ffc00b32bd40
x29: ffc00b32bd40 x28: 0680 x27: fffe
x26: ffc009866078 x25: ffc00974e5e8 x24: ffc00b2b9d70
x23:  x22: ffc00b2b9dd8 x21: 000c
x20: ffc0098f6008 x19: ffc00b2b9d70 x18: fffd
x17: 20647261646e6174 x16: 732d6f74636f792d x15: ffc00b32b2e0
x14:  x13: 303278302f303178 x12: 302b6b726f665f6d
x11: 656572665f74696e x10: 0004 x9 : ffc00919c8f4
x8 : ff80214f8000 x7 : d6d64d8a x6 : d0855cef
x5 : 00ff x4 : 0001 x3 : ffc0098f6008
x2 : 0001 x1 : ffc00a125700 x0 : 
Call trace:
 cma_init_reserved_areas+0xb4/0x24c
 do_one_initcall+0xb0/0x33c
 kernel_init_freeable+0x2d4/0x344
 kernel_init+0x30/0x140
 ret_from_fork+0x10/0x20

Signed-off-by: Xiaolei Wang 
---
 arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts 
b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index d58bce2a86e2..50822162bf9a 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -36,7 +36,8 @@ linux,cma {
ethosu_mem: ethosu_region@C000 {
compatible = "shared-dma-pool";
reusable;
-   reg = <0x0 0xC000 0x0 0x1000>;
+   alloc-ranges = <0 0xB000 0 0x2000>;
+   size = <0 0x1000>;
};
 
vdev0vring0: vdev0vring0@a400 {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13929): 
https://lists.yoctoproject.org/g/linux-yocto/message/13929
Mute This Topic: https://lists.yoctoproject.org/mt/10600/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx9: Enable RTC_DRV_BBNSM for nxp-imx9

2024-05-08 Thread Xiaolei Wang via lists.yoctoproject.org
Enable RTC_DRV_BBNSM for nxp-imx9.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index d68b93be..4726803b 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -487,6 +487,7 @@ CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_IMX_SC=y
 CONFIG_RTC_DRV_IMX_RPMSG=y
 CONFIG_RTC_DRV_SNVS=y
+CONFIG_RTC_DRV_BBNSM=y
 
 #
 # DMA Devices
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13924): 
https://lists.yoctoproject.org/g/linux-yocto/message/13924
Mute This Topic: https://lists.yoctoproject.org/mt/105995051/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] soc: imx9: free buf in imx9_soc_device_register()

2024-05-07 Thread Xiaolei Wang via lists.yoctoproject.org
Free unused buffer to avoid memory leak in imx9_soc_device_register().

unreferenced object 0xff8009215180 (size 128):
   comm "(udev-worker)", pid 309, jiffies 4294901878 (age 65.740s)
   hex dump (first 32 bytes):
 6c d3 c9 a7 8d 1c 40 bb b4 b8 63 8a 4b 1d 3d cc l.@...c.K.=.
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   backtrace:
 [] __kmem_cache_alloc_node+0x240/0x330
 [] __kmalloc+0x68/0x10c
 [<66f93058>] nvmem_cell_read+0x40/0xe0
 [<4e1a073b>] imx9_init_soc_probe+0x184/0x2fc [soc_imx9]
 [] platform_probe+0x70/0xcc
 [] really_probe+0xc4/0x2e0
 [<043f6f98>] __driver_probe_device+0x80/0x120
 [<7de67432>] driver_probe_device+0x48/0x124
 [<85d153a6>] __driver_attach+0xa4/0x1bc
 [<319009c3>] bus_for_each_dev+0x80/0xe0
 [<6c7d6c30>] driver_attach+0x2c/0x3c
 [] bus_add_driver+0x15c/0x210
 [] driver_register+0x80/0x13c
 [] __platform_driver_register+0x30/0x40
 [<095e0d10>] 0xffc0012d8028
 [<7dc559b3>] do_one_initcall+0xb0/0x33c

Signed-off-by: Xiaolei Wang 
---
 drivers/soc/imx/soc-imx9.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/imx/soc-imx9.c b/drivers/soc/imx/soc-imx9.c
index 517e45923a1f..4d0cf15ad8bc 100644
--- a/drivers/soc/imx/soc-imx9.c
+++ b/drivers/soc/imx/soc-imx9.c
@@ -76,6 +76,7 @@ static int imx9_soc_device_register(struct device *dev)
nvmem_cell_put(cell);
 
memcpy(v, buf, min(len, sizeof(v)));
+   kfree(buf);
attr->serial_number = kasprintf(GFP_KERNEL, "%08x%08x%08x%08x", v[0], 
v[1], v[2], v[3]);
 
if (DIGPROG_MAJOR_UPPER(device_id) == 0x9 && 
DIGPROG_MAJOR_LOWER(device_id) == 0x2) {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13896): 
https://lists.yoctoproject.org/g/linux-yocto/message/13896
Mute This Topic: https://lists.yoctoproject.org/mt/105956992/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx9: Enable VIDEO_AP1302

2024-04-20 Thread Xiaolei Wang via lists.yoctoproject.org
Enable VIDEO_AP1302 for imx93, since 
ap1302_60fps_ar0144_27M_2Lane_awb_tuning.bin
firmware needs to be loaded, build it as a module

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 5e4cd6dc..d68b93be 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -251,6 +251,7 @@ CONFIG_MXC_CAMERA_OV5640_MIPI_V2=y
 #
 CONFIG_VIDEO_IMX8_JPEG=m
 CONFIG_VIDEO_OV5640=y
+CONFIG_VIDEO_AP1302=m
 
 #
 # Graphics support
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13844): 
https://lists.yoctoproject.org/g/linux-yocto/message/13844
Mute This Topic: https://lists.yoctoproject.org/mt/105646492/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx9: Enable GPIO_VF610 for nxp-imx9

2024-04-16 Thread Xiaolei Wang via lists.yoctoproject.org
Enable GPIO_VF610 for nxp-imx9.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 8654f93c..5e4cd6dc 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -86,6 +86,7 @@ CONFIG_REGULATOR_PCA9450=y
 CONFIG_REGULATOR_PFUZE100=y
 CONFIG_REGULATOR_PWM=y
 CONFIG_PWM_ADP5585=y
+CONFIG_GPIO_VF610=y
 
 #
 # MMC Driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13823): 
https://lists.yoctoproject.org/g/linux-yocto/message/13823
Mute This Topic: https://lists.yoctoproject.org/mt/105553457/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 2/2] tty: serial: fsl_lpuart: use del_timer_sync() instead of lpuart_del_timer_sync()

2024-04-13 Thread Xiaolei Wang via lists.yoctoproject.org
Replace lpuart_del_timer_sync() with del_timer_sync() to avoid build
errors, which were introduced by commit b7f2b65538dd ("LF-9506-1 tty:
serial: fsl_lpuart: clean up EOP related code in lpuart driver")

Signed-off-by: Xiaolei Wang 
---
 drivers/tty/serial/fsl_lpuart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index 51112b27bb42..544bff231164 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -1964,7 +1964,7 @@ static void lpuart_dma_shutdown(struct lpuart_port *sport)
if (sport->dma_tx_chan)
dma_release_channel(sport->dma_tx_chan);
if (sport->dma_rx_chan) {
-   lpuart_del_timer_sync(sport);
+   del_timer_sync(>lpuart_timer);
dma_release_channel(sport->dma_rx_chan);
}
 }
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13807): 
https://lists.yoctoproject.org/g/linux-yocto/message/13807
Mute This Topic: https://lists.yoctoproject.org/mt/105510456/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 1/2] soc: imx: add character 't' for SOC_DEV_IMX9

2024-04-13 Thread Xiaolei Wang via lists.yoctoproject.org
commit 75e1b1be1109 ("LF-9535 soc: imx: split i.MX93 SoC device support
from soc-imx8m.c") is missing the character 't' during the backport
process, so add it.

Signed-off-by: Xiaolei Wang 
---
 drivers/soc/imx/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
index 2445e0d0f419..4259381b8aa1 100644
--- a/drivers/soc/imx/Kconfig
+++ b/drivers/soc/imx/Kconfig
@@ -28,7 +28,7 @@ config IMX8M_PM_DOMAINS
select PM_GENERIC_DOMAINS
 
 config SOC_DEV_IMX9
-   ristate "i.MX9 SoC device support"
+   tristate "i.MX9 SoC device support"
depends on ARCH_MXC || COMPILE_TEST
depends on NVMEM_IMX_OCOTP_FSB_S400
default ARCH_MXC && ARM64
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13806): 
https://lists.yoctoproject.org/g/linux-yocto/message/13806
Mute This Topic: https://lists.yoctoproject.org/mt/105510455/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [linux-yocto std kernel]: update std kernel for nxp-imx9

2024-04-11 Thread Xiaolei Wang via lists.yoctoproject.org
Hi bruce

Would you please help to  merge the following patch into branch:

v6.1/standard/nxp-sdk-6.1/nxp-soc

for nxp-imx9 bsp?

The following changes since commit 93c514e7433e49536a23abaca358935674922bad:

  arm64: dts: fix ecspi2 dts node (2024-03-22 11:48:47 +0800)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 02fe605dcc348f36559b8ce4833cece1f1f65224:

  LF-10611 arm64: dts: imx8mq-evk-rpmsg: fix CMA memory reservation fail 
(2024-04-12 09:07:33 +0800)


Alexander Sverdlin (1):
  LF-9506-2 tty: serial: fsl_lpuart: fix race on RX DMA shutdown

Alice Guo (7):
  LF-9535 soc: imx: split i.MX93 SoC device support from soc-imx8m.c
  LF-9476-1 ele_base_msg: handle common fuse with special id
  LF-9476-2 nvmem: imx: update read_common_fuse with special ID
  LF-9476-3 nvmem: imx: update i.MX93 fuse read driver
  LF-9646-1: soc: imx: remove the part related to i.MX9 from soc-imx8m.c
  LF-9646-2 soc: imx9: i.MX91P reuses i.MX93 SoC driver
  LF-10365 nvmem: imx: i.MX8ULP: update fsb_bank_reg of imx8ulp_fsb_s400_hw

Alice Yuan (4):
  LF-9127-1: arm64: dtsi: imx8ulp: Support suspend/resume when camera is 
running
  LF-9127-2: media: csi: Support suspend/resume when camera is running
  LF-9127-3: media: isi: support suspend/resume when camera is running
  LF-9638 media: isi: Fix the isi-m2m play hang if convert format

Andrew Lunn (1):
  net: mdio: Add dedicated C45 API to MDIO bus drivers

Andy Shevchenko (1):
  device property: Introduce fwnode_device_is_compatible() helper

Apeksha Gupta (1):
  net/fec-uio: Fixed error handling

Camelia Groza (16):
  net: phy: aquantia: Add support for AQR115
  net: sdk_fman: macsec: check the return value of FM_MAC_GetId
  net: sdk_fman: macsec: free locks on error paths
  net: sdk_fman: fm_cc: free resources on MatchTableSet error path
  net: sdk_fman: fm_manip: initialize prsArrayOffset
  net: sdk_fman: fm_manip: release the p_Manip spinlock on error
  net: sdk_fman: wrapper: check the return value of FM_CtrlMonGetCounters
  fsl_qbman: check qman_ccsrmempeek's return value
  net: sdk_fman: cleanup memory on fm_port_probe error paths
  net: sdk_fman: cleanup memory on fm_probe error paths
  net: sdk_fman: initialize variables before use
  net: sdk_fman: cleanup SP memory on FM_Config errors
  net: sdk_fman: cleanup resources if HashTableSet fails
  soc: fsl: qbman: check kzalloc return value
  net: fman: fix variable type
  net: sdk_fman: avoid division by zero

Carlos Song (4):
  MLK-26127-1 arm64: dts: imx91p-9x9-qsb: add lpspi master support
  MLK-26127-2 arm64: dts: imx91p-9x9-qsb: add lpspi slave support
  LF-9490 arm64: dts: imx93: enable eDMA for lpspi devices
  LF-9692 arm64: dts: imx91p-11x11-evk: Add lpspi support

Chancel Liu (18):
  LF-9256: arm64: dts: imx93-11x11-evk-rpmsg: Disable unavailable devices
  MLK-26119: arm64: dts: imx91p-9x9-qsb-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-9645-1: arm64: dts: imx91p-11x11-evk-mqs: Add a new DT to support MQS
  LF-9645-2: arm64: dts: imx91p-11x11-evk-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-9688-1: arm64: dts: imx93-9x9-qsb-rpmsg: Add a DT to support LPA
  LF-9688-2: arm64: dts: imx93-9x9-qsb-rpmsg-lpv: Add a DT to support LPV
  LF-9708: arm64: dts: imx93-9x9-qsb-aud-hat: Use RPI 3v3 and 5v regulator
  ASoC: fsl_micfil: Add new registers and new bit definition
  ASoC: fsl_micfil: Add fsl_micfil_use_verid function
  ASoC: fsl_micfil: Use SET_SYSTEM_SLEEP_PM_OPS to simplify PM
  LF-9333: ASoC: fsl_rpmsg: Move MCLK control to runtime suspend/resume 
phase
  Revert "LF-9333: ASoC: fsl_rpmsg: Move MCLK control to runtime 
suspend/resume phase"
  LF-9368: arm64: dts: imx93-11x11-evk-rpmsg: Enable dynamic buffer size 
for i2c-rpmsg
  LF-9910-1: arm64: dts: imx8m: Let WM8524 driver constrain supported rate
  LF-9910-2: Revert "LF-6278-2: ASoC: fsl_rpmsg: Constrain rates of wm8524 
codec"
  ASoC: soc-pcm.c: Clear DAIs parameters after stream_active is updated
  ASoC: soc-pcm.c: Make sure DAI parameters cleared if the DAI becomes 
inactive
  LF-9973-7: arm64: dts: imx93: add fsl,sai-mclk-direction-output

Clark Wang (6):
  MLK-26126 arm64: dts: imx91p-9x9-qsb: add i3c support
  LF-9574-1 nvmem: imx: change the unit of offset
  LF-9574-2 arm64: dts: imx93: correct the offset of soc-uid
  LF-9584-1 nvmem: imx: add the function of swapping 6bytes of MAC address
  LF-9584-3 arm64: dts: ims93: add nvmem support for eqos
  LF-9690 arm64: dts: imx91p-11x11-evk: Add i3c support

Colin Foster (2):
  net: mscc: ocelot: expose generic phylink_mac_config routine
  net: mscc: ocelot: expose serdes 

[linux-yocto] [linux-yoct rt kernel]: update rt kernel for nxp-imx9

2024-04-11 Thread Xiaolei Wang via lists.yoctoproject.org
Hi bruce

Would you please help to  merge the following patch into branch:

v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

for nxp-imx9 bsp?

The following changes since commit 6d570a6b9d2e8aaabc5e7d461334974b9574b386:

  arm64: dts: fix ecspi2 dts node (2024-03-22 11:52:56 +0800)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 0320eb876394b7cfd7cd57e1b8be3ea3408e8bcd:

  LF-10611 arm64: dts: imx8mq-evk-rpmsg: fix CMA memory reservation fail 
(2024-04-12 09:19:35 +0800)


Alexander Sverdlin (1):
  LF-9506-2 tty: serial: fsl_lpuart: fix race on RX DMA shutdown

Alice Guo (7):
  LF-9535 soc: imx: split i.MX93 SoC device support from soc-imx8m.c
  LF-9476-1 ele_base_msg: handle common fuse with special id
  LF-9476-2 nvmem: imx: update read_common_fuse with special ID
  LF-9476-3 nvmem: imx: update i.MX93 fuse read driver
  LF-9646-1: soc: imx: remove the part related to i.MX9 from soc-imx8m.c
  LF-9646-2 soc: imx9: i.MX91P reuses i.MX93 SoC driver
  LF-10365 nvmem: imx: i.MX8ULP: update fsb_bank_reg of imx8ulp_fsb_s400_hw

Alice Yuan (4):
  LF-9127-1: arm64: dtsi: imx8ulp: Support suspend/resume when camera is 
running
  LF-9127-2: media: csi: Support suspend/resume when camera is running
  LF-9127-3: media: isi: support suspend/resume when camera is running
  LF-9638 media: isi: Fix the isi-m2m play hang if convert format

Andrew Lunn (1):
  net: mdio: Add dedicated C45 API to MDIO bus drivers

Andy Shevchenko (1):
  device property: Introduce fwnode_device_is_compatible() helper

Apeksha Gupta (1):
  net/fec-uio: Fixed error handling

Camelia Groza (16):
  net: phy: aquantia: Add support for AQR115
  net: sdk_fman: macsec: check the return value of FM_MAC_GetId
  net: sdk_fman: macsec: free locks on error paths
  net: sdk_fman: fm_cc: free resources on MatchTableSet error path
  net: sdk_fman: fm_manip: initialize prsArrayOffset
  net: sdk_fman: fm_manip: release the p_Manip spinlock on error
  net: sdk_fman: wrapper: check the return value of FM_CtrlMonGetCounters
  fsl_qbman: check qman_ccsrmempeek's return value
  net: sdk_fman: cleanup memory on fm_port_probe error paths
  net: sdk_fman: cleanup memory on fm_probe error paths
  net: sdk_fman: initialize variables before use
  net: sdk_fman: cleanup SP memory on FM_Config errors
  net: sdk_fman: cleanup resources if HashTableSet fails
  soc: fsl: qbman: check kzalloc return value
  net: fman: fix variable type
  net: sdk_fman: avoid division by zero

Carlos Song (4):
  MLK-26127-1 arm64: dts: imx91p-9x9-qsb: add lpspi master support
  MLK-26127-2 arm64: dts: imx91p-9x9-qsb: add lpspi slave support
  LF-9490 arm64: dts: imx93: enable eDMA for lpspi devices
  LF-9692 arm64: dts: imx91p-11x11-evk: Add lpspi support

Chancel Liu (18):
  LF-9256: arm64: dts: imx93-11x11-evk-rpmsg: Disable unavailable devices
  MLK-26119: arm64: dts: imx91p-9x9-qsb-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-9645-1: arm64: dts: imx91p-11x11-evk-mqs: Add a new DT to support MQS
  LF-9645-2: arm64: dts: imx91p-11x11-evk-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-9688-1: arm64: dts: imx93-9x9-qsb-rpmsg: Add a DT to support LPA
  LF-9688-2: arm64: dts: imx93-9x9-qsb-rpmsg-lpv: Add a DT to support LPV
  LF-9708: arm64: dts: imx93-9x9-qsb-aud-hat: Use RPI 3v3 and 5v regulator
  ASoC: fsl_micfil: Add new registers and new bit definition
  ASoC: fsl_micfil: Add fsl_micfil_use_verid function
  ASoC: fsl_micfil: Use SET_SYSTEM_SLEEP_PM_OPS to simplify PM
  LF-9333: ASoC: fsl_rpmsg: Move MCLK control to runtime suspend/resume 
phase
  Revert "LF-9333: ASoC: fsl_rpmsg: Move MCLK control to runtime 
suspend/resume phase"
  LF-9368: arm64: dts: imx93-11x11-evk-rpmsg: Enable dynamic buffer size 
for i2c-rpmsg
  LF-9910-1: arm64: dts: imx8m: Let WM8524 driver constrain supported rate
  LF-9910-2: Revert "LF-6278-2: ASoC: fsl_rpmsg: Constrain rates of wm8524 
codec"
  ASoC: soc-pcm.c: Clear DAIs parameters after stream_active is updated
  ASoC: soc-pcm.c: Make sure DAI parameters cleared if the DAI becomes 
inactive
  LF-9973-7: arm64: dts: imx93: add fsl,sai-mclk-direction-output

Clark Wang (6):
  MLK-26126 arm64: dts: imx91p-9x9-qsb: add i3c support
  LF-9574-1 nvmem: imx: change the unit of offset
  LF-9574-2 arm64: dts: imx93: correct the offset of soc-uid
  LF-9584-1 nvmem: imx: add the function of swapping 6bytes of MAC address
  LF-9584-3 arm64: dts: ims93: add nvmem support for eqos
  LF-9690 arm64: dts: imx91p-11x11-evk: Add i3c support

Colin Foster (2):
  net: mscc: ocelot: expose generic phylink_mac_config routine
  net: mscc: 

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/1] nxp-imx9: Enable Arm ETHOS NPU

2024-04-02 Thread Xiaolei Wang via lists.yoctoproject.org
Enable Arm ETHOS NPU.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 5 +
 1 file changed, 5 insertions(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 8ad37abb..8654f93c 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -284,6 +284,11 @@ CONFIG_DRM_ITE_IT6263=y
 #
 CONFIG_MXC_GPU_VIV=y
 
+#
+# Arm Ethos-U NPU
+#
+CONFIG_ETHOSU=y
+
 #
 # I2C encoder or helper chips
 #
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13767): 
https://lists.yoctoproject.org/g/linux-yocto/message/13767
Mute This Topic: https://lists.yoctoproject.org/mt/105302004/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] fec_ecat: Fix build warning in fec_ecat.c

2024-03-28 Thread Xiaolei Wang via lists.yoctoproject.org
commit ("fec_ecat: add fec native driver for raw packet prot"),
introduced many warnings, which comes from the SDK, Since too
many warnings are introduced by this file, this patch fixes all
warnings.

Signed-off-by: Xiaolei Wang 
---
 drivers/net/ethernet/freescale/fec_ecat.c | 131 ++
 1 file changed, 7 insertions(+), 124 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_ecat.c 
b/drivers/net/ethernet/freescale/fec_ecat.c
index 86eb3341105b..06e0b22e710d 100644
--- a/drivers/net/ethernet/freescale/fec_ecat.c
+++ b/drivers/net/ethernet/freescale/fec_ecat.c
@@ -316,15 +316,6 @@ static int fec_enet_get_bd_index(struct bufdesc *bdp,
return ((const char *)bdp - (const char *)bd->base) >> bd->dsize_log2;
 }
 
-static void swap_buffer(void *bufaddr, int len)
-{
-   int i;
-   unsigned int *buf = bufaddr;
-
-   for (i = 0; i < len; i += 4, buf++)
-   swab32s(buf);
-}
-
 static void swap_buffer2(void *dst_buf, void *src_buf, int len)
 {
int i;
@@ -383,7 +374,8 @@ static int fec_ecat_txq_submit_buff(struct 
fec_enet_priv_tx_q *txq,
skb = txq->tx_skbuff[index];
bufaddr = skb->data;
buflen = len;
-   copy_from_user(skb->data, buff, len);
+   if(copy_from_user(skb->data, buff, len))
+   return -EFAULT;
bdp->cbd_datlen = cpu_to_fec16(buflen);
/* Push the data cache so the CPM does not get stale memory data. */
dma_sync_single_for_device(>pdev->dev,
@@ -424,7 +416,6 @@ static void fec_ecat_tx_queue(struct net_device *ndev)
struct bufdesc *bdp;
unsigned short status;
struct fec_enet_priv_tx_q *txq = fep->tx_queue;
-   int index = 0;
 
/* get next bdp of dirty_tx */
bdp = txq->dirty_tx;
@@ -487,7 +478,6 @@ static void fec_enet_bd_init(struct net_device *dev)
struct fec_enet_priv_rx_q *rxq = fep->rx_queue;
struct bufdesc *bdp;
int i;
-   struct  sk_buff *skb;
 
/* Initialize the receive buffer descriptors. */
bdp = rxq->bd.base;
@@ -713,44 +703,6 @@ static int fec_enet_ipc_handle_init(struct 
fec_enet_private *fep)
return imx_scu_get_handle(>ipc_handle);
 }
 
-static void fec_enet_ipg_stop_set(struct fec_enet_private *fep, bool enabled)
-{
-   struct device_node *np = fep->pdev->dev.of_node;
-   u32 rsrc_id, val;
-   int idx;
-
-   if (!np || !fep->ipc_handle)
-   return;
-
-   idx = of_alias_get_id(np, "ethernet");
-   if (idx < 0)
-   idx = 0;
-   rsrc_id = idx ? IMX_SC_R_ENET_1 : IMX_SC_R_ENET_0;
-
-   val = enabled ? 1 : 0;
-   imx_sc_misc_set_control(fep->ipc_handle, rsrc_id, IMX_SC_C_IPG_STOP, 
val);
-}
-
-static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled)
-{
-   struct fec_platform_data *pdata = fep->pdev->dev.platform_data;
-   struct fec_stop_mode_gpr *stop_gpr = >stop_gpr;
-
-   if (stop_gpr->gpr) {
-   if (enabled)
-   regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
-  BIT(stop_gpr->bit),
-  BIT(stop_gpr->bit));
-   else
-   regmap_update_bits(stop_gpr->gpr, stop_gpr->reg,
-  BIT(stop_gpr->bit), 0);
-   } else if (pdata && pdata->sleep_mode_enable) {
-   pdata->sleep_mode_enable(enabled);
-   } else {
-   fec_enet_ipg_stop_set(fep, enabled);
-   }
-}
-
 static inline void fec_irqs_disable(struct net_device *ndev)
 {
struct fec_enet_private *fep = netdev_priv(ndev);
@@ -762,7 +714,6 @@ static void
 fec_stop(struct net_device *ndev)
 {
struct fec_enet_private *fep = netdev_priv(ndev);
-   u32 rmii_mode = readl(fep->hwp + FEC_R_CNTRL) & (1 << 8);
 
/* We cannot expect a graceful transmit stop without link !!! */
if (fep->link) {
@@ -821,7 +772,6 @@ static int fec_ecat_recv_from_queue(struct net_device 
*ndev, void __user *buff,
int recv_len = 0;
int index = 0;
boolneed_swap = fep->quirks & FEC_QUIRK_SWAP_FRAME;
-   int ret = 0;
 
 #ifdef CONFIG_M532x
flush_cache_all();
@@ -885,7 +835,8 @@ static int fec_ecat_recv_from_queue(struct net_device 
*ndev, void __user *buff,
if (data[12] ==0x88 && data[13] ==0xa4) {
len = len < pkt_len? len : pkt_len;
if (!need_swap) {
-   copy_to_user(buff, data, len);
+   if(copy_to_user(buff, data, len))
+   return -EFAULT;
}
else {
swap_buffer2(buff, data, len);
@@ -1661,56 +1612,6 @@ static void fec_enet_get_regs(struct net_device *ndev,
 
 #if !defined(CONFIG_M5272)
 
-static void fec_enet_get_pauseparam(struct net_device 

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 2/3] nxp-imx9: Enable NET_DSA for nxp-imx9

2024-03-26 Thread Xiaolei Wang via lists.yoctoproject.org
Enable NET_DSA for nxp-imx9.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 29c3b8e3..c034cb5c 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -113,6 +113,7 @@ CONFIG_AT803X_PHY=y
 CONFIG_REALTEK_PHY=y
 CONFIG_STMMAC_ETH=y
 CONFIG_FEC_ECAT=y
+CONFIG_NET_DSA=m
 CONFIG_NET_DSA_NETC=m
 CONFIG_NET_DSA_SJA1105=m
 CONFIG_NET_DSA_SJA1105_PTP=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13732): 
https://lists.yoctoproject.org/g/linux-yocto/message/13732
Mute This Topic: https://lists.yoctoproject.org/mt/105158063/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 3/3] nxp-imx9: Delete MXC_CLK_SCU since imx93 does not need this driver

2024-03-26 Thread Xiaolei Wang via lists.yoctoproject.org
MXC_CLK_SCU is specific on imx8, so remove it to avoid warnings

[NOTE]: 'CONFIG_MXC_CLK_SCU' last val (y) and .config val (n) do not match
[INFO]: CONFIG_MXC_CLK_SCU : n
[INFO]: raw config text:

config MXC_CLK_SCU
tristate
depends on COMMON_CLK

Config 'MXC_CLK_SCU' has the following Direct dependencies 
(MXC_CLK_SCU=y):
COMMON_CLK(=y)
Parent dependencies are:
 COMMON_CLK [y]
[INFO]: config 'CONFIG_MXC_CLK_SCU' was set, but it wasn't assignable, 
check (parent) dependencies

[INFO]: selection details for 'CONFIG_MXC_CLK_SCU':
Symbols currently n-selecting this symbol (no effect):
  - CLK_IMX8QXP

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index c034cb5c..8ad37abb 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -511,7 +511,6 @@ CONFIG_DMABUF_HEAPS_DSP=y
 # Clock driver for ARM Reference designs
 #
 CONFIG_MXC_CLK=y
-CONFIG_MXC_CLK_SCU=y
 CONFIG_CLK_IMX93=y
 
 #
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13733): 
https://lists.yoctoproject.org/g/linux-yocto/message/13733
Mute This Topic: https://lists.yoctoproject.org/mt/105158064/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/3] nxp-imx9: Delete IMX_SCU since imx93 does not need this driver

2024-03-26 Thread Xiaolei Wang via lists.yoctoproject.org
IMX_SCU is specific on imx8, so remove it to avoid warnings

[NOTE]: 'CONFIG_PINCTRL_IMX_SCU' last val (y) and .config val (n) do not match
[INFO]: CONFIG_PINCTRL_IMX_SCU : n
[INFO]: raw config text:

config PINCTRL_IMX_SCU
tristate
select PINCTRL_IMX
depends on IMX_SCU && PINCTRL

Config 'PINCTRL_IMX_SCU' has the following Direct dependencies 
(PINCTRL_IMX_SCU=y):
IMX_SCU(=y) && PINCTRL(=y)
Parent dependencies are:
 PINCTRL [y] IMX_SCU [y]
[INFO]: config 'CONFIG_PINCTRL_IMX_SCU' was set, but it wasn't assignable, 
check (parent) dependencies

[INFO]: selection details for 'CONFIG_PINCTRL_IMX_SCU':
Symbols currently n-selecting this symbol (no effect):
  - PINCTRL_IMX8QM
  - PINCTRL_IMX8QXP
  - PINCTRL_IMX8DXL

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 41964ea5..29c3b8e3 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -164,7 +164,6 @@ CONFIG_SPI_SLAVE=y
 CONFIG_PINCTRL=y
 CONFIG_GPIOLIB=y
 CONFIG_PINCTRL_IMX=y
-CONFIG_PINCTRL_IMX_SCU=y
 CONFIG_PINCTRL_IMX93=y
 CONFIG_GPIO_MAX732X=y
 CONFIG_GPIO_PCA953X=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13731): 
https://lists.yoctoproject.org/g/linux-yocto/message/13731
Mute This Topic: https://lists.yoctoproject.org/mt/105158062/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][branch v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 1/2] net: stmmac: Fix build error fpe_cfg undeclared

2024-03-23 Thread Xiaolei Wang via lists.yoctoproject.org
Use priv->plat->fpe_cfg instead of fpe_cfg to avoid fpe_cfg undeclared

Fixes: b102a918b11cb ("net: stmmac: add ethtool preempt support")
Signed-off-by: Xiaolei Wang 
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
index e483caafbdda..7e396b6976e6 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
@@ -1221,7 +1221,7 @@ static int stmmac_set_preempt(struct net_device *dev, 
struct ethtool_fp *fpcmd)
priv->plat->fpe_cfg->enable = 1;
priv->fp_enabled_admin = 1;
}
-   stmmac_fpe_configure(priv, priv->ioaddr, fpe_cfg,
+   stmmac_fpe_configure(priv, priv->ioaddr, priv->plat->fpe_cfg,
 priv->plat->tx_queues_to_use,
 priv->plat->rx_queues_to_use, fpe.enable, );
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13727): 
https://lists.yoctoproject.org/g/linux-yocto/message/13727
Mute This Topic: https://lists.yoctoproject.org/mt/105100743/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][branch v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 2/2] net: stmmac: Fix build error too few parameters

2024-03-23 Thread Xiaolei Wang via lists.yoctoproject.org
Since commit ed7e211b6786 ("net: stmmac: fix FPE events losing")
adds the fpe_cfg parameter, add it to avoid build errors.

error: too few arguments to function 'priv->hw->mac->fpe_send_mpacket'

Signed-off-by: Xiaolei Wang 
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 034ae1dc65ec..859af9117a0f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -958,7 +958,7 @@ static void stmmac_fpe_link_state_handle(struct stmmac_priv 
*priv, bool is_up)
 
if (is_up) {
if (*hs_enable)
-   stmmac_fpe_send_mpacket(priv, priv->ioaddr, 
MPACKET_VERIFY);
+   stmmac_fpe_send_mpacket(priv, priv->ioaddr, fpe_cfg, 
MPACKET_VERIFY);
} else {
*lo_state = FPE_STATE_OFF;
*lp_state = FPE_STATE_OFF;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13728): 
https://lists.yoctoproject.org/g/linux-yocto/message/13728
Mute This Topic: https://lists.yoctoproject.org/mt/105100744/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [linux-yocto std kernel]: Add TSN support for imx9

2024-03-22 Thread Xiaolei Wang via lists.yoctoproject.org
Hi Bruce

Would you please help to  merge the following patch into branch:

v6.1/standard/nxp-sdk-6.1/nxp-soc

for nxp-imx9 bsp?

The following changes since commit b9f1e20c17376d047aa8d6a9f1a06e970da2d1f9:

  Merge branch 'v6.1/standard/base' into v6.1/standard/nxp-sdk-6.1/nxp-soc 
(2024-03-10 23:19:33 -0400)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 93c514e7433e49536a23abaca358935674922bad:

  arm64: dts: fix ecspi2 dts node (2024-03-22 11:48:47 +0800)


Alexandre Howard (8):
  firmware: imx: scu-pd: add power domains for gpt instances in ADMA 
subsystem
  arm64: dts: add node for gpt instance from audio ss for imx8dxl
  arm64: dts: add imx8dxl evk device tree for avb support
  arm64: dts: add tja1100 with avb support device tree for imx8dxl
  net: dsa: sja1105: make hostprio configurable through the dtb
  net: dsa: sja1105: round up tc-cbs idleslope to prevent bandwidth 
under-allocation
  net: sched: sch_cbs: prevent the offloading of erroneous value to tc-cbs
  net: dsa: sja1105: use mqprio mapping to configure port egress pcp mapping

Alison Wang (1):
  ARM: LS1021A: Add platform support for LS1021AIOT in Makefile

Biwen Li (3):
  drivers: tty: support i.MX SRTM protocol(for uart)
  dt-bindings: tty: add rpmsg_tty
  arm64: dts: imx8mm-evk-rpmsg: add uart rpmsg bus

Changming Huang (1):
  ARM: LS1021AIOT: Enable SDHC

Chunguang Li (1):
  rpmsg: add 8M buffer support switch

Colin Ian King (1):
  net: dsa: sja1105: make read-only const arrays static

Cosmin Chenaru (4):
  net: fec: enable RX flushing for Best Effort queue
  net: fec: apply workaround for ERR007885 for normal path too
  net: fec: avb: set RCMR to only match two AVB priority classes
  net: fec: avb: export function to dynamically set the Idle Slope

Hou Zhiqiang (17):
  arm64: dts: imx8mm: Add RPMsg 8M buffer support DTS
  RTC: imx-rpmsg: Add dependency of RPMSG
  mailbox: Fix potential crash caused by channel receive function
  dt-binding: Add binding file for generic software mailbox
  rpmsg: imx_rpmsg: Updated the dependent items in Kconfig
  arm64: dts: imx8mm: Add DTS for RPMSG examples between A cores
  dma-mapping: Respect to device 'dma-coherent' property
  rpmsg: imx: add remove() callback function
  arm64: dts: imx8mm: fix rsc table name
  arm64: dts: imx8mm: fix address unit format of M4 reserved-memory node
  arm64: dts: imx8mp: add dtsi for RPMsg running on CA53
  arm64: dts: imx8mp: add dtsi for the second generic mailbox
  arm64: dts: imx8mp: add dtsi for the second rpmsg slave on CA53
  mailbox: Add generic software mailbox driver
  drivers: rpmsg: add rpmsg_perf driver
  arm64: dts: imx8m: add dtsi for the second generic mailbox
  arm64: dts: imx8m: add dtsi for the second rpmsg slave

Jiafei Pan (3):
  mailbox: gen-sw-mailbox: fix handle sequence
  mailbox: gen-sw-mailbox: add ack option
  drivers: tty: rpmsg_tty: add hello command

Jianchao Wang (4):
  ARM: LS1021AIOT: Add flexcan nodes in ls1021a-iot.dts
  LS1028ARDB: NFC Click: Add pn7120 node in fsl-ls1028a-rdb.dts file.
  LS1028ARDB: NFC Click: Add NFC click driver.
  arm64: dts: fsl-ls1028a: add dspi2 support

Liu Gang (1):
  ARM: LS1021A: Enable baremetal support

Marouen Ghodhbane (30):
  net: fec: add device tree property for Tx/Rx timestamps latency adjustment
  net: fec: fix default rx phy-mac delay compensation
  clk: imx8mq: fix the wrong gpt1 clock mux definition
  net: fec: avb: enable clocks once at probe and disable the pm runtime for 
avb usage
  net: fec: avb: Improve CPU load under heavy AVB network load
  net: fec: avb: read buffer descriptor once to avoid multiple reads to non 
cacheable memory
  clk: imx: add imx pll api for media clock recovery
  clk: imx: clk-pllv3: add imx pll api support
  clk: imx: clk-frac-pll: add imx pll api support
  clk: imx: clk-pll14xx: add imx pll api support
  arm64: dts: imx8mm: add gpt1 node
  clk: refine the fractional part of the audio pll
  clk: imx: fracn-gppll: add imx pll api support
  net: fec: avb: increase tx/rx ring sizes and tune default coalescing 
setting in avb configuration
  net: phy: increase phy status update rate
  net: fec: avb: check if fec_enet_avb_get_device() call is related to fec 
device or not
  arm64: dts: add imx8mm device tree for avb support
  arm64: dts: imx8mp: add gpt1 node
  arm64: dts: add imx8mp device tree for avb support
  arm: dts: add avb device trees for imx6ull-14x14-evk board
  arm64: dts: add avb device tree for imx93-11x11-evk
  arm64: dts: set avb timers to the audio pll rate
  arm64: dts: enable sw based media 

[linux-yocto] [linux-yocto rt kernel]: Add TSN support for imx9

2024-03-22 Thread Xiaolei Wang via lists.yoctoproject.org
Hi Bruce

Would you please help to  merge the following patch into branch:

v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

for nxp-imx9 bsp?

The following changes since commit 89c072e5b53d68d8c1f79cfe2f61f3a52556ae1d:

  Merge branch 'v6.1/standard/base' into 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc (2024-03-10 23:19:54 -0400)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 6d570a6b9d2e8aaabc5e7d461334974b9574b386:

  arm64: dts: fix ecspi2 dts node (2024-03-22 11:52:56 +0800)


Alexandre Howard (8):
  firmware: imx: scu-pd: add power domains for gpt instances in ADMA 
subsystem
  arm64: dts: add node for gpt instance from audio ss for imx8dxl
  arm64: dts: add imx8dxl evk device tree for avb support
  arm64: dts: add tja1100 with avb support device tree for imx8dxl
  net: dsa: sja1105: make hostprio configurable through the dtb
  net: dsa: sja1105: round up tc-cbs idleslope to prevent bandwidth 
under-allocation
  net: sched: sch_cbs: prevent the offloading of erroneous value to tc-cbs
  net: dsa: sja1105: use mqprio mapping to configure port egress pcp mapping

Alison Wang (1):
  ARM: LS1021A: Add platform support for LS1021AIOT in Makefile

Biwen Li (3):
  drivers: tty: support i.MX SRTM protocol(for uart)
  dt-bindings: tty: add rpmsg_tty
  arm64: dts: imx8mm-evk-rpmsg: add uart rpmsg bus

Changming Huang (1):
  ARM: LS1021AIOT: Enable SDHC

Chunguang Li (1):
  rpmsg: add 8M buffer support switch

Colin Ian King (1):
  net: dsa: sja1105: make read-only const arrays static

Cosmin Chenaru (4):
  net: fec: enable RX flushing for Best Effort queue
  net: fec: apply workaround for ERR007885 for normal path too
  net: fec: avb: set RCMR to only match two AVB priority classes
  net: fec: avb: export function to dynamically set the Idle Slope

Hou Zhiqiang (17):
  arm64: dts: imx8mm: Add RPMsg 8M buffer support DTS
  RTC: imx-rpmsg: Add dependency of RPMSG
  mailbox: Fix potential crash caused by channel receive function
  dt-binding: Add binding file for generic software mailbox
  rpmsg: imx_rpmsg: Updated the dependent items in Kconfig
  arm64: dts: imx8mm: Add DTS for RPMSG examples between A cores
  dma-mapping: Respect to device 'dma-coherent' property
  rpmsg: imx: add remove() callback function
  arm64: dts: imx8mm: fix rsc table name
  arm64: dts: imx8mm: fix address unit format of M4 reserved-memory node
  arm64: dts: imx8mp: add dtsi for RPMsg running on CA53
  arm64: dts: imx8mp: add dtsi for the second generic mailbox
  arm64: dts: imx8mp: add dtsi for the second rpmsg slave on CA53
  mailbox: Add generic software mailbox driver
  drivers: rpmsg: add rpmsg_perf driver
  arm64: dts: imx8m: add dtsi for the second generic mailbox
  arm64: dts: imx8m: add dtsi for the second rpmsg slave

Jiafei Pan (3):
  mailbox: gen-sw-mailbox: fix handle sequence
  mailbox: gen-sw-mailbox: add ack option
  drivers: tty: rpmsg_tty: add hello command

Jianchao Wang (4):
  ARM: LS1021AIOT: Add flexcan nodes in ls1021a-iot.dts
  LS1028ARDB: NFC Click: Add pn7120 node in fsl-ls1028a-rdb.dts file.
  LS1028ARDB: NFC Click: Add NFC click driver.
  arm64: dts: fsl-ls1028a: add dspi2 support

Liu Gang (1):
  ARM: LS1021A: Enable baremetal support

Marouen Ghodhbane (30):
  net: fec: add device tree property for Tx/Rx timestamps latency adjustment
  net: fec: fix default rx phy-mac delay compensation
  clk: imx8mq: fix the wrong gpt1 clock mux definition
  net: fec: avb: enable clocks once at probe and disable the pm runtime for 
avb usage
  net: fec: avb: Improve CPU load under heavy AVB network load
  net: fec: avb: read buffer descriptor once to avoid multiple reads to non 
cacheable memory
  clk: imx: add imx pll api for media clock recovery
  clk: imx: clk-pllv3: add imx pll api support
  clk: imx: clk-frac-pll: add imx pll api support
  clk: imx: clk-pll14xx: add imx pll api support
  arm64: dts: imx8mm: add gpt1 node
  clk: refine the fractional part of the audio pll
  clk: imx: fracn-gppll: add imx pll api support
  net: fec: avb: increase tx/rx ring sizes and tune default coalescing 
setting in avb configuration
  net: phy: increase phy status update rate
  net: fec: avb: check if fec_enet_avb_get_device() call is related to fec 
device or not
  arm64: dts: add imx8mm device tree for avb support
  arm64: dts: imx8mp: add gpt1 node
  arm64: dts: add imx8mp device tree for avb support
  arm: dts: add avb device trees for imx6ull-14x14-evk board
  arm64: dts: add avb device tree for imx93-11x11-evk
  arm64: dts: set avb timers to the audio pll rate
  

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 2/3] features/net_sched: Add MULTIQ and NET_EMATCH config

2024-03-21 Thread Xiaolei Wang via lists.yoctoproject.org
Add MULTIQ and NET_EMATCH config.

Signed-off-by: Xiaolei Wang 
---
 features/net_sched/net_sched.cfg | 5 +
 1 file changed, 5 insertions(+)

diff --git a/features/net_sched/net_sched.cfg b/features/net_sched/net_sched.cfg
index d0473170..137ca752 100644
--- a/features/net_sched/net_sched.cfg
+++ b/features/net_sched/net_sched.cfg
@@ -20,6 +20,8 @@ CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
 
+CONFIG_NET_SCH_MULTIQ=m
+
 #
 # Classification
 #
@@ -31,3 +33,6 @@ CONFIG_NET_CLS_U32=y
 CONFIG_NET_ACT_MIRRED=m
 CONFIG_NET_ACT_SKBEDIT=m
 CONFIG_NET_EMATCH=y
+
+CONFIG_NET_EMATCH_U32=y
+CONFIG_NET_EMATCH_META=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13716): 
https://lists.yoctoproject.org/g/linux-yocto/message/13716
Mute This Topic: https://lists.yoctoproject.org/mt/105060995/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/3] features/net: Add xdp feature config

2024-03-21 Thread Xiaolei Wang via lists.yoctoproject.org
Add xdp feature config.

Signed-off-by: Xiaolei Wang 
---
 features/net/xdp/xdp.cfg | 1 +
 features/net/xdp/xdp.scc | 1 +
 2 files changed, 2 insertions(+)
 create mode 100644 features/net/xdp/xdp.cfg
 create mode 100644 features/net/xdp/xdp.scc

diff --git a/features/net/xdp/xdp.cfg b/features/net/xdp/xdp.cfg
new file mode 100644
index ..061b65a4
--- /dev/null
+++ b/features/net/xdp/xdp.cfg
@@ -0,0 +1 @@
+CONFIG_XDP_SOCKETS=y
diff --git a/features/net/xdp/xdp.scc b/features/net/xdp/xdp.scc
new file mode 100644
index ..e4df6d09
--- /dev/null
+++ b/features/net/xdp/xdp.scc
@@ -0,0 +1 @@
+kconf hardware xdp.cfg
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13717): 
https://lists.yoctoproject.org/g/linux-yocto/message/13717
Mute This Topic: https://lists.yoctoproject.org/mt/105060996/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 3/3] nxp-imx9: Add some related net config required by tsn

2024-03-21 Thread Xiaolei Wang via lists.yoctoproject.org
Add some related net config required by tsn.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9-preempt-rt.scc | 2 ++
 bsp/nxp-imx9/nxp-imx9-standard.scc   | 2 ++
 bsp/nxp-imx9/nxp-imx9.cfg| 6 ++
 3 files changed, 10 insertions(+)

diff --git a/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc 
b/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
index 57ce73f9..737fdeab 100644
--- a/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
+++ b/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
@@ -3,6 +3,8 @@ define KTYPE preempt-rt
 define KARCH arm64
 
 include ktypes/preempt-rt
+include features/tsn/tsn.scc
+include features/net/xdp/xdp.scc
 
 include nxp-imx9.scc
 
diff --git a/bsp/nxp-imx9/nxp-imx9-standard.scc 
b/bsp/nxp-imx9/nxp-imx9-standard.scc
index 4483215c..1e6e9eea 100644
--- a/bsp/nxp-imx9/nxp-imx9-standard.scc
+++ b/bsp/nxp-imx9/nxp-imx9-standard.scc
@@ -3,5 +3,7 @@ define KTYPE standard
 define KARCH arm64
 
 include ktypes/standard
+include features/tsn/tsn.scc
+include features/net/xdp/xdp.scc
 
 include nxp-imx9.scc
diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 499b0750..41964ea5 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -112,6 +112,12 @@ CONFIG_FEC=y
 CONFIG_AT803X_PHY=y
 CONFIG_REALTEK_PHY=y
 CONFIG_STMMAC_ETH=y
+CONFIG_FEC_ECAT=y
+CONFIG_NET_DSA_NETC=m
+CONFIG_NET_DSA_SJA1105=m
+CONFIG_NET_DSA_SJA1105_PTP=y
+CONFIG_NET_DSA_SJA1105_TAS=y
+CONFIG_NET_DSA_SJA1105_VL=y
 
 #
 # Input device support
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13718): 
https://lists.yoctoproject.org/g/linux-yocto/message/13718
Mute This Topic: https://lists.yoctoproject.org/mt/105060997/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 3/3] nxp-imx9: Enable PWM_ADP5585 for imx9 ADP5585

2024-03-06 Thread Xiaolei Wang via lists.yoctoproject.org
Enable PWM_ADP5585 for imx9 ADP5585.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index c4c2b91c..499b0750 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -85,6 +85,7 @@ CONFIG_REGULATOR_MAX8973=y
 CONFIG_REGULATOR_PCA9450=y
 CONFIG_REGULATOR_PFUZE100=y
 CONFIG_REGULATOR_PWM=y
+CONFIG_PWM_ADP5585=y
 
 #
 # MMC Driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13646): 
https://lists.yoctoproject.org/g/linux-yocto/message/13646
Mute This Topic: https://lists.yoctoproject.org/mt/104762937/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 2/3] nxp-imx9: Enable NOP_USB_XCEIV for nxp-imx9

2024-03-06 Thread Xiaolei Wang via lists.yoctoproject.org
Enable NOP_USB_XCEIV for nxp-imx9.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 1fd96acd..c4c2b91c 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -432,6 +432,7 @@ CONFIG_USB_G_NCM=m
 CONFIG_USB_G_ACM_MS=m
 CONFIG_USB_MASS_STORAGE=m
 CONFIG_USB_DWC3=y
+CONFIG_NOP_USB_XCEIV=y
 
 #
 # Typec driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13645): 
https://lists.yoctoproject.org/g/linux-yocto/message/13645
Mute This Topic: https://lists.yoctoproject.org/mt/104762936/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/3] nxp-imx9: Enable imx93 MIPI phy

2024-03-06 Thread Xiaolei Wang via lists.yoctoproject.org
Enable imx93 MIPI phy.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 1bee68aa..1fd96acd 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -341,6 +341,7 @@ CONFIG_DRM_MXS=y
 CONFIG_DRM_MXSFB=y
 CONFIG_MUX_MMIO=y
 CONFIG_RESET_IMX7=y
+CONFIG_PHY_FSL_IMX93_MIPI_DPHY=y
 
 #
 ## Therminal Driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13644): 
https://lists.yoctoproject.org/g/linux-yocto/message/13644
Mute This Topic: https://lists.yoctoproject.org/mt/104762935/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] pwm: adp5585: Add return value to pwm_adp5585_get_state()

2024-03-04 Thread Xiaolei Wang via lists.yoctoproject.org
commit 547cc8dae247 ("pwm: Make .get_state() callback return an error code")
has added a return value to get_state(), so modify and add a return value
to avoid build errors.

error: initialization of 'int (*)(struct pwm_chip *, struct pwm_device *, 
struct pwm_state *)' from incompatible pointer type 'void (*)(struct pwm_chip 
*, struct pwm_device *, struct pwm_state *)' [-Werror= 
incompatible-pointer-types]
   170 | .get_state = pwm_adp5585_get_state,
E
   | ^

Fixes: 547cc8dae247 ("pwm: Make .get_state() callback return an error code")
Signed-off-by: Xiaolei Wang 
---
 drivers/pwm/pwm-adp5585.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pwm/pwm-adp5585.c b/drivers/pwm/pwm-adp5585.c
index 3396f363d06a..b1c3eb51de7f 100644
--- a/drivers/pwm/pwm-adp5585.c
+++ b/drivers/pwm/pwm-adp5585.c
@@ -49,7 +49,7 @@ static int adp5585_pwm_reg_write(struct adp5585_pwm_chip 
*adp5585_pwm, u8 reg, u
return adp5585->write_reg(adp5585, reg, val);
 }
 
-static void pwm_adp5585_get_state(struct pwm_chip *chip,
+static int pwm_adp5585_get_state(struct pwm_chip *chip,
  struct pwm_device *pwm,
  struct pwm_state *state)
 {
@@ -77,6 +77,7 @@ static void pwm_adp5585_get_state(struct pwm_chip *chip,
/* get channel status */
adp5585_pwm_reg_read(adp5585_pwm, ADP5585_PWM_CFG, );
state->enabled = temp & ADP5585_PWM_CFG_EN;
+   return 0;
 }
 
 static int pwm_adp5585_apply(struct pwm_chip *chip,
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13635): 
https://lists.yoctoproject.org/g/linux-yocto/message/13635
Mute This Topic: https://lists.yoctoproject.org/mt/104737840/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/2] nxp-imx9: Add nxp-imx9 BSP kernel cache

2024-03-03 Thread Xiaolei Wang via lists.yoctoproject.org
nxp-imx9 and nxp-imx8 use a set of kernel cache in the
SDK, and some drivers are common, such as the media module,
so here I deleted the imx8-related pinctrl, clk and other
CPU-related configurations based on the imx8 kernel cache,
no changes will be made to other peripherals.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9-preempt-rt.cfg |  15 +
 bsp/nxp-imx9/nxp-imx9-preempt-rt.scc |   9 +
 bsp/nxp-imx9/nxp-imx9-standard.scc   |   7 +
 bsp/nxp-imx9/nxp-imx9.cfg| 610 +++
 bsp/nxp-imx9/nxp-imx9.scc|  11 +
 5 files changed, 652 insertions(+)
 create mode 100644 bsp/nxp-imx9/nxp-imx9-preempt-rt.cfg
 create mode 100644 bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
 create mode 100644 bsp/nxp-imx9/nxp-imx9-standard.scc
 create mode 100644 bsp/nxp-imx9/nxp-imx9.cfg
 create mode 100644 bsp/nxp-imx9/nxp-imx9.scc

diff --git a/bsp/nxp-imx9/nxp-imx9-preempt-rt.cfg 
b/bsp/nxp-imx9/nxp-imx9-preempt-rt.cfg
new file mode 100644
index ..780e974a
--- /dev/null
+++ b/bsp/nxp-imx9/nxp-imx9-preempt-rt.cfg
@@ -0,0 +1,15 @@
+..
+.WARNING
+.
+. This file is a kernel configuration fragment, and not a full kernel
+. configuration file.  The final kernel configuration is made up of
+. an assembly of processed fragments, each of which is designed to
+. capture a specific part of the final configuration (e.g. platform
+. configuration, feature configuration, and board specific hardware
+. configuration).  For more information on kernel configuration, please
+. consult the product documentation.
+.
+..
+
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_LEDS_TRIGGER_CPU is not set
diff --git a/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc 
b/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
new file mode 100644
index ..57ce73f9
--- /dev/null
+++ b/bsp/nxp-imx9/nxp-imx9-preempt-rt.scc
@@ -0,0 +1,9 @@
+define KMACHINE nxp-imx9
+define KTYPE preempt-rt
+define KARCH arm64
+
+include ktypes/preempt-rt
+
+include nxp-imx9.scc
+
+kconf hardware nxp-imx9-preempt-rt.cfg
diff --git a/bsp/nxp-imx9/nxp-imx9-standard.scc 
b/bsp/nxp-imx9/nxp-imx9-standard.scc
new file mode 100644
index ..4483215c
--- /dev/null
+++ b/bsp/nxp-imx9/nxp-imx9-standard.scc
@@ -0,0 +1,7 @@
+define KMACHINE nxp-imx9
+define KTYPE standard
+define KARCH arm64
+
+include ktypes/standard
+
+include nxp-imx9.scc
diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
new file mode 100644
index ..945541a1
--- /dev/null
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -0,0 +1,610 @@
+CONFIG_ARM64=y
+CONFIG_SMP=y
+CONFIG_ARCH_NXP=y
+CONFIG_ARCH_LAYERSCAPE=y
+CONFIG_ARCH_MXC=y
+CONFIG_HAVE_IMX_BUSFREQ=y
+
+CONFIG_PM=y
+CONFIG_CPU_PM=y
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_ARM_IMX_CPUFREQ_DT=y
+
+#
+# CAN
+#
+CONFIG_CAN=m
+CONFIG_CAN_FLEXCAN=m
+
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_IMX6=y
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PHY_FSL_IMX8Q_PCIE=y
+
+CONFIG_IMX_DSP=y
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_IMX_SECO_MU=y
+CONFIG_IMX_EL_ENCLAVE=m
+CONFIG_IMX_ELE_TRNG=y
+
+#
+## MTD
+#
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_SST25L=y
+
+#
+## Regulator Driver
+#
+CONFIG_PWM=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+
+#
+# MMC Driver
+#
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_ATA=y
+CONFIG_MFD_SYSCON=y
+CONFIG_AHCI_IMX=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# Networking
+#
+CONFIG_FEC=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_STMMAC_ETH=y
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_KEYBOARD_IMX_SC_KEY=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=m

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 2/2] nxp-imx9: Enable GPIO_ADP5585 for imx93

2024-03-03 Thread Xiaolei Wang via lists.yoctoproject.org
Enable GPIO_ADP5585 for imx93.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx9/nxp-imx9.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsp/nxp-imx9/nxp-imx9.cfg b/bsp/nxp-imx9/nxp-imx9.cfg
index 945541a1..1bee68aa 100644
--- a/bsp/nxp-imx9/nxp-imx9.cfg
+++ b/bsp/nxp-imx9/nxp-imx9.cfg
@@ -164,6 +164,8 @@ CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
 CONFIG_GPIO_MXC=y
 CONFIG_GPIO_PL061=y
+CONFIG_MFD_ADP5585=y
+CONFIG_GPIO_ADP5585=y
 
 #
 ## I2C Driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13629): 
https://lists.yoctoproject.org/g/linux-yocto/message/13629
Mute This Topic: https://lists.yoctoproject.org/mt/104716657/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable nxp-imx8 CAAM

2024-02-18 Thread Xiaolei Wang via lists.yoctoproject.org
Enable nxp-imx8 CAAM.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index e5548296..5de6ed4a 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -615,3 +615,9 @@ CONFIG_FSL_IMX9_DDR_PMU=y
 #
 CONFIG_TEE=y
 CONFIG_OPTEE=y
+
+#
+# CAAM drivers
+#
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13580): 
https://lists.yoctoproject.org/g/linux-yocto/message/13580
Mute This Topic: https://lists.yoctoproject.org/mt/104424866/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable IMX8MM_THERMAL

2024-01-24 Thread Xiaolei Wang via lists.yoctoproject.org
Enable IMX8MM_THERMAL for iMX8MP.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index e5548296..c79ad57d 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -354,6 +354,7 @@ CONFIG_RESET_IMX7=y
 CONFIG_IMX_SC_THERMAL=y
 CONFIG_DEVICE_THERMAL=y
 CONFIG_QORIQ_THERMAL=y
+CONFIG_IMX8MM_THERMAL=y
 
 #
 # Frame buffer Devices
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13516): 
https://lists.yoctoproject.org/g/linux-yocto/message/13516
Mute This Topic: https://lists.yoctoproject.org/mt/103947133/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][branch v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH] imx: dpu-blit: Remove GFP_DMA32

2023-12-27 Thread Xiaolei Wang via lists.yoctoproject.org
The DMA32 zone on imx8qm is empty, and GFP_DMA32 and
GFP_DMA are a bad combination.

Signed-off-by: Xiaolei Wang 
---
 drivers/gpu/imx/dpu-blit/dpu-blit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/imx/dpu-blit/dpu-blit.c 
b/drivers/gpu/imx/dpu-blit/dpu-blit.c
index eef1f41156dd..39222ff9560b 100644
--- a/drivers/gpu/imx/dpu-blit/dpu-blit.c
+++ b/drivers/gpu/imx/dpu-blit/dpu-blit.c
@@ -59,7 +59,7 @@ static int dpu_cs_alloc_command_buffer(struct dpu_bliteng 
*dpu_be)
/* command buffer need 32 bit address */
dpu_be->buffer_addr_virt =
alloc_pages_exact(COMMAND_BUFFER_SIZE,
-   GFP_KERNEL | GFP_DMA | GFP_DMA32 | __GFP_ZERO);
+   GFP_KERNEL | GFP_DMA | __GFP_ZERO);
if (!dpu_be->buffer_addr_virt) {
dev_err(dpu_be->dev, "memory alloc failed for dpu command 
buffer\n");
return -ENOMEM;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13445): 
https://lists.yoctoproject.org/g/linux-yocto/message/13445
Mute This Topic: https://lists.yoctoproject.org/mt/103395017/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable nxp-imx8mp sound CONFIG

2023-12-11 Thread Xiaolei Wang via lists.yoctoproject.org
Enable nxp-imx8mp sound CONFIG.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 5 +
 1 file changed, 5 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 8426aec5..e5548296 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -400,6 +400,10 @@ CONFIG_SND_SOC_SOF_IMX8M=m
 CONFIG_SND_SOC_SOF_IMX8ULP=m
 CONFIG_SND_SOC_FSL_ASRC=m
 CONFIG_SND_SIMPLE_CARD=y
+CONFIG_SND_SOC_FSL_EASRC=m
+CONFIG_SND_SOC_FSL_XCVR=m
+CONFIG_SND_SOC_FSL_MICFIL=m
+CONFIG_SND_SOC_FSL_RPMSG=m
 
 #
 # CODEC drivers
@@ -409,6 +413,7 @@ CONFIG_SND_SOC_CS42XX8_I2C=y
 CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
 CONFIG_SND_SOC_WM8524=m
+CONFIG_SND_SOC_BT_SCO=y
 
 #
 # USB driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13420): 
https://lists.yoctoproject.org/g/linux-yocto/message/13420
Mute This Topic: https://lists.yoctoproject.org/mt/103124102/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 2/2] nxp-imx8: Enable optee CONFIG for imx8 plat

2023-12-08 Thread Xiaolei Wang via lists.yoctoproject.org
Enable optee CONFIG for imx8 plat.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 1116b2c0..8426aec5 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -604,3 +604,9 @@ CONFIG_PHY_FSL_IMX8M_PCIE=y
 #
 CONFIG_FSL_IMX8_DDR_PMU=y
 CONFIG_FSL_IMX9_DDR_PMU=y
+
+#
+# TEE drivers
+#
+CONFIG_TEE=y
+CONFIG_OPTEE=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13400): 
https://lists.yoctoproject.org/g/linux-yocto/message/13400
Mute This Topic: https://lists.yoctoproject.org/mt/103051839/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 0/2] Enable optee and hdmi phy

2023-12-08 Thread Xiaolei Wang via lists.yoctoproject.org
Hi Bruce,

Please help to merge code into our linux-yocto repo.

repo:
yocto-kernel-cache
branch:
yocto-6.1

Xiaolei Wang (2):
  nxp-imx8: Enable PHY_SAMSUNG_HDMI_PHY
  nxp-imx8: Enable optee CONFIG for imx8 plat

 bsp/nxp-imx8/nxp-imx8.cfg | 7 +++
 1 file changed, 7 insertions(+)

-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13398): 
https://lists.yoctoproject.org/g/linux-yocto/message/13398
Mute This Topic: https://lists.yoctoproject.org/mt/103051837/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH 1/2] nxp-imx8: Enable PHY_SAMSUNG_HDMI_PHY

2023-12-08 Thread Xiaolei Wang via lists.yoctoproject.org
Enable PHY_SAMSUNG_HDMI_PHY for imx8mp hdmi

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 5f33ddf8..1116b2c0 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -326,6 +326,7 @@ CONFIG_DRM_IMX_LDB=y
 CONFIG_DRM_IMX8QM_LDB=y
 CONFIG_DRM_IMX8QXP_LDB=y
 CONFIG_DRM_IMX8MP_LDB=y
+CONFIG_PHY_SAMSUNG_HDMI_PHY=y
 CONFIG_DRM_IMX93_PARALLEL_DISPLAY_FORMAT=y
 CONFIG_DRM_IMX93_LDB=y
 CONFIG_IMX8MP_HDMI_PAVI=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13399): 
https://lists.yoctoproject.org/g/linux-yocto/message/13399
Mute This Topic: https://lists.yoctoproject.org/mt/103051838/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Add imx8mp ethernet CONFIG

2023-12-05 Thread Xiaolei Wang via lists.yoctoproject.org
Enable STMMAC and REALTEK_PHY due to imx8mp use RTL8211FDI-CG PHY.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 0e4fa067..605348bc 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -109,6 +109,8 @@ CONFIG_LEDS_TRIGGERS=y
 #
 CONFIG_FEC=y
 CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_STMMAC_ETH=y
 
 #
 # Input device support
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13382): 
https://lists.yoctoproject.org/g/linux-yocto/message/13382
Mute This Topic: https://lists.yoctoproject.org/mt/103008911/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [PATCH V2] optee: Suppress false positive kmemleak report in optee_handle_rpc()

2023-12-04 Thread Xiaolei Wang via lists.yoctoproject.org
We observed the following kmemleak report:
unreferenced object 0x07904500 (size 128):
  comm "swapper/0", pid 1, jiffies 4294892671 (age 44.036s)
  hex dump (first 32 bytes):
00 47 90 07 00 00 ff ff 60 00 c0 ff 00 00 00 00  .G..`...
60 00 80 13 00 80 ff ff a0 00 00 00 00 00 00 00  `...
  backtrace:
[<4c12b1c7>] kmem_cache_alloc+0x1ac/0x2f4
[<5d23eb4f>] tee_shm_alloc+0x78/0x230
[<794dd22c>] optee_handle_rpc+0x60/0x6f0
[] optee_do_call_with_arg+0x17c/0x1dc
[] optee_open_session+0x128/0x1ec
[<1748f2ff>] tee_client_open_session+0x28/0x40
[] optee_enumerate_devices+0x84/0x2a0
[<3df18bf1>] optee_probe+0x674/0x6cc
[<3a4a534a>] platform_drv_probe+0x54/0xb0
[<0c51ce7d>] really_probe+0xe4/0x4d0
[<2f04c865>] driver_probe_device+0x58/0xc0
[] device_driver_attach+0xc0/0xd0
[] __driver_attach+0x84/0x124
[<8e5a429c>] bus_for_each_dev+0x70/0xc0
[<1735e8a8>] driver_attach+0x24/0x30
[<6d94b04f>] bus_add_driver+0x104/0x1ec

This is not a memory leak because we pass the share memory pointer
to secure world and would get it from secure world before releasing it.

Signed-off-by: Xiaolei Wang 
---

Hi bruce

compared with v1, update branch info

Please help me merge this into the following two branches:
  v5.15/standard/nxp-sdk-5.15/nxp-soc
  v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc

 drivers/tee/optee/rpc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/tee/optee/rpc.c b/drivers/tee/optee/rpc.c
index 456833d82007..b04988d54ad9 100644
--- a/drivers/tee/optee/rpc.c
+++ b/drivers/tee/optee/rpc.c
@@ -13,6 +13,7 @@
 #include "optee_private.h"
 #include "optee_smc.h"
 #include "optee_rpc_cmd.h"
+#include 
 
 struct wq_entry {
struct list_head link;
@@ -516,6 +517,7 @@ void optee_handle_rpc(struct tee_context *ctx, struct 
optee_rpc_param *param,
param->a4 = 0;
param->a5 = 0;
}
+   kmemleak_not_leak(shm);
break;
case OPTEE_SMC_RPC_FUNC_FREE:
shm = reg_pair_to_ptr(param->a1, param->a2);
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13371): 
https://lists.yoctoproject.org/g/linux-yocto/message/13371
Mute This Topic: https://lists.yoctoproject.org/mt/102985987/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] optee: Suppress false positive kmemleak report in optee_handle_rpc()

2023-12-04 Thread Xiaolei Wang via lists.yoctoproject.org
We observed the following kmemleak report:
unreferenced object 0x07904500 (size 128):
  comm "swapper/0", pid 1, jiffies 4294892671 (age 44.036s)
  hex dump (first 32 bytes):
00 47 90 07 00 00 ff ff 60 00 c0 ff 00 00 00 00  .G..`...
60 00 80 13 00 80 ff ff a0 00 00 00 00 00 00 00  `...
  backtrace:
[<4c12b1c7>] kmem_cache_alloc+0x1ac/0x2f4
[<5d23eb4f>] tee_shm_alloc+0x78/0x230
[<794dd22c>] optee_handle_rpc+0x60/0x6f0
[] optee_do_call_with_arg+0x17c/0x1dc
[] optee_open_session+0x128/0x1ec
[<1748f2ff>] tee_client_open_session+0x28/0x40
[] optee_enumerate_devices+0x84/0x2a0
[<3df18bf1>] optee_probe+0x674/0x6cc
[<3a4a534a>] platform_drv_probe+0x54/0xb0
[<0c51ce7d>] really_probe+0xe4/0x4d0
[<2f04c865>] driver_probe_device+0x58/0xc0
[] device_driver_attach+0xc0/0xd0
[] __driver_attach+0x84/0x124
[<8e5a429c>] bus_for_each_dev+0x70/0xc0
[<1735e8a8>] driver_attach+0x24/0x30
[<6d94b04f>] bus_add_driver+0x104/0x1ec

This is not a memory leak because we pass the share memory pointer
to secure world and would get it from secure world before releasing it.

Signed-off-by: Xiaolei Wang 
---
 drivers/tee/optee/rpc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/tee/optee/rpc.c b/drivers/tee/optee/rpc.c
index 456833d82007..b04988d54ad9 100644
--- a/drivers/tee/optee/rpc.c
+++ b/drivers/tee/optee/rpc.c
@@ -13,6 +13,7 @@
 #include "optee_private.h"
 #include "optee_smc.h"
 #include "optee_rpc_cmd.h"
+#include 
 
 struct wq_entry {
struct list_head link;
@@ -516,6 +517,7 @@ void optee_handle_rpc(struct tee_context *ctx, struct 
optee_rpc_param *param,
param->a4 = 0;
param->a5 = 0;
}
+   kmemleak_not_leak(shm);
break;
case OPTEE_SMC_RPC_FUNC_FREE:
shm = reg_pair_to_ptr(param->a1, param->a2);
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13354): 
https://lists.yoctoproject.org/g/linux-yocto/message/13354
Mute This Topic: https://lists.yoctoproject.org/mt/102967011/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 2/2] serial: imx: work-around for hardware RX flood

2023-11-28 Thread Xiaolei Wang via lists.yoctoproject.org
From: Sergey Organov 

commit 496a4471b7c3ae5c0be1a3fccd69e7debc127e08 from upstream.

Check if hardware Rx flood is in progress, and issue soft reset to UART to
stop the flood.

A way to reproduce the flood (checked on iMX6SX) is: open iMX UART at 9600
8N1, and from external source send 0xf0 char at 115200 8N1. In about 90% of
cases this starts a flood of "receiving" of 0xff characters by the iMX UART
that is terminated by any activity on RxD line, or could be stopped by
issuing soft reset to the UART (just stop/start of RX does not help). Note
that in essence what we did here is sending isolated start bit about 2.4
times shorter than it is to be if issued on the UART configured baud rate.

There was earlier attempt to fix similar issue in: 'commit
b38cb7d25711 ("serial: imx: Disable new features of autobaud detection")',
but apparently it only gets harder to reproduce the issue after that
commit.

Signed-off-by: Sergey Organov 
Link: https://lore.kernel.org/r/20230201142700.4346-3-sorga...@gmail.com
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Xiaolei Wang 
---
 drivers/tty/serial/imx.c | 123 ++-
 1 file changed, 95 insertions(+), 28 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 3d909dbc7e3e..d58724e71983 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -213,6 +213,9 @@ struct imx_port {
 
struct mctrl_gpios *gpios;
 
+   /* counter to stop 0xff flood */
+   int idle_counter;
+
/* shadow registers */
unsigned int ucr1;
unsigned int ucr2;
@@ -443,6 +446,8 @@ static void imx_uart_soft_reset(struct imx_port *sport)
imx_uart_writel(sport, ubir, UBIR);
imx_uart_writel(sport, ubmr, UBMR);
imx_uart_writel(sport, uts, IMX21_UTS);
+
+   sport->idle_counter = 0;
 }
 
 /* called with port.lock taken and irqs off */
@@ -853,15 +858,66 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
return IRQ_HANDLED;
 }
 
+/* Check if hardware Rx flood is in progress, and issue soft reset to stop it.
+ * This is to be called from Rx ISRs only when some bytes were actually
+ * received.
+ *
+ * A way to reproduce the flood (checked on iMX6SX) is: open iMX UART at 9600
+ * 8N1, and from external source send 0xf0 char at 115200 8N1. In about 90% of
+ * cases this starts a flood of "receiving" of 0xff characters by the iMX6 UART
+ * that is terminated by any activity on RxD line, or could be stopped by
+ * issuing soft reset to the UART (just stop/start of RX does not help). Note
+ * that what we do here is sending isolated start bit about 2.4 times shorter
+ * than it is to be on UART configured baud rate.
+ */
+static void imx_uart_check_flood(struct imx_port *sport, u32 usr2)
+{
+   /* To detect hardware 0xff flood we monitor RxD line between RX
+* interrupts to isolate "receiving" of char(s) with no activity
+* on RxD line, that'd never happen on actual data transfers.
+*
+* We use USR2_WAKE bit to check for activity on RxD line, but we have a
+* race here if we clear USR2_WAKE when receiving of a char is in
+* progress, so we might get RX interrupt later with USR2_WAKE bit
+* cleared. Note though that as we don't try to clear USR2_WAKE when we
+* detected no activity, this race may hide actual activity only once.
+*
+* Yet another case where receive interrupt may occur without RxD
+* activity is expiration of aging timer, so we consider this as well.
+*
+* We use 'idle_counter' to ensure that we got at least so many RX
+* interrupts without any detected activity on RxD line. 2 cases
+* described plus 1 to be on the safe side gives us a margin of 3,
+* below. In practice I was not able to produce a false positive to
+* induce soft reset at regular data transfers even using 1 as the
+* margin, so 3 is actually very strong.
+*
+* We count interrupts, not chars in 'idle-counter' for simplicity.
+*/
+
+   if (usr2 & USR2_WAKE) {
+   imx_uart_writel(sport, USR2_WAKE, USR2);
+   sport->idle_counter = 0;
+   } else if (++sport->idle_counter > 3) {
+   dev_warn(sport->port.dev, "RX flood detected: soft reset.");
+   imx_uart_soft_reset(sport); /* also clears 
'sport->idle_counter' */
+   }
+}
+
 static irqreturn_t __imx_uart_rxint(int irq, void *dev_id)
 {
struct imx_port *sport = dev_id;
unsigned int rx, flg, ignored = 0;
struct tty_port *port = >port.state->port;
+   u32 usr2;
+
+   usr2 = imx_uart_readl(sport, USR2);
 
-   while (imx_uart_readl(sport, USR2) & USR2_RDR) {
-   u32 usr2;
+   /* If we received something, check for 0xff flood */
+   if (usr2 & USR2_RDR)
+   imx_uart_check_flood(sport, usr2);
 
+   for ( ; usr2 & USR2_RDR; usr2 = 

[linux-yocto][linux-yocto v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 1/2] serial: imx: factor-out common code to imx_uart_soft_reset()

2023-11-28 Thread Xiaolei Wang via lists.yoctoproject.org
From: Sergey Organov 

commit d45fb2e430e54fac6af3cabb39c36171c4bf3f52 from upstream.

We perform soft reset in 2 places, slightly differently for no sufficient
reasons, so move more generic variant to a function, and re-use the code.

Out of 2 repeat counters, 10 and 100, select 10, as the code works at
interrupts disabled, and in practice the reset happens immediately.

Signed-off-by: Sergey Organov 
Link: https://lore.kernel.org/r/20230201142700.4346-2-sorga...@gmail.com
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Xiaolei Wang 
---
 drivers/tty/serial/imx.c | 73 
 1 file changed, 37 insertions(+), 36 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 3054be617266..3d909dbc7e3e 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -412,6 +412,39 @@ static void imx_uart_disable_loopback_rs485(struct 
imx_port *sport)
imx_uart_writel(sport, uts, imx_uart_uts_reg(sport));
 }
 
+/* called with port.lock taken and irqs off */
+static void imx_uart_soft_reset(struct imx_port *sport)
+{
+   int i = 10;
+   u32 ucr2, ubir, ubmr, uts;
+
+   /*
+* According to the Reference Manual description of the UART SRST bit:
+*
+* "Reset the transmit and receive state machines,
+* all FIFOs and register USR1, USR2, UBIR, UBMR, UBRC, URXD, UTXD
+* and UTS[6-3]".
+*
+* We don't need to restore the old values from USR1, USR2, URXD and
+* UTXD. UBRC is read only, so only save/restore the other three
+* registers.
+*/
+   ubir = imx_uart_readl(sport, UBIR);
+   ubmr = imx_uart_readl(sport, UBMR);
+   uts = imx_uart_readl(sport, IMX21_UTS);
+
+   ucr2 = imx_uart_readl(sport, UCR2);
+   imx_uart_writel(sport, ucr2 & ~UCR2_SRST, UCR2);
+
+   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
+   udelay(1);
+
+   /* Restore the registers */
+   imx_uart_writel(sport, ubir, UBIR);
+   imx_uart_writel(sport, ubmr, UBMR);
+   imx_uart_writel(sport, uts, IMX21_UTS);
+}
+
 /* called with port.lock taken and irqs off */
 static void imx_uart_start_rx(struct uart_port *port)
 {
@@ -1425,7 +1458,7 @@ static int imx_uart_startup(struct uart_port *port)
 {
struct imx_port *sport = (struct imx_port *)port;
struct tty_port *tty_port = >port.state->port;
-   int retval, i;
+   int retval;
unsigned long flags;
int dma_is_inited = 0;
u32 ucr1, ucr2, ucr3, ucr4;
@@ -1464,15 +1497,9 @@ static int imx_uart_startup(struct uart_port *port)
dma_is_inited = 1;
 
spin_lock_irqsave(>port.lock, flags);
-   /* Reset fifo's and state machines */
-   i = 100;
 
-   ucr2 = imx_uart_readl(sport, UCR2);
-   ucr2 &= ~UCR2_SRST;
-   imx_uart_writel(sport, ucr2, UCR2);
-
-   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
-   udelay(1);
+   /* Reset fifo's and state machines */
+   imx_uart_soft_reset(sport);
 
/*
 * Finally, clear and enable interrupts
@@ -1626,8 +1653,6 @@ static void imx_uart_flush_buffer(struct uart_port *port)
 {
struct imx_port *sport = (struct imx_port *)port;
struct scatterlist *sgl = >tx_sgl[0];
-   u32 ucr2;
-   int i = 100, ubir, ubmr, uts;
 
if (!sport->dma_chan_tx)
return;
@@ -1645,32 +1670,8 @@ static void imx_uart_flush_buffer(struct uart_port *port)
sport->dma_is_txing = 0;
}
 
-   /*
-* According to the Reference Manual description of the UART SRST bit:
-*
-* "Reset the transmit and receive state machines,
-* all FIFOs and register USR1, USR2, UBIR, UBMR, UBRC, URXD, UTXD
-* and UTS[6-3]".
-*
-* We don't need to restore the old values from USR1, USR2, URXD and
-* UTXD. UBRC is read only, so only save/restore the other three
-* registers.
-*/
-   ubir = imx_uart_readl(sport, UBIR);
-   ubmr = imx_uart_readl(sport, UBMR);
-   uts = imx_uart_readl(sport, IMX21_UTS);
-
-   ucr2 = imx_uart_readl(sport, UCR2);
-   ucr2 &= ~UCR2_SRST;
-   imx_uart_writel(sport, ucr2, UCR2);
+   imx_uart_soft_reset(sport);
 
-   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
-   udelay(1);
-
-   /* Restore the registers */
-   imx_uart_writel(sport, ubir, UBIR);
-   imx_uart_writel(sport, ubmr, UBMR);
-   imx_uart_writel(sport, uts, IMX21_UTS);
 }
 
 static void
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13322): 
https://lists.yoctoproject.org/g/linux-yocto/message/13322
Mute This Topic: https://lists.yoctoproject.org/mt/102866842/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 

[linux-yocto][linux-yocto v5.15/standard/nxp-sdk-5.15/nxp-soc & v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc][PATCH 2/2] serial: imx: work-around for hardware RX flood

2023-11-28 Thread Xiaolei Wang via lists.yoctoproject.org
From: Sergey Organov 

commit 496a4471b7c3ae5c0be1a3fccd69e7debc127e08 from upstream.

Check if hardware Rx flood is in progress, and issue soft reset to UART to
stop the flood.

A way to reproduce the flood (checked on iMX6SX) is: open iMX UART at 9600
8N1, and from external source send 0xf0 char at 115200 8N1. In about 90% of
cases this starts a flood of "receiving" of 0xff characters by the iMX UART
that is terminated by any activity on RxD line, or could be stopped by
issuing soft reset to the UART (just stop/start of RX does not help). Note
that in essence what we did here is sending isolated start bit about 2.4
times shorter than it is to be if issued on the UART configured baud rate.

There was earlier attempt to fix similar issue in: 'commit
b38cb7d25711 ("serial: imx: Disable new features of autobaud detection")',
but apparently it only gets harder to reproduce the issue after that
commit.

Signed-off-by: Sergey Organov 
Link: https://lore.kernel.org/r/20230201142700.4346-3-sorga...@gmail.com
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Xiaolei Wang 
---
 drivers/tty/serial/imx.c | 123 ++-
 1 file changed, 95 insertions(+), 28 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 8b32d8e549dc..001f88b15752 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -214,6 +214,9 @@ struct imx_port {
 
struct mctrl_gpios *gpios;
 
+   /* counter to stop 0xff flood */
+   int idle_counter;
+
/* shadow registers */
unsigned int ucr1;
unsigned int ucr2;
@@ -444,6 +447,8 @@ static void imx_uart_soft_reset(struct imx_port *sport)
imx_uart_writel(sport, ubir, UBIR);
imx_uart_writel(sport, ubmr, UBMR);
imx_uart_writel(sport, uts, IMX21_UTS);
+
+   sport->idle_counter = 0;
 }
 
 /* called with port.lock taken and irqs off */
@@ -844,15 +849,66 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
return IRQ_HANDLED;
 }
 
+/* Check if hardware Rx flood is in progress, and issue soft reset to stop it.
+ * This is to be called from Rx ISRs only when some bytes were actually
+ * received.
+ *
+ * A way to reproduce the flood (checked on iMX6SX) is: open iMX UART at 9600
+ * 8N1, and from external source send 0xf0 char at 115200 8N1. In about 90% of
+ * cases this starts a flood of "receiving" of 0xff characters by the iMX6 UART
+ * that is terminated by any activity on RxD line, or could be stopped by
+ * issuing soft reset to the UART (just stop/start of RX does not help). Note
+ * that what we do here is sending isolated start bit about 2.4 times shorter
+ * than it is to be on UART configured baud rate.
+ */
+static void imx_uart_check_flood(struct imx_port *sport, u32 usr2)
+{
+   /* To detect hardware 0xff flood we monitor RxD line between RX
+* interrupts to isolate "receiving" of char(s) with no activity
+* on RxD line, that'd never happen on actual data transfers.
+*
+* We use USR2_WAKE bit to check for activity on RxD line, but we have a
+* race here if we clear USR2_WAKE when receiving of a char is in
+* progress, so we might get RX interrupt later with USR2_WAKE bit
+* cleared. Note though that as we don't try to clear USR2_WAKE when we
+* detected no activity, this race may hide actual activity only once.
+*
+* Yet another case where receive interrupt may occur without RxD
+* activity is expiration of aging timer, so we consider this as well.
+*
+* We use 'idle_counter' to ensure that we got at least so many RX
+* interrupts without any detected activity on RxD line. 2 cases
+* described plus 1 to be on the safe side gives us a margin of 3,
+* below. In practice I was not able to produce a false positive to
+* induce soft reset at regular data transfers even using 1 as the
+* margin, so 3 is actually very strong.
+*
+* We count interrupts, not chars in 'idle-counter' for simplicity.
+*/
+
+   if (usr2 & USR2_WAKE) {
+   imx_uart_writel(sport, USR2_WAKE, USR2);
+   sport->idle_counter = 0;
+   } else if (++sport->idle_counter > 3) {
+   dev_warn(sport->port.dev, "RX flood detected: soft reset.");
+   imx_uart_soft_reset(sport); /* also clears 
'sport->idle_counter' */
+   }
+}
+
 static irqreturn_t __imx_uart_rxint(int irq, void *dev_id)
 {
struct imx_port *sport = dev_id;
unsigned int rx, flg, ignored = 0;
struct tty_port *port = >port.state->port;
+   u32 usr2;
+
+   usr2 = imx_uart_readl(sport, USR2);
 
-   while (imx_uart_readl(sport, USR2) & USR2_RDR) {
-   u32 usr2;
+   /* If we received something, check for 0xff flood */
+   if (usr2 & USR2_RDR)
+   imx_uart_check_flood(sport, usr2);
 
+   for ( ; usr2 & USR2_RDR; usr2 = 

[linux-yocto][linux-yocto v5.15/standard/nxp-sdk-5.15/nxp-soc & v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc][PATCH 1/2] serial: imx: factor-out common code to imx_uart_soft_reset()

2023-11-28 Thread Xiaolei Wang via lists.yoctoproject.org
From: Sergey Organov 

commit d45fb2e430e54fac6af3cabb39c36171c4bf3f52 from upstream.

We perform soft reset in 2 places, slightly differently for no sufficient
reasons, so move more generic variant to a function, and re-use the code.

Out of 2 repeat counters, 10 and 100, select 10, as the code works at
interrupts disabled, and in practice the reset happens immediately.

Signed-off-by: Sergey Organov 
Link: https://lore.kernel.org/r/20230201142700.4346-2-sorga...@gmail.com
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: Xiaolei Wang 
---
 drivers/tty/serial/imx.c | 73 
 1 file changed, 37 insertions(+), 36 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 77a3649f80ba..8b32d8e549dc 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -413,6 +413,39 @@ static void imx_uart_disable_loopback_rs485(struct 
imx_port *sport)
imx_uart_writel(sport, uts, imx_uart_uts_reg(sport));
 }
 
+/* called with port.lock taken and irqs off */
+static void imx_uart_soft_reset(struct imx_port *sport)
+{
+   int i = 10;
+   u32 ucr2, ubir, ubmr, uts;
+
+   /*
+* According to the Reference Manual description of the UART SRST bit:
+*
+* "Reset the transmit and receive state machines,
+* all FIFOs and register USR1, USR2, UBIR, UBMR, UBRC, URXD, UTXD
+* and UTS[6-3]".
+*
+* We don't need to restore the old values from USR1, USR2, URXD and
+* UTXD. UBRC is read only, so only save/restore the other three
+* registers.
+*/
+   ubir = imx_uart_readl(sport, UBIR);
+   ubmr = imx_uart_readl(sport, UBMR);
+   uts = imx_uart_readl(sport, IMX21_UTS);
+
+   ucr2 = imx_uart_readl(sport, UCR2);
+   imx_uart_writel(sport, ucr2 & ~UCR2_SRST, UCR2);
+
+   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
+   udelay(1);
+
+   /* Restore the registers */
+   imx_uart_writel(sport, ubir, UBIR);
+   imx_uart_writel(sport, ubmr, UBMR);
+   imx_uart_writel(sport, uts, IMX21_UTS);
+}
+
 /* called with port.lock taken and irqs off */
 static void imx_uart_start_rx(struct uart_port *port)
 {
@@ -1420,7 +1453,7 @@ static int imx_uart_startup(struct uart_port *port)
 {
struct imx_port *sport = (struct imx_port *)port;
struct tty_port *tty_port = >port.state->port;
-   int retval, i;
+   int retval;
unsigned long flags;
int dma_is_inited = 0;
u32 ucr1, ucr2, ucr3, ucr4;
@@ -1459,15 +1492,9 @@ static int imx_uart_startup(struct uart_port *port)
dma_is_inited = 1;
 
spin_lock_irqsave(>port.lock, flags);
-   /* Reset fifo's and state machines */
-   i = 100;
 
-   ucr2 = imx_uart_readl(sport, UCR2);
-   ucr2 &= ~UCR2_SRST;
-   imx_uart_writel(sport, ucr2, UCR2);
-
-   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
-   udelay(1);
+   /* Reset fifo's and state machines */
+   imx_uart_soft_reset(sport);
 
/*
 * Finally, clear and enable interrupts
@@ -1620,8 +1647,6 @@ static void imx_uart_flush_buffer(struct uart_port *port)
 {
struct imx_port *sport = (struct imx_port *)port;
struct scatterlist *sgl = >tx_sgl[0];
-   u32 ucr2;
-   int i = 100, ubir, ubmr, uts;
 
if (!sport->dma_chan_tx)
return;
@@ -1639,32 +1664,8 @@ static void imx_uart_flush_buffer(struct uart_port *port)
sport->dma_is_txing = 0;
}
 
-   /*
-* According to the Reference Manual description of the UART SRST bit:
-*
-* "Reset the transmit and receive state machines,
-* all FIFOs and register USR1, USR2, UBIR, UBMR, UBRC, URXD, UTXD
-* and UTS[6-3]".
-*
-* We don't need to restore the old values from USR1, USR2, URXD and
-* UTXD. UBRC is read only, so only save/restore the other three
-* registers.
-*/
-   ubir = imx_uart_readl(sport, UBIR);
-   ubmr = imx_uart_readl(sport, UBMR);
-   uts = imx_uart_readl(sport, IMX21_UTS);
-
-   ucr2 = imx_uart_readl(sport, UCR2);
-   ucr2 &= ~UCR2_SRST;
-   imx_uart_writel(sport, ucr2, UCR2);
+   imx_uart_soft_reset(sport);
 
-   while (!(imx_uart_readl(sport, UCR2) & UCR2_SRST) && (--i > 0))
-   udelay(1);
-
-   /* Restore the registers */
-   imx_uart_writel(sport, ubir, UBIR);
-   imx_uart_writel(sport, ubmr, UBMR);
-   imx_uart_writel(sport, uts, IMX21_UTS);
 }
 
 static void
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13320): 
https://lists.yoctoproject.org/g/linux-yocto/message/13320
Mute This Topic: https://lists.yoctoproject.org/mt/102866412/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 

[linux-yocto][yocto-kernel-cache yocto-5.15] nxp-imx8: Add optee CONFIG for imx8 plat

2023-11-26 Thread Xiaolei Wang via lists.yoctoproject.org
Add optee CONFIG for imx8 plat.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 7f44ff44..8eebf588 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -473,4 +473,10 @@ CONFIG_IMX_DSP=y
 CONFIG_IMX_SCU_PD=y
 CONFIG_IIO=y
 
+#
+# TEE drivers
+#
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13314): 
https://lists.yoctoproject.org/g/linux-yocto/message/13314
Mute This Topic: https://lists.yoctoproject.org/mt/102825038/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc] mxc: hantro_v4l2: Move mutex_lock from getMsg to v4l2_msg_read()

2023-11-22 Thread Xiaolei Wang via lists.yoctoproject.org
Move mutex_lock to v4l2_msg_read() to avoid the following warning:
wait_event_interruptible_timeout will set task to TASK_INTERRUPT,
if the first v4l2_msg_read() has not ended, and the second
v4l2_msg_read() enters might_sleep, the following warning will be reported.

WARNING: CPU: 1 PID: 236 at kernel/sched/core.c:9859 __might_sleep+0x80/0xa4
ak4458 2-0011: supply AVDD not found, using dummy regulator
CPU: 1 PID: 236 Comm: vsidaemon Not tainted 6.1.55-yocto-standard #1
Hardware name: NXP i.MX8MQ EVK (DT)
cfg80211: Loading compiled-in X.509 certificates for regulatory database
pstate: 6005 (nZCv daif PAN -UAO -TCO -DIT -SSBS BTYPE=-)
pc : __might_sleep+0x80/0xa4
lr : __might_sleep+0x80/0xa4
sp : ffc00a71bc10
x29: ffc00a71bc10 x28: ff8008db1c00 x27: 
x26:  x25: ffc009bc1780 x24: ffc009bc1748
x23: 007fe23a9420 x22: 0430 x21: 007fe23a9420
x20: 03d3 x19: ffc009324670 x18: 
x17:  x16:  x15: 
x14: 016feed34d55873c x13: ffc00903cda0 x12: fa83b2da
x11: 02f2 x10: 09a0 x9 : ffc0090201f4
x8 : ff8008db2600 x7 : 0001 x6 : b83b
x5 : 410fd030 x4 : 0002 x3 : ff800700fbc8
x2 :  x1 :  x0 : ff8008db1c00
Call trace:
__might_sleep+0x80/0xa4
mutex_lock_interruptible+0x2c/0x80
getMsg.constprop.0+0x4c/0x190
v4l2_msg_read+0xf8/0x174
vfs_read+0xc8/0x294
ksys_read+0x78/0x10c
__arm64_sys_read+0x24/0x30
invoke_syscall+0x5c/0x130
el0_svc_common.constprop.0+0x4c/0xf4
do_el0_svc+0x34/0xc0
el0_svc+0x2c/0x84
el0t_64_sync_handler+0xf4/0x120
el0t_64_sync+0x18c/0x190

Signed-off-by: Xiaolei Wang 
---
 drivers/mxc/hantro_v4l2/vsi-v4l2daemon.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/mxc/hantro_v4l2/vsi-v4l2daemon.c 
b/drivers/mxc/hantro_v4l2/vsi-v4l2daemon.c
index 3221ddacb1df..569da9759b1a 100644
--- a/drivers/mxc/hantro_v4l2/vsi-v4l2daemon.c
+++ b/drivers/mxc/hantro_v4l2/vsi-v4l2daemon.c
@@ -164,13 +164,11 @@ static int getMsg(struct file *fh, char __user *buf, 
size_t size)
int id, offset = 0;
struct vsi_v4l2_msg *obj;
 
-   if (mutex_lock_interruptible(_lock))
-   return -EBUSY;
idr_for_each_entry(cmdarray, obj, id) {
if (offset >= size)
break;
if (obj) {
-   if (copy_to_user((void __user *)buf + offset, (void 
*)obj, sizeof(struct vsi_v4l2_msg_hdr) + obj->size) != 0)
+   if (__copy_to_user_inatomic((void __user *)buf + 
offset, (void *)obj, sizeof(struct vsi_v4l2_msg_hdr) + obj->size) != 0)
break;
v4l2_klog(LOGLVL_VERBOSE, "%llx send msg  id = %d", 
obj->inst_id, obj->cmd_id);
offset += sizeof(struct vsi_v4l2_msg_hdr) + obj->size;
@@ -180,7 +178,6 @@ static int getMsg(struct file *fh, char __user *buf, size_t 
size)
break;
}
}
-   mutex_unlock(_lock);
return offset;
 }
 
@@ -626,7 +623,10 @@ static ssize_t v4l2_msg_read(struct file *fh, char __user 
*buf, size_t size, lof
 {
int ret, r;
 
+   if (mutex_lock_interruptible(_lock))
+   return -EBUSY;
ret = wait_event_interruptible_timeout(cmd_queue, ((r = getMsg(fh, buf, 
size)) != 0), msecs_to_jiffies(100));
+   mutex_unlock(_lock);
if (ret == -ERESTARTSYS)
return -EIO;
else if (ret == 0)
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13306): 
https://lists.yoctoproject.org/g/linux-yocto/message/13306
Mute This Topic: https://lists.yoctoproject.org/mt/102763090/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[v2][linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] media: amphion: Move the blocking check_is_responsed() out of wait event loop

2023-10-30 Thread Xiaolei Wang via lists.yoctoproject.org
The blocking ops can't be used as a condition parameter of
wait_event_timeout(), otherwise we would get a warning like below:

 do not call blocking ops when !TASK_RUNNING; state=2
 WARNING: CPU: 5 PID: 741 at kernel/sched/core.c:9859 __might_sleep+0x80/0xa4
 CPU: 5 PID: 741 Comm: mxc_v4l2_vpu_te Tainted: G C 
6.1.55-yocto-standard #1
 Hardware name: Freescale i.MX8QM MEK (DT)
 pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
 pc : __might_sleep+0x80/0xa4
 lr : __might_sleep+0x80/0xa4
 sp : ffc0123738a0
 x29: ffc0123738a0 x28: ffc009194c48 x27: ffc00bbc1050
 x26: ff8814b282f0 x25: ff8814b280d0 x24: ff8814b28080
 x23: 0001 x22: 0032 x21: ffc00bbc1000
 x20: 011b x19: ffc009324670 x18: fffd
 x17: 30303c5b20746120 x16: 74657320323d6574 x15: 617473203b474e49
 x14: 00058b5b8b9aa1f1 x13: ffc00903cda0 x12: d744fcc9
 x11: 001c x10: 09a0 x9 : ffc0090201f4
 x8 : ff8828245000 x7 : 0001 x6 : 0001
 x5 : 410fd080 x4 : 0002 x3 : ff8815aab4c8
 x2 :  x1 :  x0 : ff8828244600
  Call trace:
  __might_sleep+0x80/0xa4
  mutex_lock+0x2c/0x80
  sync_session_response+0x110/0x310
  vpu_session_send_cmd+0x18c/0x244
  vpu_session_start+0x38/0x70
  vdec_start_session+0x1b4/0x3e0
  vpu_vb2_start_streaming+0xa0/0x1c4
  vb2_start_streaming+0x74/0x160
  vb2_core_qbuf+0x488/0x650
  vb2_qbuf+0x9c/0x100
  v4l2_m2m_qbuf+0x7c/0x224
  v4l2_m2m_ioctl_qbuf+0x20/0x2c
  v4l_qbuf+0x50/0x6c
  __video_do_ioctl+0x174/0x3f0
  video_usercopy+0x210/0x7cc
  video_ioctl2+0x20/0x30
  v4l2_ioctl+0x48/0x6c

It is not easy to convert the check_is_responsed() to a non-block
function. In order to fix this issue, use a unwinding implementation
of wait_event_timeout().

Signed-off-by: Xiaolei Wang 
---
 drivers/media/platform/amphion/vpu_cmds.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/amphion/vpu_cmds.c 
b/drivers/media/platform/amphion/vpu_cmds.c
index fa581ba6bab2..259dfa67a15f 100644
--- a/drivers/media/platform/amphion/vpu_cmds.c
+++ b/drivers/media/platform/amphion/vpu_cmds.c
@@ -272,6 +272,7 @@ static bool check_is_responsed(struct vpu_inst *inst, 
unsigned long key)
 static int sync_session_response(struct vpu_inst *inst, unsigned long key, 
long timeout, int try)
 {
struct vpu_core *core;
+struct wait_queue_entry wq_entry;
 
if (!inst || !inst->core)
return -EINVAL;
@@ -279,7 +280,18 @@ static int sync_session_response(struct vpu_inst *inst, 
unsigned long key, long
core = inst->core;
 
call_void_vop(inst, wait_prepare);
-   wait_event_timeout(core->ack_wq, check_is_responsed(inst, key), 
timeout);
+   init_wait_entry(_entry, 0);
+   for (;;) {
+   if (check_is_responsed(inst, key))
+break;
+
+   prepare_to_wait_event(>ack_wq, _entry, 
TASK_UNINTERRUPTIBLE);
+
+   timeout = schedule_timeout(timeout);
+   if (!timeout)
+   break;
+   }
+   finish_wait(>ack_wq, _entry);
call_void_vop(inst, wait_finish);
 
if (!check_is_responsed(inst, key)) {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13249): 
https://lists.yoctoproject.org/g/linux-yocto/message/13249
Mute This Topic: https://lists.yoctoproject.org/mt/102290059/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] media: amphion: Move the blocking check_is_responsed() out of wait event loop

2023-10-30 Thread Xiaolei Wang via lists.yoctoproject.org
Drop  this patch since there is a little problem with the commit log, I will 
send v2


thanks
xiaolei

From: Wang, Xiaolei
Sent: Monday, October 30, 2023 4:21 PM
To: bruce.ashfi...@gmail.com 
Cc: linux-yocto@lists.yoctoproject.org 
Subject: [linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] media: amphion: Move the 
blocking check_is_responsed() out of wait event loop

The blocking ops can't be used as a condition parameter of
wait_event_timeout(), otherwise we would get a warning like below:

The blocking ops can't be used as a condition parameter of
wait_event_timeout(), otherwise we would get a warning like below:

 do not call blocking ops when !TASK_RUNNING; state=2
 WARNING: CPU: 5 PID: 741 at kernel/sched/core.c:9859 __might_sleep+0x80/0xa4
 CPU: 5 PID: 741 Comm: mxc_v4l2_vpu_te Tainted: G C 
6.1.55-yocto-standard #1
 Hardware name: Freescale i.MX8QM MEK (DT)
 pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
 pc : __might_sleep+0x80/0xa4
 lr : __might_sleep+0x80/0xa4
 sp : ffc0123738a0
 x29: ffc0123738a0 x28: ffc009194c48 x27: ffc00bbc1050
 x26: ff8814b282f0 x25: ff8814b280d0 x24: ff8814b28080
 x23: 0001 x22: 0032 x21: ffc00bbc1000
 x20: 011b x19: ffc009324670 x18: fffd
 x17: 30303c5b20746120 x16: 74657320323d6574 x15: 617473203b474e49
 x14: 00058b5b8b9aa1f1 x13: ffc00903cda0 x12: d744fcc9
 x11: 001c x10: 09a0 x9 : ffc0090201f4
 x8 : ff8828245000 x7 : 0001 x6 : 0001
 x5 : 410fd080 x4 : 0002 x3 : ff8815aab4c8
 x2 :  x1 :  x0 : ff8828244600
  Call trace:
  __might_sleep+0x80/0xa4
  mutex_lock+0x2c/0x80
  sync_session_response+0x110/0x310
  vpu_session_send_cmd+0x18c/0x244
  vpu_session_start+0x38/0x70
  vdec_start_session+0x1b4/0x3e0
  vpu_vb2_start_streaming+0xa0/0x1c4
  vb2_start_streaming+0x74/0x160
  vb2_core_qbuf+0x488/0x650
  vb2_qbuf+0x9c/0x100
  v4l2_m2m_qbuf+0x7c/0x224
  v4l2_m2m_ioctl_qbuf+0x20/0x2c
  v4l_qbuf+0x50/0x6c
  __video_do_ioctl+0x174/0x3f0
  video_usercopy+0x210/0x7cc
  video_ioctl2+0x20/0x30
  v4l2_ioctl+0x48/0x6c

It is not easy to convert the check_is_responsed() to a non-block
function. In order to fix this issue, use a unwinding implementation
of wait_event_timeout().

Signed-off-by: Xiaolei Wang 
---
 drivers/media/platform/amphion/vpu_cmds.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/amphion/vpu_cmds.c 
b/drivers/media/platform/amphion/vpu_cmds.c
index fa581ba6bab2..259dfa67a15f 100644
--- a/drivers/media/platform/amphion/vpu_cmds.c
+++ b/drivers/media/platform/amphion/vpu_cmds.c
@@ -272,6 +272,7 @@ static bool check_is_responsed(struct vpu_inst *inst, 
unsigned long key)
 static int sync_session_response(struct vpu_inst *inst, unsigned long key, 
long timeout, int try)
 {
 struct vpu_core *core;
+struct wait_queue_entry wq_entry;

 if (!inst || !inst->core)
 return -EINVAL;
@@ -279,7 +280,18 @@ static int sync_session_response(struct vpu_inst *inst, 
unsigned long key, long
 core = inst->core;

 call_void_vop(inst, wait_prepare);
-   wait_event_timeout(core->ack_wq, check_is_responsed(inst, key), 
timeout);
+   init_wait_entry(_entry, 0);
+   for (;;) {
+   if (check_is_responsed(inst, key))
+break;
+
+   prepare_to_wait_event(>ack_wq, _entry, 
TASK_UNINTERRUPTIBLE);
+
+   timeout = schedule_timeout(timeout);
+   if (!timeout)
+   break;
+   }
+   finish_wait(>ack_wq, _entry);
 call_void_vop(inst, wait_finish);

 if (!check_is_responsed(inst, key)) {
--
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13248): 
https://lists.yoctoproject.org/g/linux-yocto/message/13248
Mute This Topic: https://lists.yoctoproject.org/mt/102270806/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] media: amphion: Move the blocking check_is_responsed() out of wait event loop

2023-10-30 Thread Xiaolei Wang via lists.yoctoproject.org
The blocking ops can't be used as a condition parameter of
wait_event_timeout(), otherwise we would get a warning like below:

The blocking ops can't be used as a condition parameter of
wait_event_timeout(), otherwise we would get a warning like below:

 do not call blocking ops when !TASK_RUNNING; state=2
 WARNING: CPU: 5 PID: 741 at kernel/sched/core.c:9859 __might_sleep+0x80/0xa4
 CPU: 5 PID: 741 Comm: mxc_v4l2_vpu_te Tainted: G C 
6.1.55-yocto-standard #1
 Hardware name: Freescale i.MX8QM MEK (DT)
 pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
 pc : __might_sleep+0x80/0xa4
 lr : __might_sleep+0x80/0xa4
 sp : ffc0123738a0
 x29: ffc0123738a0 x28: ffc009194c48 x27: ffc00bbc1050
 x26: ff8814b282f0 x25: ff8814b280d0 x24: ff8814b28080
 x23: 0001 x22: 0032 x21: ffc00bbc1000
 x20: 011b x19: ffc009324670 x18: fffd
 x17: 30303c5b20746120 x16: 74657320323d6574 x15: 617473203b474e49
 x14: 00058b5b8b9aa1f1 x13: ffc00903cda0 x12: d744fcc9
 x11: 001c x10: 09a0 x9 : ffc0090201f4
 x8 : ff8828245000 x7 : 0001 x6 : 0001
 x5 : 410fd080 x4 : 0002 x3 : ff8815aab4c8
 x2 :  x1 :  x0 : ff8828244600
  Call trace:
  __might_sleep+0x80/0xa4
  mutex_lock+0x2c/0x80
  sync_session_response+0x110/0x310
  vpu_session_send_cmd+0x18c/0x244
  vpu_session_start+0x38/0x70
  vdec_start_session+0x1b4/0x3e0
  vpu_vb2_start_streaming+0xa0/0x1c4
  vb2_start_streaming+0x74/0x160
  vb2_core_qbuf+0x488/0x650
  vb2_qbuf+0x9c/0x100
  v4l2_m2m_qbuf+0x7c/0x224
  v4l2_m2m_ioctl_qbuf+0x20/0x2c
  v4l_qbuf+0x50/0x6c
  __video_do_ioctl+0x174/0x3f0
  video_usercopy+0x210/0x7cc
  video_ioctl2+0x20/0x30
  v4l2_ioctl+0x48/0x6c

It is not easy to convert the check_is_responsed() to a non-block
function. In order to fix this issue, use a unwinding implementation
of wait_event_timeout().

Signed-off-by: Xiaolei Wang 
---
 drivers/media/platform/amphion/vpu_cmds.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/amphion/vpu_cmds.c 
b/drivers/media/platform/amphion/vpu_cmds.c
index fa581ba6bab2..259dfa67a15f 100644
--- a/drivers/media/platform/amphion/vpu_cmds.c
+++ b/drivers/media/platform/amphion/vpu_cmds.c
@@ -272,6 +272,7 @@ static bool check_is_responsed(struct vpu_inst *inst, 
unsigned long key)
 static int sync_session_response(struct vpu_inst *inst, unsigned long key, 
long timeout, int try)
 {
struct vpu_core *core;
+struct wait_queue_entry wq_entry;
 
if (!inst || !inst->core)
return -EINVAL;
@@ -279,7 +280,18 @@ static int sync_session_response(struct vpu_inst *inst, 
unsigned long key, long
core = inst->core;
 
call_void_vop(inst, wait_prepare);
-   wait_event_timeout(core->ack_wq, check_is_responsed(inst, key), 
timeout);
+   init_wait_entry(_entry, 0);
+   for (;;) {
+   if (check_is_responsed(inst, key))
+break;
+
+   prepare_to_wait_event(>ack_wq, _entry, 
TASK_UNINTERRUPTIBLE);
+
+   timeout = schedule_timeout(timeout);
+   if (!timeout)
+   break;
+   }
+   finish_wait(>ack_wq, _entry);
call_void_vop(inst, wait_finish);
 
if (!check_is_responsed(inst, key)) {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13247): 
https://lists.yoctoproject.org/g/linux-yocto/message/13247
Mute This Topic: https://lists.yoctoproject.org/mt/102270806/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx7: set CONFIG_CC_OPTIMIZE_FOR_SIZE to n

2023-10-26 Thread Xiaolei Wang via lists.yoctoproject.org
Disable CONFIG_CC_OPTIMIZE_FOR_SIZE to fix the warning when 
do_kernel_configcheck:

[NOTE]: 'CONFIG_CC_OPTIMIZE_FOR_SIZE' last val (n) and .config val (y) do not 
match
[INFO]: CONFIG_CC_OPTIMIZE_FOR_SIZE : y ## .config: 210 
:configs/v6.1/standard/preempt-rt/arch/arm/arm.cfg (y) 
configs/v6.1/standard/preempt-rt/ktypes/preempt-rt/preempt-rt.cfg (n)
[INFO]: raw config text:

config CC_OPTIMIZE_FOR_SIZE
bool "Optimize for size (-Os)"
depends on 
help
  Choosing this option will pass "-Os" to your compiler 
resulting
  in a smaller kernel.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx7/nxp-imx7.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsp/nxp-imx7/nxp-imx7.cfg b/bsp/nxp-imx7/nxp-imx7.cfg
index 37438785..a260e786 100644
--- a/bsp/nxp-imx7/nxp-imx7.cfg
+++ b/bsp/nxp-imx7/nxp-imx7.cfg
@@ -239,3 +239,5 @@ CONFIG_MAILBOX=y
 
 CONFIG_IIO=y
 CONFIG_IMX7D_ADC=y
+
+CONFIG_CC_OPTIMIZE_FOR_SIZE=n
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13239): 
https://lists.yoctoproject.org/g/linux-yocto/message/13239
Mute This Topic: https://lists.yoctoproject.org/mt/102194926/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] gpu: imx: dpu: Use raw_spin_lock instead of mutex_lock

2023-10-23 Thread Xiaolei Wang via lists.yoctoproject.org
For Atomic Mode Setting, it is safer to use raw spin lock.
Mutex may cause scheduling, which avoids the following warning.

BUG: sleeping function called from invalid context at kernel/locking/mutex.c:283
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 191, name: kworker/5:13
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
Preemption disabled at:
] dpu_crtc_atomic_flush+0x364/0x62c
 CPU: 5 PID: 191 Comm: kworker/5:13 Tainted: GWC 
6.1.30-yocto-standard #1
 Hardware name: Freescale i.MX8QM MEK (DT)
 Workqueue: events drm_mode_rmfb_work_fn
 Call trace:
 dump_backtrace.part.0+0xc8/0xd4
 show_stack+0x20/0x30
 dump_stack_lvl+0x6c/0x88
 dump_stack+0x18/0x34
 __might_resched+0x154/0x1c0
 __might_sleep+0x54/0xa4
 mutex_lock+0x2c/0x80
 fetchunit_is_enabled+0x28/0x70
 dpu_crtc_atomic_flush+0x198/0x62c
 drm_atomic_helper_commit_planes+0x158/0x220
 drm_atomic_helper_commit_tail+0x5c/0xb0
 commit_tail+0x130/0x17c
 drm_atomic_helper_commit+0x14c/0x180
 drm_atomic_commit+0xb0/0xf0
 drm_framebuffer_remove+0x468/0x4fc
 drm_mode_rmfb_work_fn+0x84/0xb0
 process_one_work+0x1f8/0x480
 worker_thread+0x238/0x450
 kthread+0x108/0x114
 ret_from_fork+0x10/0x20

Signed-off-by: Xiaolei Wang 
---
 drivers/gpu/imx/dpu/dpu-fetchdecode.c | 94 +--
 drivers/gpu/imx/dpu/dpu-fetcheco.c| 56 
 drivers/gpu/imx/dpu/dpu-fetchlayer.c  | 48 +++---
 drivers/gpu/imx/dpu/dpu-fetchunit.c   | 44 ++---
 drivers/gpu/imx/dpu/dpu-fetchwarp.c   | 48 +++---
 include/video/dpu.h   |  2 +-
 6 files changed, 146 insertions(+), 146 deletions(-)

diff --git a/drivers/gpu/imx/dpu/dpu-fetchdecode.c 
b/drivers/gpu/imx/dpu/dpu-fetchdecode.c
index 66d5862fbfa1..cacf3124c7fe 100644
--- a/drivers/gpu/imx/dpu/dpu-fetchdecode.c
+++ b/drivers/gpu/imx/dpu/dpu-fetchdecode.c
@@ -79,15 +79,15 @@ int fetchdecode_pixengcfg_dynamic_src_sel(struct 
dpu_fetchunit *fu,
 {
int i;
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
for (i = 0; i < 4; i++) {
if (fd_srcs[fu->id][i] == src) {
dpu_pec_fu_write(fu, PIXENGCFG_DYNAMIC, src);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
return 0;
}
}
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 
return -EINVAL;
 }
@@ -116,21 +116,21 @@ fetchdecode_set_baseaddress(struct dpu_fetchunit *fu, 
unsigned int width,
baddr += (dma_addr_t)(y_offset % mt_h) * stride;
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
dpu_fu_write(fu, BASEADDRESS0, baddr);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void fetchdecode_set_src_bpp(struct dpu_fetchunit *fu, int bpp)
 {
u32 val;
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, SOURCEBUFFERATTRIBUTES0);
val &= ~0x3f;
val |= BITSPERPIXEL(bpp);
dpu_fu_write(fu, SOURCEBUFFERATTRIBUTES0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void
@@ -155,12 +155,12 @@ fetchdecode_set_src_stride(struct dpu_fetchunit *fu,
  baddr, nonzero_mod);
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, SOURCEBUFFERATTRIBUTES0);
val &= ~0x;
val |= STRIDE(stride);
dpu_fu_write(fu, SOURCEBUFFERATTRIBUTES0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void
@@ -175,9 +175,9 @@ fetchdecode_set_src_buf_dimensions(struct dpu_fetchunit *fu,
 
val = LINEWIDTH(w) | LINECOUNT(h);
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
dpu_fu_write(fu, SOURCEBUFFERDIMENSION0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 }
 
 static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
@@ -224,7 +224,7 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
break;
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);
val = dpu_fu_read(fu, CONTROL);
val &= ~YUV422UPSAMPLINGMODE_MASK;
val &= ~INPUTSELECT_MASK;
@@ -258,7 +258,7 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
val |= YUVCONVERSIONMODE(YUVCONVERSIONMODE__OFF);
}
dpu_fu_write(fu, LAYERPROPERTY0, val);
-   mutex_unlock(>mutex);
+   raw_spin_unlock(>lock);
 
for (i = 0; i < ARRAY_SIZE(dpu_pixel_format_matrix); i++) {
if (dpu_pixel_format_matrix[i].pixel_format == fmt) {
@@ -270,10 +270,10 @@ static void fetchdecode_set_fmt(struct dpu_fetchunit *fu,
shift &= ~(U_SHIFT_MASK | V_SHIFT_MASK);
}
 
-   mutex_lock(>mutex);
+   raw_spin_lock(>lock);

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Modify IMX_SDMA from 'y' to 'm'

2023-10-12 Thread Xiaolei Wang via lists.yoctoproject.org
According to lastest SDK, we need modify IMX_SDMA from 'y' to 'm',
sdma need load firmware,initialization is completed immediately.
otherwise 'sdma or sdma firmware not ready!' will occurs.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 404d848b..3aa827b8 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -475,7 +475,7 @@ CONFIG_DMADEVICES=y
 CONFIG_FSL_EDMA=y
 CONFIG_FSL_QDMA=m
 CONFIG_FSL_EDMA_V3=y
-CONFIG_IMX_SDMA=y
+CONFIG_IMX_SDMA=m
 CONFIG_MXC_PXP_V3=y
 CONFIG_MXC_PXP_CLIENT_DEVICE=y
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13180): 
https://lists.yoctoproject.org/g/linux-yocto/message/13180
Mute This Topic: https://lists.yoctoproject.org/mt/101931290/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable RTC_DRV_SNVS for imx8mq

2023-10-12 Thread Xiaolei Wang via lists.yoctoproject.org
Enable RTC_DRV_SNVS for imx8mq.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 116e055a..404d848b 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -466,6 +466,7 @@ CONFIG_LEDS_TRIGGER_CPU=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_IMX_SC=y
 CONFIG_RTC_DRV_IMX_RPMSG=y
+CONFIG_RTC_DRV_SNVS=y
 
 #
 # DMA Devices
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13179): 
https://lists.yoctoproject.org/g/linux-yocto/message/13179
Mute This Topic: https://lists.yoctoproject.org/mt/101914190/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 2/2] nxp-imx8: Enable QORIQ_THERMAL for imx8mq thermal

2023-10-12 Thread Xiaolei Wang via lists.yoctoproject.org
Enable QORIQ_THERMAL for imx8mq thermal.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 82e7e81a..116e055a 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -349,6 +349,7 @@ CONFIG_RESET_IMX7=y
 #
 CONFIG_IMX_SC_THERMAL=y
 CONFIG_DEVICE_THERMAL=y
+CONFIG_QORIQ_THERMAL=y
 
 #
 # Frame buffer Devices
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13178): 
https://lists.yoctoproject.org/g/linux-yocto/message/13178
Mute This Topic: https://lists.yoctoproject.org/mt/101913725/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/2] nxp-imx8: Enable usb dwc3 config

2023-10-12 Thread Xiaolei Wang via lists.yoctoproject.org
Enable usb dwc3 config for imx8mq.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 9ba3ee88..82e7e81a 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -425,6 +425,7 @@ CONFIG_USB_CONFIGFS=m
 CONFIG_USB_G_NCM=m
 CONFIG_USB_G_ACM_MS=m
 CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_DWC3=y
 
 #
 # Typec driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13177): 
https://lists.yoctoproject.org/g/linux-yocto/message/13177
Mute This Topic: https://lists.yoctoproject.org/mt/101913724/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 1/1] arm64: dts: imx8qm: Fix build warning unit name should not have leading "0x"

2023-10-10 Thread Xiaolei Wang via lists.yoctoproject.org
Prefixing the address with '0x' is already redundant,
so remove it. This patch fixes the following warning:

unit name should not have leading "0x"

Signed-off-by: Xiaolei Wang 
---
 arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts 
b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
index c9e6ca22d460..2684250973fd 100755
--- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
+++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
@@ -89,12 +89,12 @@ reserved-memory {
#size-cells = <2>;
ranges;
 
-   gpu_reserved: gpu_reserved@0x88 {
+   gpu_reserved: gpu_reserved@88 {
no-map;
reg = <0x8 0x8000 0 0x1000>;
};
 
-   decoder_boot: decoder_boot@0x8400 {
+   decoder_boot: decoder_boot@8400 {
no-map;
reg = <0 0x8400 0 0x200>;
};
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13167): 
https://lists.yoctoproject.org/g/linux-yocto/message/13167
Mute This Topic: https://lists.yoctoproject.org/mt/101886801/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH 1/1] ARM: imx: use raw_spin_lock instead of spin_lock

2023-10-09 Thread Xiaolei Wang via lists.yoctoproject.org
Use raw_spin_lock instead of spin_lock,
this patch fixes the following warning:

Hardware name: Freescale i.MX7 Dual (Device Tree)
 unwind_backtrace from show_stack+0x18/0x1c
 show_stack from dump_stack_lvl+0x40/0x4c
 dump_stack_lvl from __might_resched+0x140/0x1b4
 __might_resched from rt_spin_lock+0x28/0x74
 rt_spin_lock from imx_gpcv2_set_lpm_mode+0x1c/0xbc
 imx_gpcv2_set_lpm_mode from imx7d_enter_low_power_idle+0x7c/0x30c
 imx7d_enter_low_power_idle from cpuidle_enter_state+0xe8/0x328
 cpuidle_enter_state from cpuidle_enter+0x3c/0x50
 cpuidle_enter from do_idle+0x218/0x268
 do_idle from cpu_startup_entry+0x20/0x24
 cpu_startup_entry from rest_init+0xbc/0xd8
 rest_init from arch_post_acpi_subsys_init+0x0/0x18

Signed-off-by: Xiaolei Wang 
---
 arch/arm/mach-imx/gpcv2.c | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/arch/arm/mach-imx/gpcv2.c b/arch/arm/mach-imx/gpcv2.c
index 62e8b0089348..4e7034c79ad7 100644
--- a/arch/arm/mach-imx/gpcv2.c
+++ b/arch/arm/mach-imx/gpcv2.c
@@ -109,7 +109,7 @@ static u32 gpcv2_saved_imrs[IMR_NUM];
 static u32 gpcv2_saved_imrs_m4[IMR_NUM];
 static u32 gpcv2_mf_irqs[IMR_NUM];
 static u32 gpcv2_mf_request_on[IMR_NUM];
-static DEFINE_SPINLOCK(gpcv2_lock);
+static DEFINE_RAW_SPINLOCK(gpcv2_lock);
 
 void imx_gpcv2_add_m4_wake_up_irq(u32 hwirq, bool enable)
 {
@@ -122,10 +122,10 @@ void imx_gpcv2_add_m4_wake_up_irq(u32 hwirq, bool enable)
return;
 
mask = 1 << hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpcv2_wake_irqs[idx] = enable ? gpcv2_wake_irqs[idx] | mask :
gpcv2_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 static int imx_gpcv2_irq_set_wake(struct irq_data *d, unsigned int on)
@@ -137,10 +137,10 @@ static int imx_gpcv2_irq_set_wake(struct irq_data *d, 
unsigned int on)
BUG_ON(idx >= IMR_NUM);
 
mask = 1 << d->hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpcv2_wake_irqs[idx] = on ? gpcv2_wake_irqs[idx] | mask :
  gpcv2_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
return 0;
 }
@@ -226,7 +226,7 @@ void imx_gpcv2_set_lpm_mode(enum mxc_cpu_pwr_mode mode)
unsigned long flags;
u32 val1, val2;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
val1 = readl_relaxed(gpc_base + GPC_LPCR_A7_BSC);
val2 = readl_relaxed(gpc_base + GPC_SLPCR);
@@ -283,7 +283,7 @@ void imx_gpcv2_set_lpm_mode(enum mxc_cpu_pwr_mode mode)
writel_relaxed(val1, gpc_base + GPC_LPCR_A7_BSC);
writel_relaxed(val2, gpc_base + GPC_SLPCR);
 
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_plat_power_gate_by_lpm(bool pdn)
@@ -329,7 +329,7 @@ void imx_gpcv2_set_cpu_power_gate_by_wfi(u32 cpu, bool pdn)
unsigned long flags;
u32 val;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
val = readl_relaxed(gpc_base + GPC_LPCR_A7_AD);
 
if (cpu == 0) {
@@ -355,7 +355,7 @@ void imx_gpcv2_set_cpu_power_gate_by_wfi(u32 cpu, bool pdn)
}
}
writel_relaxed(val, gpc_base + GPC_LPCR_A7_AD);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
@@ -363,7 +363,7 @@ void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
unsigned long flags;
u32 val;
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
val = readl_relaxed(gpc_base + GPC_LPCR_A7_AD);
if (cpu == 0) {
@@ -384,7 +384,7 @@ void imx_gpcv2_set_cpu_power_gate_by_lpm(u32 cpu, bool pdn)
}
 
writel_relaxed(val, gpc_base + GPC_LPCR_A7_AD);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
@@ -395,7 +395,7 @@ void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
for_each_possible_cpu(cpu)
imx_gpcv2_set_cpu_power_gate_by_lpm(cpu, pdn);
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
 
imx_gpcv2_set_m_core_pgc(pdn, GPC_PGC_C0);
if (num_online_cpus() > 1)
@@ -424,7 +424,7 @@ void imx_gpcv2_set_cpu_power_gate_in_idle(bool pdn)
gpc_base + GPC_PGC_ACK_SEL_A7);
imx_gpcv2_enable_rbc(false);
}
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpcv2_set_mix_phy_gate_by_lpm(u32 pdn_index, u32 pup_index)
@@ -468,10 +468,10 @@ int 

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx7: Add nxp-imx7 kernel cache for yocto-6.1

2023-09-26 Thread Xiaolei Wang via lists.yoctoproject.org
Add nxp-imx7 kernel cache for yocto-6.1.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx7/nxp-imx7-preempt-rt.scc |   7 +
 bsp/nxp-imx7/nxp-imx7-standard.scc   |   7 +
 bsp/nxp-imx7/nxp-imx7.cfg| 241 +++
 bsp/nxp-imx7/nxp-imx7.scc|   7 +
 4 files changed, 262 insertions(+)
 create mode 100644 bsp/nxp-imx7/nxp-imx7-preempt-rt.scc
 create mode 100644 bsp/nxp-imx7/nxp-imx7-standard.scc
 create mode 100644 bsp/nxp-imx7/nxp-imx7.cfg
 create mode 100644 bsp/nxp-imx7/nxp-imx7.scc

diff --git a/bsp/nxp-imx7/nxp-imx7-preempt-rt.scc 
b/bsp/nxp-imx7/nxp-imx7-preempt-rt.scc
new file mode 100644
index ..4dcdb750
--- /dev/null
+++ b/bsp/nxp-imx7/nxp-imx7-preempt-rt.scc
@@ -0,0 +1,7 @@
+define KMACHINE nxp-imx7
+define KTYPE preempt-rt
+define KARCH arm
+
+include ktypes/preempt-rt
+
+include nxp-imx7.scc
diff --git a/bsp/nxp-imx7/nxp-imx7-standard.scc 
b/bsp/nxp-imx7/nxp-imx7-standard.scc
new file mode 100644
index ..261ce497
--- /dev/null
+++ b/bsp/nxp-imx7/nxp-imx7-standard.scc
@@ -0,0 +1,7 @@
+define KMACHINE nxp-imx7
+define KTYPE standard
+define KARCH arm
+
+include ktypes/standard
+
+include nxp-imx7.scc
diff --git a/bsp/nxp-imx7/nxp-imx7.cfg b/bsp/nxp-imx7/nxp-imx7.cfg
new file mode 100644
index ..37438785
--- /dev/null
+++ b/bsp/nxp-imx7/nxp-imx7.cfg
@@ -0,0 +1,241 @@
+CONFIG_ARCH_MXC=y
+CONFIG_SOC_IMX7D=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+
+CONFIG_NR_CPUS=2
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ARM_IMX_CPUFREQ_DT=y
+
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+CONFIG_VFP=y
+CONFIG_NEON=y
+
+CONFIG_MXC_CLK=y
+
+CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=m
+CONFIG_MXS_DMA=y
+CONFIG_DMA_OF=y
+CONFIG_MXC_PXP_V2=y
+
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+
+CONFIG_WLAN_VENDOR_BROADCOM=y
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_CAN=y
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_FLEXCAN=y
+
+CONFIG_CMA=y
+CONFIG_IMX_WEIM=y
+
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_MTD_SST25L=y
+
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_KEYBOARD_GPIO=y
+
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
+
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+
+CONFIG_NVMEM_IMX_OCOTP=y
+
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_IMX=y
+
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_SPI_GPIO=y
+
+CONFIG_POWER_SUPPLY=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_SI476X_CORE=y
+
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_PFUZE100=y
+
+CONFIG_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5640_V2=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m
+CONFIG_MXC_MIPI_CSI=m
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MUX=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+
+CONFIG_FB=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_MXC_IPU=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXS=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_HDMI=y
+
+CONFIG_FB_MXC=y
+CONFIG_FB_MXC_EDID=y
+CONFIG_FB_MXS_SII902X=y
+
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+
+CONFIG_USB=y
+CONFIG_USB_OTG=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_PHY=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_NOP_USB_XCEIV=y
+
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+CONFIG_PCI=y
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PCI_MSI=y

[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 1/2] arm: imx: Fix a build error undefined reference to `imx_smp_ops'

2023-09-25 Thread Xiaolei Wang via lists.yoctoproject.org
Due to imx7 compilation depends on some imx6 code,
so when imx6 config is not enabled, we will encounter
undefined reference to `imx_smp_ops', so include the
compilation of platsmp.c to imx7d.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 60a1e3eb3cdb..09ffe02e5430 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -43,7 +43,7 @@ obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o
 obj-$(CONFIG_HAVE_IMX_SRC) += src.o
 obj-$(CONFIG_HAVE_IMX_DDRC) += ddrc.o
 obj-$(CONFIG_HAVE_IMX_MU) += mu.o
-ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A),)
+ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A)$(CONFIG_SOC_IMX7D),)
 AFLAGS_headsmp.o :=-Wa,-march=armv7-a
 obj-$(CONFIG_SMP) += headsmp.o platsmp.o
 obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13109): 
https://lists.yoctoproject.org/g/linux-yocto/message/13109
Mute This Topic: https://lists.yoctoproject.org/mt/101570008/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH 2/2] arm: imx: Enable OCOTP clock before reading the register

2023-09-25 Thread Xiaolei Wang via lists.yoctoproject.org
OCOTP register access needs the  OCOTP clock to be
running and this code peeks into this register region,
so it needs to ensure the clock is active. Otherwise,
this will affect the second kernel startup of kexec.

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/common.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/mach-imx/common.c b/arch/arm/mach-imx/common.c
index 5368497ac0db..f04195982ef9 100644
--- a/arch/arm/mach-imx/common.c
+++ b/arch/arm/mach-imx/common.c
@@ -13,6 +13,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "hardware.h"
 
@@ -52,6 +53,7 @@ void __init imx6_enet_mac_init(const char *enet_compat, const 
char *ocotp_compat
u32 macaddr1_high = 0;
u8 *macaddr;
int i, id;
+   struct clk *clk;
 
for (i = 0; i < 2; i++) {
enet_np = of_find_compatible_node(from, NULL, enet_compat);
@@ -79,12 +81,21 @@ void __init imx6_enet_mac_init(const char *enet_compat, 
const char *ocotp_compat
goto put_ocotp_node;
}
 
+   clk = of_clk_get_by_name(ocotp_np, NULL);
+   if (!clk)
+   goto put_ocotp_node;
+
+   clk_prepare_enable(clk);
+
macaddr_low = readl_relaxed(base + OCOTP_MACn(1));
if (id)
macaddr1_high = readl_relaxed(base + OCOTP_MACn(2));
else
macaddr_high = readl_relaxed(base + OCOTP_MACn(0));
 
+   clk_disable_unprepare(clk);
+   clk_put(clk);
+
newmac = kzalloc(sizeof(*newmac) + 6, GFP_KERNEL);
if (!newmac)
goto put_ocotp_node;
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13110): 
https://lists.yoctoproject.org/g/linux-yocto/message/13110
Mute This Topic: https://lists.yoctoproject.org/mt/101570009/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH 1/1] ARM: imx: use raw_spin_lock instead of spin_lock

2023-09-20 Thread Xiaolei Wang via lists.yoctoproject.org
Use raw_spin_lock instead of spin_lock,
this patch fixes the following warning:

BUG: sleeping function called from invalid context at 
kernel/locking/spinlock_rt.c:46
in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 506, name: sh
preempt_count: 2, expected: 0
RCU nest depth: 0, expected: 0
Preemption disabled at:
[<>] 0x0
CPU: 0 PID: 506 Comm: sh Not tainted 6.1.53-rt10-yocto-preempt-rt #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
 unwind_backtrace from show_stack+0x18/0x1c
 show_stack from dump_stack_lvl+0x40/0x4c
 dump_stack_lvl from __might_resched+0x17c/0x1bc
 __might_resched from rt_spin_lock+0x2c/0x90
 rt_spin_lock from imx_gpc_irq_set_wake+0x34/0x68
 imx_gpc_irq_set_wake from irq_set_irq_wake+0x154/0x1ac
 irq_set_irq_wake from gpio_set_wake_irq+0x44/0x78
 gpio_set_wake_irq from irq_set_irq_wake+0x154/0x1ac
 irq_set_irq_wake from gpio_keys_suspend+0x88/0x1b8
 gpio_keys_suspend from dpm_run_callback+0x3c/0x188
 dpm_run_callback from __device_suspend+0x124/0x5c8
 __device_suspend from dpm_suspend+0x158/0x328
 dpm_suspend from dpm_suspend_start+0x6c/0x74
 dpm_suspend_start from suspend_devices_and_enter+0x294/0x8f4
 suspend_devices_and_enter from pm_suspend+0x2e0/0x33c
 pm_suspend from state_store+0x74/0xd0

Signed-off-by: Xiaolei Wang 
---
 arch/arm/mach-imx/gpc.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
index 98caf9c67a25..dd01584051ed 100644
--- a/arch/arm/mach-imx/gpc.c
+++ b/arch/arm/mach-imx/gpc.c
@@ -51,7 +51,7 @@ static u32 gpc_wake_irqs[IMR_NUM];
 static u32 gpc_saved_imrs[IMR_NUM];
 static u32 gpc_mf_irqs[IMR_NUM];
 static u32 gpc_mf_request_on[IMR_NUM];
-static DEFINE_SPINLOCK(gpc_lock);
+static DEFINE_RAW_SPINLOCK(gpc_lock);
 
 void imx_gpc_add_m4_wake_up_irq(u32 hwirq, bool enable)
 {
@@ -64,10 +64,10 @@ void imx_gpc_add_m4_wake_up_irq(u32 hwirq, bool enable)
return;
 
mask = 1 << hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_wake_irqs[idx] = enable ? gpc_wake_irqs[idx] | mask :
gpc_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 }
 
 void imx_gpc_hold_m4_in_sleep(void)
@@ -233,10 +233,10 @@ static int imx_gpc_irq_set_wake(struct irq_data *d, 
unsigned int on)
u32 mask;
 
mask = 1 << d->hwirq % 32;
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_wake_irqs[idx] = on ? gpc_wake_irqs[idx] | mask :
  gpc_wake_irqs[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
/*
 * Do *not* call into the parent, as the GIC doesn't have any
@@ -375,10 +375,10 @@ int imx_gpc_mf_power_on(unsigned int irq, unsigned int on)
u32 mask;
 
mask = 1 << (d->irq_data.hwirq % 32);
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
gpc_mf_request_on[idx] = on ? gpc_mf_request_on[idx] | mask :
  gpc_mf_request_on[idx] & ~mask;
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
return 0;
 }
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13092): 
https://lists.yoctoproject.org/g/linux-yocto/message/13092
Mute This Topic: https://lists.yoctoproject.org/mt/101474749/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH] arm: dts: imx6q-sabresd: Enable imx6q pcie

2023-09-12 Thread Xiaolei Wang via lists.yoctoproject.org
Enable pcie for imx6q-sabresd.

Signed-off-by: Xiaolei Wang 
---
 arch/arm/boot/dts/imx6q-sabresd.dts | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts 
b/arch/arm/boot/dts/imx6q-sabresd.dts
index ca8c7d1a29cb..b4463f952831 100644
--- a/arch/arm/boot/dts/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/imx6q-sabresd.dts
@@ -53,3 +53,7 @@ _csi1_from_mipi_vc1 {
clock-lanes = <0>;
data-lanes = <1 2>;
 };
+
+ {
+   status = "okay";
+};
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13052): 
https://lists.yoctoproject.org/g/linux-yocto/message/13052
Mute This Topic: https://lists.yoctoproject.org/mt/101327206/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable PHY_FSL_IMX8Q_PCIE for imx8qm pci

2023-08-23 Thread Xiaolei Wang via lists.yoctoproject.org
nxp-imx8 has been updated to version 6.1.22,
PHY_FSL_IMX8Q_PCIE is necessary for imx8qm, so enable it.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 9ba3ee88..918df233 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -45,6 +45,7 @@ CONFIG_PCI=y
 CONFIG_PCI_MSI=y
 CONFIG_PCI_IMX6=y
 CONFIG_PCI_IMX6_HOST=y
+CONFIG_PHY_FSL_IMX8Q_PCIE=y
 
 CONFIG_IMX_DSP=y
 CONFIG_IMX_SCU=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13011): 
https://lists.yoctoproject.org/g/linux-yocto/message/13011
Mute This Topic: https://lists.yoctoproject.org/mt/100914005/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH] video: fbdev: mxc: hdmi: Fix a memory leak in mxc_hdmi_disp_init

2023-08-15 Thread Xiaolei Wang via lists.yoctoproject.org
When mxc_hdmi_disp_init returns failure, hdmi->fbi->modelist needs
to be released in mxc_hdmi_disp_deinit(), this patch solves the
following memory leaks:

unreferenced object 0xc52a45c0 (size 64):
  comm "swapper/0", pid 1, jiffies 4294937844 (age 159.630s)
  hex dump (first 32 bytes):
80 45 2a c5 00 46 2a c5 00 00 00 00 32 00 00 00  .E*..F*.2...
80 07 00 00 38 04 00 00 4e 1a 00 00 94 00 00 00  8...N...
  backtrace:
[<409cb2e6>] kmalloc_trace+0x30/0x60
[<0417ea10>] fb_add_videomode+0xfc/0x14c
[] mxc_hdmi_disp_init+0x3b8/0x908
[<70d3b62e>] mxc_dispdrv_gethandle+0x70/0xc4
[] mxcfb_probe+0xa00/0xea0
[<478fecea>] platform_probe+0x64/0xb8
[] really_probe+0xd0/0x2f4
[<0131a04b>] __driver_probe_device+0x90/0x1a8
[] driver_probe_device+0x38/0x110
[] __driver_attach+0x9c/0x188
[] bus_for_each_dev+0x84/0xcc
[<537260d8>] bus_add_driver+0x16c/0x1f8
[<1df9678d>] driver_register+0x90/0x124
[<75e3b051>] do_one_initcall+0x84/0x330
[] kernel_init_freeable+0x2a4/0x2fc
[] kernel_init+0x20/0x140

Signed-off-by: Xiaolei Wang 
---
 drivers/video/fbdev/mxc/mxc_hdmi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/fbdev/mxc/mxc_hdmi.c 
b/drivers/video/fbdev/mxc/mxc_hdmi.c
index 66783a691455..222d5946ae6b 100644
--- a/drivers/video/fbdev/mxc/mxc_hdmi.c
+++ b/drivers/video/fbdev/mxc/mxc_hdmi.c
@@ -2712,6 +2712,7 @@ static void mxc_hdmi_disp_deinit(struct 
mxc_dispdrv_handle *disp)
 
dev_dbg(>pdev->dev, "%s\n", __func__);
 
+   fb_destroy_modelist(>fbi->modelist);
device_remove_file(>pdev->dev, _attr_fb_name);
device_remove_file(>pdev->dev, _attr_cable_state);
device_remove_file(>pdev->dev, _attr_edid);
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12980): 
https://lists.yoctoproject.org/g/linux-yocto/message/12980
Mute This Topic: https://lists.yoctoproject.org/mt/100772366/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc] video: sii902x: Fix panic caused by sii902x_read_edid

2023-08-09 Thread Xiaolei Wang via lists.yoctoproject.org
The data structure edid_fbi needs to be initialized, otherwise
edid_fbi->monspecs.modedb and fbi->monspecs.modedb_len are not
initial values, which will cause illegal free to be detected
by KASAN, and the following panic will appear:

Unable to handle kernel paging request at virtual address 80f5e000
pgd = 41eceede
[80f5e000] *pgd=80e1941e(bad)
Internal error: Oops: 80d [#1] PREEMPT SMP ARM
Modules linked in:

PC is at copy_page+0x1c/0x70
LR is at 0x7fb78
pc : [<8062f37c>] lr : [<0007fb78>] psr: 60010113
sp : 815a5ea8 ip : 0007fb7c fp : 80119288
r10: 0040 r9: 815a4000 r8: 815a5fb0
r7 : 76af r6 : 0200 r5 : 80f5e000 r4 : 0007fb80
r3 : 0008 r2 : 001f r1 : 813f8010 r0 : 80f5e000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: 83a7406a DAC: 0051
Register r0 information: non-slab/vmalloc memory
Register r1 information: non-slab/vmalloc memory
Register r2 information: non-paged memory
Register r3 information: non-paged memory
Register r4 information: non-paged memory
Register r5 information: non-slab/vmalloc memory
Register r6 information: non-paged memory
Register r7 information: non-paged memory
Register r8 information: non-slab/vmalloc memory
Register r9 information: non-slab/vmalloc memory
Register r10 information: non-paged memory
Register r11 information: non-slab/vmalloc memory
Register r12 information: non-paged memory
Process init (pid: 1, stack limit = 0x6432d6db)
Stack: (0x815a5ea8 to 0x815a6000)
5ea0: 813f8000 801192b8 81d49900 0d73 0200 802ab694
5ec0: 0003 801734d8 81d28040 80173e10 81d499c0 0275 81d499d0 b1f55299
5ee0: 76aef000 76aef000 81d49900 01100cca 0070 76af 0275 83a75da8
5f00: 83a75da8  ab67b938 ab685ee0    b1f55299
5f20: 0001 815a5fb0 76af0124 81d28000 0817 81d49900 0275 81d28040
5f40: 81380b40 80ccc7e0 815a5f50 815a5f54  815a5f54 815a5f54 0800
5f60: 0001 0817 76af0124  815a5fb0 8120b23c 00080144 7ee89ff0
5f80: 0002 80114db8 76af0124 0817 815a5fb0 76af0124 76fca960 20010010
5fa0:  10c5387d 10c5387d 8010167c 76af0124  0018 76af0124
5fc0: 76fda2b8 7ee8a00c 76af0144 7ee8a0b8 0003 00080144 7ee89ff0 0002
5fe0:  7ee89fc8 76fb839b 76fca960 20010010   
Code: e3a0201f e8b15018 f5d1f080 f5d1f0c0 (e8a05018)
---[ end trace a0459ca32b040418 ]---
note: init[1] exited with preempt_count 2
Kernel panic - not syncing: Attempted to kill init! exitcode=0x000b
CPU0: stopping

Fixed bd21ebe013c9("video: fbdev: mxc: Release the previously allocated modedb 
before parsing edid")
Signed-off-by: Xiaolei Wang 

Signed-off-by: Bruce Ashfield 
---
 drivers/video/fbdev/mxc/mxsfb_sii902x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/mxc/mxsfb_sii902x.c 
b/drivers/video/fbdev/mxc/mxsfb_sii902x.c
index c72214de83c7..54a9bc5471ca 100644
--- a/drivers/video/fbdev/mxc/mxsfb_sii902x.c
+++ b/drivers/video/fbdev/mxc/mxsfb_sii902x.c
@@ -397,7 +397,7 @@ static int sii902x_probe(struct i2c_client *client,
const struct i2c_device_id *id)
 {
int i, dat, ret;
-   struct fb_info edid_fbi;
+   struct fb_info edid_fbi = {};
struct fb_info *init_fbi = sii902x.fbi;
 
memset(, 0, sizeof(sii902x));
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12958): 
https://lists.yoctoproject.org/g/linux-yocto/message/12958
Mute This Topic: https://lists.yoctoproject.org/mt/100657725/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc] video: fbdev: mxc: Release the previously allocated modedb before parsing edid

2023-08-09 Thread Xiaolei Wang via lists.yoctoproject.org
When we don`t set "video=mxcfb0:dev=hdmi" in bootargs,
but connect  hdmi to imx6q, it will trigger a periodically
hdmi interrupt in a few  seconds. These repeated interruptions
will read edid and alloc modedb,  so we need to release the
modedb before the next allocation.

Fix following memory leak.

unreferenced object 0xc6a54000 (size 2048):
comm "kworker/0:0", pid 2655, jiffies 756371 (age 952.680s)
hex dump (first 32 bytes):
00 00 00 00 3b 00 00 00 90 06 00 00 1a 04 00 00 ;...
b5 1a 00 00 18 01 00 00 68 00 00 00 1e 00 00 00 h...
backtrace:
[<00623f2e>] mxc_edid_parse_ext_blk+0x79c/0x820
[<0ef13c8f>] mxc_edid_read+0x224/0x244
[<68bdc576>] mxc_hdmi_read_edid+0x6c/0x3d0
[] hotplug_worker+0x64/0x30c
[<909541fa>] process_one_work+0x1f4/0x308
[<69f4c3c3>] worker_thread+0x2b0/0x360
[<7edd79c5>] kthread+0x144/0x150
[<18f0f29a>] ret_from_fork+0x14/0x24
[<>] 0x0

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 drivers/video/fbdev/mxc/mxc_edid.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/mxc/mxc_edid.c 
b/drivers/video/fbdev/mxc/mxc_edid.c
index 903172e6ae77..7230fb68260a 100644
--- a/drivers/video/fbdev/mxc/mxc_edid.c
+++ b/drivers/video/fbdev/mxc/mxc_edid.c
@@ -737,6 +737,8 @@ int mxc_edid_read(struct i2c_adapter *adp, unsigned short 
addr,
return extblknum;
 
/* edid first block parsing */
+   if (fbi->monspecs.modedb)
+   fb_destroy_modedb(fbi->monspecs.modedb);
memset(>monspecs, 0, sizeof(fbi->monspecs));
fb_edid_to_monspecs(edid, >monspecs);
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12957): 
https://lists.yoctoproject.org/g/linux-yocto/message/12957
Mute This Topic: https://lists.yoctoproject.org/mt/100657724/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc]Update nxp-soc SDK linux v6.1 patches to rt-kernel

2023-07-27 Thread Xiaolei Wang via lists.yoctoproject.org
Hi bruce

Would you please merge the following patch into branch 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

The following changes since commit 0879a175f62e5b4a576e808065fbcd47a5e1925b:

  Merge branch 'v6.1/standard/base' into 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc (2023-07-27 11:00:34 -0400)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 7303ab7001b6d385a0024f846ee82f1b2f0c0df6:

  firmware: imx: fix coverity issue in ele-mu (2023-07-28 13:40:23 +0800)


Adrian Alonso (9):
  LF-8448-1: dts: arm64: freescale: imx8mn ab2: fix ethernet
  LF-8448-2: dts: arm64: freescale: imx8mm ab2: fix ethernet
  LF-8343-1: drivers: mfd: imx flexio core driver support
  LF-8343-2: driver: i2c: buses: flexio: rework to use mfd
  LF-8343-4: dts: arm64: freescale: imx8ulp: flexio core driver
  LF-8343-5: dts: arm64: freescale: imx93: flexio core driver
  LF-8343-6: devicetree: bindings: mfd: nxp imx flexio
  LF-8951-1: dts: arm64: freescale: imx8mm ab2: fix ethernet
  LF-8951-2: dts: arm64: freescale: imx8mn ab2: fix ethernet

Alexander Stein (1):
  gpio: vf610: make irq_chip immutable

Alice Yuan (3):
  LF-8318: Capture: Adjust the dewarp noc data to fix 4K capture filcker
  LF-8974: arm64: dtsi: imx8mp remove the isp no useful reserved memory
  LF-8993: imx8mp: capture: csi support raw8 format

Apeksha Gupta (1):
  arm64: dts: imx8mm-evk-dpdk: dts for fec-uio driver

Arnd Bergmann (1):
  Bluetooth: NXP: select CONFIG_CRC8

Carlos Song (6):
  LF-8808 spi: imx: fix message endian convert in slave dma tx buffer
  LF-4131 iio: gyro: fxas21002c: Fix raw data is not updated in 
trigger/buffer
  LF-8905-1: i2c: imx-lpi2c: support slave PIO mode for lpi2c
  LF-8907-1: i2c: imx-lpi2c: extend timeout time for the master to receive 
data
  LF-8907-2: i2c: imx-lpi2c: adjust the conditions for the masetr entering 
the schedule
  LF-8907-3: i2c: imx-lpi2c: fix debug timeout error log when push rx 
command

Chancel Liu (18):
  LF-8112-1: dt-bindings: clock: imx93-clock: Add PDM IPG clk
  LF-8112-2: clk: imx93: add PDM IPG clk
  LF-8112-3: arm64: dts: imx93: Correct IPG clk of MICFIL
  LF-8451-1: arm64: dts: imx93-14x14-evk: Add a new DT to support MQS
  LF-8451-2: arm64: dts: imx93-14x14-evk-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-8572-2: arm64: dts: imx8mp-evk-revB3: Add a new dts to support WM8962
  LF-8762-1: ASoC: imx-rpmsg: Force codec power on in low power audio mode
  LF-8762-2: arm64: dts: imx8mp-evk-revb4-rpmsg: Add a new DT to support 
rpmsg sound cards
  LF-8762-3: arm64: dts: imx8mp-evk-revb4-rpmsg-lpv: Add a new DT to 
support LPV
  LF-8860: arm64: dts: freescale: Rename MICFIL sound card
  LF-8814: arm64: imx8mp-evk-rpmsg-lpv: Disable capture stream of 
rpmsg_audio sound card
  LF-8906-1: arm64: dts: imx93-14x14-evk: Fix pin conflict
  LF-8906-2: arm64: dts: imx93-14x14-evk-aud-hat: Fix pin conflict
  LF-8925: arm64: dts: imx93: Add pll8k clock for SAI of MQS sound card
  LF-8915-1: arm64: dts: imx93: Add a DT to support LPA
  LF-8915-2: arm64: dts: imx93: Add a DT to support LPV
  LF-8915-3: ASoC: fsl_rpmsg: Add support for i.MX93 platform
  LF-8973-1: arm64: dts: imx93-9x9-qsb-aud-hat: Add a new DT to support 
AUD-HAT board

Clark Wang (1):
  LF-8872 arm64: dts: imx93: fix ptn5110 interrupt line on imx93-9x9-qsb-i3c

Disha Das (1):
  LF-8474: arm64: dts: freescale: enable i.MX8DXL OrangeBox SPI1 master

Dong Aisheng (1):
  LF-8944 soc: imx: rpmsg_life_cycle: a few code cleanups

Frank Li (5):
  lf-8714: arm64: dts: fix USB 3.0 Gadget Failure in QM & QXPB0 at super 
speed
  LF-8813-1: arm: dts: imx8dxl-evk: enable pci phyx1
  LF-8748 arm64: dts: imx8dx-orangebox: naming gpio pad
  LF-8748-2: arm64: dts: imx8dxl-orangebox: use gpio as spi cs
  LF-8748-3: arm64: dts: imx8dxl-orangebox: enable v2x module

Gagandeep Singh (1):
  LF-8079: net: fec: enable XDP_TX support

Gaurav Jain (1):
  LF-8559 firmware: imx: ele: Update RNG request id

Guangliu Ding (1):
  MGS-7080: Fix memory leak in DPU bliteng fence

Guoniu.zhou (6):
  LF-8868: media: ov5640: fix incorrect frame frate issue
  LF-6841: dma: pxp: fix pxp timeout issue when run g2d samples test
  MLK-25315: dma: pxp: add monochrome mode support for PS engine
  LF-8372: dma: pxp/v3: fix U/V offset calculation issue when crop enabled
  LF-8978: dma: pxp: fix fetch/store engine low performance issue
  LF-8982: media: ov5640: fix abnormal frame issue after kernel upgrade

Haibo Chen (10):
  LF-8509-1 spi: spi-nxp-fspi: correct the comment for the DLL config
  LF-8509-2 Revert "dt-bindings: spi: spi-nxp-fspi: add a new property 

[linux-yocto][branch v6.1/standard/nxp-sdk-6.1/nxp-soc & v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc]Update nxp-soc SDK linux v6.1 patches

2023-07-26 Thread Xiaolei Wang via lists.yoctoproject.org
Hi bruce

Would you please merge the following patch into branch 
v6.1/standard/nxp-sdk-6.1/nxp-soc & 
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc 

The following changes since commit 417a87f29499c7301ad5cdb16136d38abdea23fa:

  LF-8851: dmaengine: imx-sdma: sdma driver code optimization (2023-07-17 
19:11:11 -0400)

are available in the Git repository at:

  https://github.com/wangxiaolei12/linux-yocto-6.1.git 
v6.1/standard/nxp-sdk-6.1/nxp-soc

for you to fetch changes up to 2d5c9c375958b1cd3968450eebab017b2235664e:

  firmware: imx: fix coverity issue in ele-mu (2023-07-26 15:09:37 +0800)


Adrian Alonso (9):
  LF-8448-1: dts: arm64: freescale: imx8mn ab2: fix ethernet
  LF-8448-2: dts: arm64: freescale: imx8mm ab2: fix ethernet
  LF-8343-1: drivers: mfd: imx flexio core driver support
  LF-8343-2: driver: i2c: buses: flexio: rework to use mfd
  LF-8343-4: dts: arm64: freescale: imx8ulp: flexio core driver
  LF-8343-5: dts: arm64: freescale: imx93: flexio core driver
  LF-8343-6: devicetree: bindings: mfd: nxp imx flexio
  LF-8951-1: dts: arm64: freescale: imx8mm ab2: fix ethernet
  LF-8951-2: dts: arm64: freescale: imx8mn ab2: fix ethernet

Alexander Stein (1):
  gpio: vf610: make irq_chip immutable

Alice Yuan (3):
  LF-8318: Capture: Adjust the dewarp noc data to fix 4K capture filcker
  LF-8974: arm64: dtsi: imx8mp remove the isp no useful reserved memory
  LF-8993: imx8mp: capture: csi support raw8 format

Apeksha Gupta (1):
  arm64: dts: imx8mm-evk-dpdk: dts for fec-uio driver

Arnd Bergmann (1):
  Bluetooth: NXP: select CONFIG_CRC8

Carlos Song (6):
  LF-8808 spi: imx: fix message endian convert in slave dma tx buffer
  LF-4131 iio: gyro: fxas21002c: Fix raw data is not updated in 
trigger/buffer
  LF-8905-1: i2c: imx-lpi2c: support slave PIO mode for lpi2c
  LF-8907-1: i2c: imx-lpi2c: extend timeout time for the master to receive 
data
  LF-8907-2: i2c: imx-lpi2c: adjust the conditions for the masetr entering 
the schedule
  LF-8907-3: i2c: imx-lpi2c: fix debug timeout error log when push rx 
command

Chancel Liu (18):
  LF-8112-1: dt-bindings: clock: imx93-clock: Add PDM IPG clk
  LF-8112-2: clk: imx93: add PDM IPG clk
  LF-8112-3: arm64: dts: imx93: Correct IPG clk of MICFIL
  LF-8451-1: arm64: dts: imx93-14x14-evk: Add a new DT to support MQS
  LF-8451-2: arm64: dts: imx93-14x14-evk-aud-hat: Add a new DT to support 
AUD-HAT board
  LF-8572-2: arm64: dts: imx8mp-evk-revB3: Add a new dts to support WM8962
  LF-8762-1: ASoC: imx-rpmsg: Force codec power on in low power audio mode
  LF-8762-2: arm64: dts: imx8mp-evk-revb4-rpmsg: Add a new DT to support 
rpmsg sound cards
  LF-8762-3: arm64: dts: imx8mp-evk-revb4-rpmsg-lpv: Add a new DT to 
support LPV
  LF-8860: arm64: dts: freescale: Rename MICFIL sound card
  LF-8814: arm64: imx8mp-evk-rpmsg-lpv: Disable capture stream of 
rpmsg_audio sound card
  LF-8906-1: arm64: dts: imx93-14x14-evk: Fix pin conflict
  LF-8906-2: arm64: dts: imx93-14x14-evk-aud-hat: Fix pin conflict
  LF-8925: arm64: dts: imx93: Add pll8k clock for SAI of MQS sound card
  LF-8915-1: arm64: dts: imx93: Add a DT to support LPA
  LF-8915-2: arm64: dts: imx93: Add a DT to support LPV
  LF-8915-3: ASoC: fsl_rpmsg: Add support for i.MX93 platform
  LF-8973-1: arm64: dts: imx93-9x9-qsb-aud-hat: Add a new DT to support 
AUD-HAT board

Clark Wang (1):
  LF-8872 arm64: dts: imx93: fix ptn5110 interrupt line on imx93-9x9-qsb-i3c

Disha Das (1):
  LF-8474: arm64: dts: freescale: enable i.MX8DXL OrangeBox SPI1 master

Dong Aisheng (1):
  LF-8944 soc: imx: rpmsg_life_cycle: a few code cleanups

Frank Li (5):
  lf-8714: arm64: dts: fix USB 3.0 Gadget Failure in QM & QXPB0 at super 
speed
  LF-8813-1: arm: dts: imx8dxl-evk: enable pci phyx1
  LF-8748 arm64: dts: imx8dx-orangebox: naming gpio pad
  LF-8748-2: arm64: dts: imx8dxl-orangebox: use gpio as spi cs
  LF-8748-3: arm64: dts: imx8dxl-orangebox: enable v2x module

Gagandeep Singh (1):
  LF-8079: net: fec: enable XDP_TX support

Gaurav Jain (1):
  LF-8559 firmware: imx: ele: Update RNG request id

Guangliu Ding (1):
  MGS-7080: Fix memory leak in DPU bliteng fence

Guoniu.zhou (6):
  LF-8868: media: ov5640: fix incorrect frame frate issue
  LF-6841: dma: pxp: fix pxp timeout issue when run g2d samples test
  MLK-25315: dma: pxp: add monochrome mode support for PS engine
  LF-8372: dma: pxp/v3: fix U/V offset calculation issue when crop enabled
  LF-8978: dma: pxp: fix fetch/store engine low performance issue
  LF-8982: media: ov5640: fix abnormal frame issue after kernel upgrade

Haibo Chen (10):
  LF-8509-1 spi: spi-nxp-fspi: correct the comment for the DLL config
  LF-8509-2 Revert "dt-bindings: spi: spi-nxp-fspi: add a new property 

[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 1/1] nxp-imx8: Enable IMX_OCOTP and IMX_OCOTP_SCU

2023-07-21 Thread Xiaolei Wang via lists.yoctoproject.org
Fec mac addr exists in nvmem and needs to be read by SCU,
so there is a dependency between fec and IMX_OCOTP,
if IMX_OCOTP is disable, this may cause fec loading delay

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index b116ae2d..3bd84d73 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -556,6 +556,9 @@ CONFIG_IMX8QXP_ADC=y
 CONFIG_IMX93_ADC=y
 CONFIG_IIO=y
 
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+
 #
 # Inertial measurement units
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12884): 
https://lists.yoctoproject.org/g/linux-yocto/message/12884
Mute This Topic: https://lists.yoctoproject.org/mt/100273794/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc][PATCH] ARM: imx: use raw_spin_lock instead of spin_lock

2023-07-16 Thread Xiaolei Wang via lists.yoctoproject.org
CPU: 0 PID: 0 Comm: swapper/0 Tainted: GW 
5.15.78-rt48-yocto-preempt-rt #1
Hardware name: Freescale i.MX7 Dual (Device Tree)
[<80110f4c>] (unwind_backtrace) from [<8010aef8>] (show_stack+0x18/0x1c)
[<8010aef8>] (show_stack) from [<80be4998>] (dump_stack_lvl+0x40/0x4c)
[<80be4998>] (dump_stack_lvl) from [<8015297c>] (__might_resched+0x16c/0x1f0)
[<8015297c>] (__might_resched) from [<80bf2d8c>] (rt_spin_lock+0x34/0x80)
[<80bf2d8c>] (rt_spin_lock) from [<8011e350>] (imx_set_cpu_jump+0x20/0x70)
[<8011e350>] (imx_set_cpu_jump) from [<8011bd64>] 
(imx7d_enter_low_power_idle+0x2e4/0x30c)
[<8011bd64>] (imx7d_enter_low_power_idle) from [<80897bb8>] 
(cpuidle_enter_state+0xe8/0x2f0)
[<80897bb8>] (cpuidle_enter_state) from [<80897e18>] (cpuidle_enter+0x3c/0x50)
[<80897e18>] (cpuidle_enter) from [<8015a748>] (do_idle+0x234/0x264)
[<8015a748>] (do_idle) from [<8015aa88>] (cpu_startup_entry+0x20/0x28)
[<8015aa88>] (cpu_startup_entry) from [<81001138>] (start_kernel+0x5b8/0x69c)
[<81001138>] (start_kernel) from [<>] (0x0)

Signed-off-by: Xiaolei Wang 
Signed-off-by: Bruce Ashfield 
---
 arch/arm/mach-imx/src.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index 2a2fc431d5e7..affaa0428315 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -35,7 +35,7 @@
 #define BP_SRC_A7RCR1_A7_CORE1_ENABLE  1
 
 static void __iomem *src_base;
-static DEFINE_SPINLOCK(src_lock);
+static DEFINE_RAW_SPINLOCK(src_lock);
 static bool m4_is_enabled;
 
 static const int sw_reset_bits[5] = {
@@ -64,11 +64,11 @@ static int imx_src_reset_module(struct reset_controller_dev 
*rcdev,
 
bit = 1 << sw_reset_bits[sw_reset_idx];
 
-   spin_lock_irqsave(_lock, flags);
+   raw_spin_lock_irqsave(_lock, flags);
val = readl_relaxed(src_base + SRC_SCR);
val |= bit;
writel_relaxed(val, src_base + SRC_SCR);
-   spin_unlock_irqrestore(_lock, flags);
+   raw_spin_unlock_irqrestore(_lock, flags);
 
timeout = jiffies + msecs_to_jiffies(1000);
while (readl(src_base + SRC_SCR) & bit) {
@@ -89,7 +89,7 @@ void imx_enable_cpu(int cpu, bool enable)
u32 mask, val;
 
cpu = cpu_logical_map(cpu);
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
if (cpu_is_imx7d()) {
/* enable core */
if (enable)
@@ -106,12 +106,12 @@ void imx_enable_cpu(int cpu, bool enable)
val |= 1 << (BP_SRC_SCR_CORE1_RST + cpu - 1);
writel_relaxed(val, src_base + SRC_SCR);
}
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 void imx_set_cpu_jump(int cpu, void *jump_addr)
 {
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
cpu = cpu_logical_map(cpu);
if (cpu_is_imx7d())
writel_relaxed(__pa_symbol(jump_addr),
@@ -119,7 +119,7 @@ void imx_set_cpu_jump(int cpu, void *jump_addr)
else
writel_relaxed(__pa_symbol(jump_addr),
src_base + SRC_GPR1 + cpu * 8);
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 u32 imx_get_cpu_arg(int cpu)
@@ -172,7 +172,7 @@ void __init imx_src_init(void)
 * force warm reset sources to generate cold reset
 * for a more reliable restart
 */
-   spin_lock(_lock);
+   raw_spin_lock(_lock);
val = readl_relaxed(src_base + SRC_SCR);
 
/* bit 4 is m4c_non_sclr_rst on i.MX6SX */
@@ -184,7 +184,7 @@ void __init imx_src_init(void)
 
val &= ~(1 << BP_SRC_SCR_WARM_RESET_ENABLE);
writel_relaxed(val, src_base + SRC_SCR);
-   spin_unlock(_lock);
+   raw_spin_unlock(_lock);
 }
 
 static const struct of_device_id imx_src_dt_ids[] = {
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12864): 
https://lists.yoctoproject.org/g/linux-yocto/message/12864
Mute This Topic: https://lists.yoctoproject.org/mt/100189710/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH 2/2] drm/bridge: adv7533: Limit supported clocks

2023-07-16 Thread Xiaolei Wang via lists.yoctoproject.org
Refer to commit 323751dadfbe("MLK-21958-13: drm/bridge: adv7511: Limit 
supported clocks")
Add Limit supported clocks for adv7533, Some modes are not working with this 
converter.
This will cause hdmi link down, so add this workround patch to solve this 
problem.

Signed-off-by: Xiaolei Wang 
---
 drivers/gpu/drm/bridge/adv7511/adv7533.c | 31 
 1 file changed, 31 insertions(+)

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c 
b/drivers/gpu/drm/bridge/adv7511/adv7533.c
index 7316aa092f9b..b09ceb994123 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
@@ -24,6 +24,26 @@ static const struct reg_sequence 
adv7533_cec_fixed_registers[] = {
{ 0x05, 0xc8 },
 };
 
+/*
+ * TODO: Currently, filter-out unsupported modes by their clocks.
+ * Need to find a better way to do this.
+ * These are the pixel clocks that the converter can handle successfully.
+ */
+
+static const int valid_clocks[] = {
+   148500,
+   135000,
+   132000,
+   119000,
+   108000,
+   78750,
+   74250,
+   65000,
+   49500,
+   4,
+   31500,
+};
+
 static void adv7511_dsi_config_timing_gen(struct adv7511 *adv)
 {
struct drm_display_mode *mode = >curr_mode;
@@ -136,6 +156,8 @@ enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv,
unsigned long max_lane_freq;
struct mipi_dsi_device *dsi = adv->dsi;
u8 bpp = mipi_dsi_pixel_format_to_bpp(dsi->format);
+   size_t i, num_modes = ARRAY_SIZE(valid_clocks);
+   bool clock_ok = false;
 
/* Check max clock for either 7533 or 7535 */
if (mode->clock > (adv->type == ADV7533 ? 8 : 148500))
@@ -147,6 +169,15 @@ enum drm_mode_status adv7533_mode_valid(struct adv7511 
*adv,
if (mode->clock * bpp > max_lane_freq * adv->num_dsi_lanes)
return MODE_CLOCK_HIGH;
 
+   for (i = 0; i < num_modes; i++)
+   if (mode->clock == valid_clocks[i]) {
+   clock_ok = true;
+   break;
+   }
+
+   if (!clock_ok)
+   return MODE_NOCLOCK;
+
return MODE_OK;
 }
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12863): 
https://lists.yoctoproject.org/g/linux-yocto/message/12863
Mute This Topic: https://lists.yoctoproject.org/mt/100189687/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc & v6.1/standard/nxp-sdk-6.1/nxp-soc][PATCH 1/2] LF-8851: dmaengine: imx-sdma: sdma driver code optimization

2023-07-16 Thread Xiaolei Wang via lists.yoctoproject.org
From: Joy Zou 

commit e708cbc250efab668507628d49bfec578b94f3ed from
https://github.com/nxp-imx/linux-imx.git lf-6.1.y

The bluetooth starts to use sdma before sdma driver initialization done.
It will cause NULL pointer access.

This patch adds sdma is_on check in order to avoid accessing NULL pointer.

Reviewed-by: Shengjiu Wang 
Signed-off-by: Joy Zou 
Signed-off-by: Xiaolei Wang 
---
 drivers/dma/imx-sdma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index a5d5aa7b70ce..97269f6d5eec 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -2125,8 +2125,8 @@ static int sdma_config_write(struct dma_chan *chan,
sdmac->watermark_level = 0;
sdma_get_pc(sdmac, sdmac->peripheral_type);
 
-   if (!sdmac->sdma->fw_loaded && sdmac->is_ram_script) {
-   dev_warn_once(sdmac->sdma->dev, "sdma firmware not ready!\n");
+   if (!sdmac->sdma->is_on || (!sdmac->sdma->fw_loaded && 
sdmac->is_ram_script)) {
+   dev_warn_once(sdmac->sdma->dev, "sdma or sdma firmware not 
ready!\n");
return -EPERM;
}
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12862): 
https://lists.yoctoproject.org/g/linux-yocto/message/12862
Mute This Topic: https://lists.yoctoproject.org/mt/100189686/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx6: set CONFIG_CC_OPTIMIZE_FOR_SIZE to n

2023-07-13 Thread Xiaolei Wang via lists.yoctoproject.org
Disable CONFIG_CC_OPTIMIZE_FOR_SIZE to fix the warning when 
do_kernel_configcheck:

WARNING: linux-yocto-rt-6.1.27+gitAUTOINC+9045c12fb0_e318b47db6-r0 
do_kernel_configcheck: [kernel config]: specified values did not make it into 
the kernel's final configuration:

[NOTE]: 'CONFIG_CC_OPTIMIZE_FOR_SIZE' last val (n) and .config val (y) do 
not match
[INFO]: CONFIG_CC_OPTIMIZE_FOR_SIZE : y ## .config: 205 
:configs/v6.1/standard/preempt-rt/arch/arm/arm.cfg (y) 
configs/v6.1/standard/preempt-rt/ktypes/preempt-rt/preempt-rt.cfg (n)
[INFO]: raw config text:

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 2117f04c..a60de05d 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -224,3 +224,5 @@ CONFIG_GPIO_MXC=y
 CONFIG_GPIO_PCA953X=y
 
 CONFIG_MAILBOX=y
+
+CONFIG_CC_OPTIMIZE_FOR_SIZE=n
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12855): 
https://lists.yoctoproject.org/g/linux-yocto/message/12855
Mute This Topic: https://lists.yoctoproject.org/mt/100115821/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable RESET_IMX7 and MUX_MMIO config

2023-07-12 Thread Xiaolei Wang via lists.yoctoproject.org
RESET_IMX7 and MUX_MMIO are necessary for imx8m hdmi display.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index b116ae2d..5477d081 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -341,6 +341,8 @@ CONFIG_DRM_HISI_HIBMC=m
 CONFIG_DRM_HISI_KIRIN=m
 CONFIG_DRM_MXS=y
 CONFIG_DRM_MXSFB=y
+CONFIG_MUX_MMIO=y
+CONFIG_RESET_IMX7=y
 
 #
 ## Therminal Driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12849): 
https://lists.yoctoproject.org/g/linux-yocto/message/12849
Mute This Topic: https://lists.yoctoproject.org/mt/100100775/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx6: Delete unused config CONFIG_USB_EHCI_MXC

2023-07-09 Thread Xiaolei Wang via lists.yoctoproject.org
CONFIG_USB_EHCI_MXC has been deleted by SDK,
so delete it.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 9d8b42ae..31a56ff2 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -145,7 +145,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 
 CONFIG_USB=y
 CONFIG_USB_OTG=y
-CONFIG_USB_EHCI_MXC=y
 CONFIG_USB_CHIPIDEA=y
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12846): 
https://lists.yoctoproject.org/g/linux-yocto/message/12846
Mute This Topic: https://lists.yoctoproject.org/mt/100051408/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Delete unused config CONFIG_USB_EHCI_MXC

2023-06-29 Thread Xiaolei Wang via lists.yoctoproject.org
drop this patch

thanks
xiaolei

From: linux-yocto@lists.yoctoproject.org  
on behalf of Xiaolei Wang via lists.yoctoproject.org 

Sent: Thursday, June 29, 2023 4:36 PM
To: bruce.ashfi...@gmail.com 
Cc: linux-yocto@lists.yoctoproject.org 
Subject: [linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Delete 
unused config CONFIG_USB_EHCI_MXC

CONFIG_USB_EHCI_MXC has been deleted by SDK,
so delete it.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 9d8b42ae..31a56ff2 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -145,7 +145,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

 CONFIG_USB=y
 CONFIG_USB_OTG=y
-CONFIG_USB_EHCI_MXC=y
 CONFIG_USB_CHIPIDEA=y
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
--
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12827): 
https://lists.yoctoproject.org/g/linux-yocto/message/12827
Mute This Topic: https://lists.yoctoproject.org/mt/99847282/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Delete unused config CONFIG_USB_EHCI_MXC

2023-06-29 Thread Xiaolei Wang via lists.yoctoproject.org
CONFIG_USB_EHCI_MXC has been deleted by SDK,
so delete it.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 9d8b42ae..31a56ff2 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -145,7 +145,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 
 CONFIG_USB=y
 CONFIG_USB_OTG=y
-CONFIG_USB_EHCI_MXC=y
 CONFIG_USB_CHIPIDEA=y
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12826): 
https://lists.yoctoproject.org/g/linux-yocto/message/12826
Mute This Topic: https://lists.yoctoproject.org/mt/99847282/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx6: Enable CONFIG_SMP for imx6q

2023-06-27 Thread Xiaolei Wang via lists.yoctoproject.org
imx6q has 4 cpus, so enable CONFIG_SMP.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 9d8b42ae..2117f04c 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -13,6 +13,9 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y
 CONFIG_ARM_IMX6Q_CPUFREQ=y
 
+CONFIG_SMP=y
+CONFIG_NR_CPUS=4
+
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_MENU=y
 
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12813): 
https://lists.yoctoproject.org/g/linux-yocto/message/12813
Mute This Topic: https://lists.yoctoproject.org/mt/99809478/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 4/4] nxp-imx8: Enable USB_CHIPIDEA related config

2023-06-12 Thread Xiaolei Wang via lists.yoctoproject.org
Hi bruce

please help merge this patch

thanks
xiaolei

From: linux-yocto@lists.yoctoproject.org  
on behalf of Xiaolei Wang via lists.yoctoproject.org 

Sent: Friday, June 9, 2023 5:42 PM
To: bruce.ashfi...@gmail.com 
Cc: linux-yocto@lists.yoctoproject.org 
Subject: [linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 4/4] nxp-imx8: 
Enable USB_CHIPIDEA related config

Enable USB_CHIPIDEA related config for nxp-imx8.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 1581cdc6..b116ae2d 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -416,6 +416,13 @@ CONFIG_USB_HCD_TEST_MODE=y
 CONFIG_USB_ACM=m
 CONFIG_USB_STORAGE=y
 CONFIG_USB_UAS=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_MASS_STORAGE=m

 #
 # Typec driver
--
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12742): 
https://lists.yoctoproject.org/g/linux-yocto/message/12742
Mute This Topic: https://lists.yoctoproject.org/mt/99498058/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [linux-yocto] [v2]Review request 0/1: nxp-imx8: Enable USB_CHIPIDEA related config[LIN1023-873 LIN1023-872]

2023-06-09 Thread Xiaolei Wang via lists.yoctoproject.org
ignor this email

thanks
xiaolei

From: linux-yocto@lists.yoctoproject.org  
on behalf of Xiaolei Wang via lists.yoctoproject.org 

Sent: Friday, June 9, 2023 5:42 PM
To: bruce.ashfi...@gmail.com 
Cc: linux-yocto@lists.yoctoproject.org 
Subject: [linux-yocto] [v2]Review request 0/1: nxp-imx8: Enable USB_CHIPIDEA 
related config[LIN1023-873 LIN1023-872]

Summary: nxp-imx8: Enable USB_CHIPIDEA related config
Tech Review: Mengli
Gatekeeper: Kexin
Lockdown Approval (if needed):
Branch Tag: yocto-6.1

IP Statement (form link or license statement, usually automated):
Crypto URL(s) (if needed): see https://jive.windriver.com/docs/DOC-80428
Parent Template (where applicable):


== Sanity Issues: (DO NOT EDIT this section) ==
* yocto-kernel-cache/0001-nxp-imx8-Enable-sound-card-config-for-nxp-imx8.patch
  - Missing "Issue: "

* yocto-kernel-cache/0002-nxp-imx8-Enable-the-IOMMU-driver.patch
  - Missing "Issue: "

* yocto-kernel-cache/0003-nxp-imx8-Enable-typec-config-for-nxp-imx8.patch
  - Missing "Issue: "

* yocto-kernel-cache/0004-nxp-imx8-Enable-USB_CHIPIDEA-related-config.patch
  - Missing "Issue: "


== Impacted area Impact y/n ==
docs/tech-pubs  n
tests   n
build systemn
host dependencies   n
RPM/packaging   n
toolchain   n
kernel code n
user code   n
configuration files n
target configurationn
Applicable to Yocto/upstreamn
New Kernel Warnings n
Other   n


== Comments (indicate scope for each "y" above) ==
* Conditions of submission

* Documentation Changes/Release Notes
  = Doc changes

  = Release notes

* Git logs
[yocto-kernel-cache]
commit 810a302c6044f0267b9bdb6bb583866ff05aa71e
Author: Xiaolei Wang 
Date:   Fri Jun 9 16:24:36 2023 +0800

delete unused patch.
nxp-imx8: Enable USB_CHIPIDEA related config

Enable USB_CHIPIDEA related config for nxp-imx8.

Signed-off-by: Xiaolei Wang 

commit 04436c60962afc6ba50e21d22f492441eaa5a93c
Author: Xiaolei Wang 
Date:   Thu Jun 8 11:41:22 2023 +0800

nxp-imx8: Enable typec config for nxp-imx8

Enable typec config for nxp-imx8.

Signed-off-by: Xiaolei Wang 

commit 1ad750df0c93ad132732822bad5b986f5d5c130f
Author: Xiaolei Wang 
Date:   Thu Jun 8 08:06:26 2023 +0800

nxp-imx8: Enable the IOMMU driver

The FEC Ethernet driver depends on the IOMMU function,
and its probe would fail with "deferred probe timeout,
ignoring dependency" error if IOMMU isn't enabled.
Enable IOMMU to fix this issue.

Signed-off-by: Xiaolei Wang 

commit 15bdfcb672a74140c5be6ee14d8eb358ab909189
Author: Xiaolei Wang 
Date:   Wed Jun 7 18:15:17 2023 +0800

nxp-imx8: Enable sound card config for nxp-imx8

Enable sound card config for nxp-imx8 audio feature.

Signed-off-by: Xiaolei Wang 



== Testing ==
* Commands

* Expected Results

* Applicable to

* Tested configurations

  Archbuilt  boot boardname
  -
  MIPS  n n
  MIPS64n n
  MIPS64n32 n n
  ARM32 n n
  ARM64 n n
  x86   n n
  x86_64n n
  PPC   n n
  PPC64 n n
  SPARC64   n n


== Reviewer Checklist ==
[Submitters: make sure that your review doesn't trigger any checkmarks!]
http://lxgit.wrs.com/cgit/bin.git/tree/etc/review.txt


== PULLs ==
* PULLs


* WRH-PULLs ("wrh -m" can merge it):


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12725): 
https://lists.yoctoproject.org/g/linux-yocto/message/12725
Mute This Topic: https://lists.yoctoproject.org/mt/99425089/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto] [v2]Review request 0/1: nxp-imx8: Enable USB_CHIPIDEA related config[LIN1023-873 LIN1023-872]

2023-06-09 Thread Xiaolei Wang via lists.yoctoproject.org
Summary: nxp-imx8: Enable USB_CHIPIDEA related config
Tech Review: Mengli
Gatekeeper: Kexin
Lockdown Approval (if needed): 
Branch Tag: yocto-6.1

IP Statement (form link or license statement, usually automated):
Crypto URL(s) (if needed): see https://jive.windriver.com/docs/DOC-80428
Parent Template (where applicable):


== Sanity Issues: (DO NOT EDIT this section) ==
* yocto-kernel-cache/0001-nxp-imx8-Enable-sound-card-config-for-nxp-imx8.patch
  - Missing "Issue: "

* yocto-kernel-cache/0002-nxp-imx8-Enable-the-IOMMU-driver.patch
  - Missing "Issue: "

* yocto-kernel-cache/0003-nxp-imx8-Enable-typec-config-for-nxp-imx8.patch
  - Missing "Issue: "

* yocto-kernel-cache/0004-nxp-imx8-Enable-USB_CHIPIDEA-related-config.patch
  - Missing "Issue: "


== Impacted area Impact y/n ==
docs/tech-pubs  n
tests   n
build systemn
host dependencies   n
RPM/packaging   n
toolchain   n
kernel code n
user code   n
configuration files n
target configurationn
Applicable to Yocto/upstreamn
New Kernel Warnings n
Other   n


== Comments (indicate scope for each "y" above) ==
* Conditions of submission

* Documentation Changes/Release Notes
  = Doc changes

  = Release notes

* Git logs
[yocto-kernel-cache]
commit 810a302c6044f0267b9bdb6bb583866ff05aa71e
Author: Xiaolei Wang 
Date:   Fri Jun 9 16:24:36 2023 +0800

delete unused patch.
nxp-imx8: Enable USB_CHIPIDEA related config

Enable USB_CHIPIDEA related config for nxp-imx8.

Signed-off-by: Xiaolei Wang 

commit 04436c60962afc6ba50e21d22f492441eaa5a93c
Author: Xiaolei Wang 
Date:   Thu Jun 8 11:41:22 2023 +0800

nxp-imx8: Enable typec config for nxp-imx8

Enable typec config for nxp-imx8.

Signed-off-by: Xiaolei Wang 

commit 1ad750df0c93ad132732822bad5b986f5d5c130f
Author: Xiaolei Wang 
Date:   Thu Jun 8 08:06:26 2023 +0800

nxp-imx8: Enable the IOMMU driver

The FEC Ethernet driver depends on the IOMMU function,
and its probe would fail with "deferred probe timeout,
ignoring dependency" error if IOMMU isn't enabled.
Enable IOMMU to fix this issue.

Signed-off-by: Xiaolei Wang 

commit 15bdfcb672a74140c5be6ee14d8eb358ab909189
Author: Xiaolei Wang 
Date:   Wed Jun 7 18:15:17 2023 +0800

nxp-imx8: Enable sound card config for nxp-imx8

Enable sound card config for nxp-imx8 audio feature.

Signed-off-by: Xiaolei Wang 



== Testing ==
* Commands

* Expected Results

* Applicable to

* Tested configurations

  Archbuilt  boot boardname
  -
  MIPS  n n
  MIPS64n n
  MIPS64n32 n n
  ARM32 n n
  ARM64 n n
  x86   n n
  x86_64n n
  PPC   n n
  PPC64 n n
  SPARC64   n n


== Reviewer Checklist ==
[Submitters: make sure that your review doesn't trigger any checkmarks!]
http://lxgit.wrs.com/cgit/bin.git/tree/etc/review.txt


== PULLs ==
* PULLs


* WRH-PULLs ("wrh -m" can merge it):


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12724): 
https://lists.yoctoproject.org/g/linux-yocto/message/12724
Mute This Topic: https://lists.yoctoproject.org/mt/99425089/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH 4/4] nxp-imx8: Enable USB_CHIPIDEA related config

2023-06-09 Thread Xiaolei Wang via lists.yoctoproject.org
Enable USB_CHIPIDEA related config for nxp-imx8.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 1581cdc6..b116ae2d 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -416,6 +416,13 @@ CONFIG_USB_HCD_TEST_MODE=y
 CONFIG_USB_ACM=m
 CONFIG_USB_STORAGE=y
 CONFIG_USB_UAS=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_MASS_STORAGE=m
 
 #
 # Typec driver
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12723): 
https://lists.yoctoproject.org/g/linux-yocto/message/12723
Mute This Topic: https://lists.yoctoproject.org/mt/99425088/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx6: Enable GPU_VIV config for nxp-imx6

2023-06-08 Thread Xiaolei Wang via lists.yoctoproject.org
Enable GPU_VIV config for nxp-imx6 graphic.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx6/nxp-imx6.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/bsp/nxp-imx6/nxp-imx6.cfg b/bsp/nxp-imx6/nxp-imx6.cfg
index 4aff5ceb..9d8b42ae 100644
--- a/bsp/nxp-imx6/nxp-imx6.cfg
+++ b/bsp/nxp-imx6/nxp-imx6.cfg
@@ -138,6 +138,7 @@ CONFIG_FB_MXS=y
 CONFIG_FB_MXC_MIPI_DSI=y
 CONFIG_FB_MXC_LDB=y
 CONFIG_FB_MXC_HDMI=y
+CONFIG_MXC_GPU_VIV=y
 
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12722): 
https://lists.yoctoproject.org/g/linux-yocto/message/12722
Mute This Topic: https://lists.yoctoproject.org/mt/99419575/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[linux-yocto][yocto-kernel-cache yocto-6.1][PATCH] nxp-imx8: Enable typec config for nxp-imx8

2023-06-07 Thread Xiaolei Wang via lists.yoctoproject.org
Enable typec config for nxp-imx8.

Signed-off-by: Xiaolei Wang 
---
 bsp/nxp-imx8/nxp-imx8.cfg | 8 
 1 file changed, 8 insertions(+)

diff --git a/bsp/nxp-imx8/nxp-imx8.cfg b/bsp/nxp-imx8/nxp-imx8.cfg
index 233e1d4e..1581cdc6 100644
--- a/bsp/nxp-imx8/nxp-imx8.cfg
+++ b/bsp/nxp-imx8/nxp-imx8.cfg
@@ -417,6 +417,14 @@ CONFIG_USB_ACM=m
 CONFIG_USB_STORAGE=y
 CONFIG_USB_UAS=y
 
+#
+# Typec driver
+#
+CONFIG_TYPEC=y
+CONFIG_TYPEC_SWITCH_GPIO=y
+CONFIG_TYPEC_TCPM=y
+CONFIG_TYPEC_TCPCI=y
+
 #
 # USB Imaging devices
 #
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12717): 
https://lists.yoctoproject.org/g/linux-yocto/message/12717
Mute This Topic: https://lists.yoctoproject.org/mt/99401302/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



  1   2   >