[linux-yocto][yocto-kernel-cache yocto-6.6][PATCH] nxp-imx6: Add scc and cfg files for nxp-imx6 platform
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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()
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
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
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
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
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
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
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
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
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()
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()
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
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()
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
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()
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
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()
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
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
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
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
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
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'
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
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
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
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"
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
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
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'
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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]
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
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
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
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] -=-=-=-=-=-=-=-=-=-=-=-