Skip to content
Snippets Groups Projects
  1. Aug 13, 2021
  2. Aug 12, 2021
  3. Aug 11, 2021
    • Alice Yuan's avatar
      LF-4238 media: isi: fix the null point kernel panic · 1e35d59a
      Alice Yuan authored
      
      fix kernel null point panic
      when basler camera output for m2m input pipeline created
      
      test cmd: gst-launch-1.0 v4l2src device=/dev/video3 !
      video/x-raw,format=YUY2 ! v4l2convert ! video/x-raw,
      format=RGB ! videoconvert ! fakesink
      
      [   80.780665] enter isp_s_comp
      [   80.783562] enter isp_s_comp
      [   80.806629] enter wdr3_hw_init
      [   80.809714] wdr3 res: 3840 2160
      CamEngineEnableCproc: set val  1 [   80.813793] enter isp_mi_start
      1 1 1.10 -15 1.00 0.00
      [   81.133511] isi-m2m 32e00000.isi:m2m_device: m2m_vb2_queue_setup
      [   81.139585] isi-m2m 32e00000.isi:m2m_device: m2m_vb2_queue_setup, buf_n=2, planes[0]->size=16588800
      [   81.308157] isi-m2m 32e00000.isi:m2m_device: mxc_isi_m2m_job_ready
      [   81.314419] isi-m2m 32e00000.isi:m2m_device: mxc_isi_m2m_device_run enter
      [   81.321290] BUG: scheduling while atomic: v4l2src0:src/639/0x00000002
      [   81.327729] Modules linked in: vvcam_dwe(O) vvcam_video(O) vvcam_isp(O) imx8_media_dev(C) basler_camera_driver_vvcam(O)
      [   81.338523] CPU: 0 PID: 639 Comm: v4l2src0:src Tainted: G         C O      5.10.52-05403-g1994e5c9c0a1-dirty #1
      [   81.348605] Hardware name: NXP i.MX8MPlus EVK board (DT)
      [   81.353912] Call trace:
      [   81.356363]  dump_backtrace+0x0/0x1a0
      [   81.360023]  show_stack+0x18/0x70
      [   81.363339]  dump_stack+0xd0/0x12c
      [   81.366738]  __schedule_bug+0x60/0x80
      [   81.370399]  __schedule+0x67c/0x6d0
      [   81.373885]  schedule+0x70/0x104
      [   81.377111]  schedule_timeout+0x84/0xfc
      [   81.380945]  msleep+0x2c/0x40
      [   81.383912]  mxc_isi_channel_enable+0x74/0xc0
      [   81.388266]  mxc_isi_m2m_device_run+0x80/0xc0
      [   81.392620]  v4l2_m2m_try_run+0x84/0x134
      [   81.396541]  v4l2_m2m_ioctl_streamon+0x68/0x80
      [   81.400982]  mxc_isi_m2m_streamon+0x70/0xbc
      [   81.405163]  v4l_streamon+0x28/0x34
      [   81.408650]  __video_do_ioctl+0x180/0x3e4
      [   81.412658]  video_usercopy+0x1a0/0x450
      [   81.416491]  video_ioctl2+0x18/0x24
      [   81.419978]  v4l2_ioctl+0x44/0x64
      [   81.423292]  __arm64_sys_ioctl+0xa8/0xf0
      [   81.427213]  el0_svc_common.constprop.0+0x78/0x1a0
      [   81.432001]  do_el0_svc+0x24/0x90
      [   81.435314]  el0_svc+0x14/0x20
      [   81.438366]  el0_sync_handler+0x1a4/0x1b0
      [   81.442373]  el0_sync+0x180/0x1c0
      [   81.445745] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000a60
      [   81.454530] Mem abort info:
      [   81.457320]   ESR = 0x96000004
      [   81.460371]   EC = 0x25: DABT (current EL), IL = 32 bits
      [   81.465679]   SET = 0, FnV = 0
      [   81.468729]   EA = 0, S1PTW = 0
      [   81.471866] Data abort info:
      [   81.474743]   ISV = 0, ISS = 0x00000004
      [   81.478575]   CM = 0, WnR = 0
      [   81.481539] user pgtable: 4k pages, 48-bit VAs, pgdp=00000001064d0000
      [   81.487975] [0000000000000a60] pgd=0000000000000000, p4d=0000000000000000
      [   81.494764] Internal error: Oops: 96000004 [#1] PREEMPT SMP
      [   81.500333] Modules linked in: vvcam_dwe(O) vvcam_video(O) vvcam_isp(O) imx8_media_dev(C) basler_camera_driver_vvcam(O)
      [   81.511124] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        WC O      5.10.52-05403-g1994e5c9c0a1-dirty #1
      [   81.520773] Hardware name: NXP i.MX8MPlus EVK board (DT)
      [   81.526082] pstate: 40000085 (nZcv daIf -PAN -UAO -TCO BTYPE=--)
      [   81.532092] pc : mxc_isi_cap_frame_write_done+0x2c/0x1fc
      [   81.537401] lr : mxc_isi_irq_handler+0x84/0x90
      [   81.541840] sp : ffff800011d0bbf0
      [   81.545150] x29: ffff800011d0bbf0 x28: ffff800011b02340
      [   81.550461] x27: 0000000000000280 x26: ffff8000115d2c90
      [   81.555771] x25: ffff800011c4856a x24: 00000000000016c8
      [   81.561082] x23: 0000000000000039 x22: ffff0000c18a1530
      [   81.566393] x21: 0000000000001600 x20: 0000000060020100
      [   81.571703] x19: 0000000000000000 x18: 0000000000000030
      [   81.577013] x17: 0000000000000000 x16: 0000000000000000
      [   81.582324] x15: 0000000fcc57dcca x14: 00000000000000ed
      [   81.587634] x13: 0000000000000000 x12: 0000000000000040
      [   81.592946] x11: ffff0000c20a5ff0 x10: ffff0000c20a5ff2
      [   81.598257] x9 : ffff800011b81788 x8 : ffff0000c2000270
      [   81.603567] x7 : 0000000000000000 x6 : ffff0000c2000430
      [   81.608878] x5 : ffff0000c2000248 x4 : 00000000000016c8
      [   81.614188] x3 : 0000000000001600 x2 : 0000000000000001
      [   81.619499] x1 : 0000000060020100 x0 : ffff0000c18a1480
      [   81.624809] Call trace:
      [   81.627255]  mxc_isi_cap_frame_write_done+0x2c/0x1fc
      [   81.632217]  mxc_isi_irq_handler+0x84/0x90
      [   81.636312]  __handle_irq_event_percpu+0x54/0x170
      [   81.641013]  handle_irq_event+0x68/0x150
      [   81.644934]  handle_fasteoi_irq+0xa4/0x1f4
      [   81.649027]  __handle_domain_irq+0x7c/0xe0
      [   81.653122]  gic_handle_irq+0xc0/0x140
      [   81.656869]  el1_irq+0xcc/0x180
      [   81.660007]  efi_header_end+0xa4/0x290
      [   81.663754]  irq_exit+0xdc/0xfc
      [   81.666893]  __handle_domain_irq+0x80/0xe0
      [   81.670986]  gic_handle_irq+0xc0/0x140
      [   81.674732]  el1_irq+0xcc/0x180
      [   81.677875]  _raw_spin_unlock_irq+0x14/0x50
      [   81.682056]  __schedule+0x260/0x6d0
      [   81.685543]  schedule_idle+0x28/0x50
      [   81.689117]  do_idle+0x198/0x2a0
      [   81.692343]  cpu_startup_entry+0x24/0x70
      [   81.696263]  rest_init+0xd8/0xe8
      [   81.699491]  arch_call_rest_init+0x10/0x1c
      [   81.703584]  start_kernel+0x4ac/0x4e4
      [   81.707247] Code: a90363f7 f9400013 8b030275 8b040278 (f9453277)
      [   81.713344] ---[ end trace 1a1c3af55549f42e ]---
      [   81.717959] Kernel panic - not syncing: Oops: Fatal exception in interrupt
      [   81.724830] SMP: stopping secondary CPUs
      [   81.729069] Kernel Offset: disabled
      [   81.732555] CPU features: 0x0240002,2000200c
      [   81.736820] Memory Limit: none
      
      root cause: when user is multi-processing "imx-isi-m2m" node,
      the driver of "imx-isi-m2m" open and close
      should have concurrent protection.
      
      Signed-off-by: default avatarAlice Yuan <alice.yuan@nxp.com>
      Reviewed-by: default avatarRobby Cai <Robby.Cai@nxp.com>
      1e35d59a
    • Jiyu Yang's avatar
  4. Aug 10, 2021
    • Adrian Alonso's avatar
      MLK-25654: dts: arm: imx7d sdb: medium quality sound example · 2810b4ae
      Adrian Alonso authored
      
      Add device tree to enable meidum quality sound support
      for iMX7D SabreSD, MQS_L/MQS_R pins on J20.
      
      Signed-off-by: default avatarAdrian Alonso <adrian.alonso@nxp.com>
      Reviewed-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
      2810b4ae
    • Robby Cai's avatar
      LF-4272-4 arm64: dts: change epdc pixel clock to IMX8ULP_CLK_PLL4_PFD0_DIV2 · bc462138
      Robby Cai authored
      
      previous one IMX8ULP_CLK_PLL4_PFD0_DIV1 is shared with DC Nano, which could
      be changed in some cases. use IMX8ULP_CLK_PLL4_PFD0_DIV2 for EPDC.
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      bc462138
    • Robby Cai's avatar
      LF-4272-3 media: epdc: enable power switch by default · 1294e216
      Robby Cai authored
      
      This is workaround for EPDC driver on MX8ULP as the driver doesn't handle well
      enough currently.
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      1294e216
    • Robby Cai's avatar
      LF-4272-2 arm64: dts: imx8ulp: add power domain for epdc · a70a560f
      Robby Cai authored
      
      EPDC and PXP shares same power domain.
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      a70a560f
    • Robby Cai's avatar
      LF-4272-1 media: epdc: fix unbalanced disables for regulators · 67f3abe5
      Robby Cai authored
      
      Fix unbalanced disables for regulators. this can be reproduced when run 'reboot'.
      
      ...
      [ 4793.240673] systemd-shutdown[1]: Rebooting.
      [ 4793.244917] kvm: exiting hardware virtualization
      [ 4793.249696] ------------[ cut here ]------------
      [ 4793.254293] unbalanced disables for VCOM
      [ 4793.258276] WARNING: CPU: 0 PID: 1 at drivers/regulator/core.c:2759 _regulator_disable+0xd4/0x190
      [ 4793.267035] Modules linked in:
      [ 4793.270067] CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.10.52-03704-gc6da78873546-dirty #83
      [ 4793.278818] Hardware name: NXP i.MX8ULP EVK (DT)
      [ 4793.283381] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
      [ 4793.289305] pc : _regulator_disable+0xd4/0x190
      [ 4793.293690] lr : _regulator_disable+0xd4/0x190
      [ 4793.298072] sp : ffff800011d3bbf0
      [ 4793.301346] x29: ffff800011d3bbf0 x28: ffff000004080000
      [ 4793.306599] x27: 0000000000000000 x26: ffff800011684f38
      [ 4793.311849] x25: 0000000000000008 x24: ffff800011c8c030
      [ 4793.317099] x23: ffff00000424c490 x22: ffff800011cebb88
      [ 4793.322349] x21: ffff0000058d4800 x20: ffff0000058e6b00
      [ 4793.327598] x19: ffff000004080000 x18: 0000000000000030
      [ 4793.332851] x17: 0000000000000000 x16: 0000000000000000
      [ 4793.338103] x15: ffff000004080478 x14: 00000000000003d1
      [ 4793.343351] x13: 0000000000000000 x12: 0000000000000000
      [ 4793.348602] x11: 0000000000000000 x10: 00000000000009d0
      [ 4793.353853] x9 : ffff800011d3b920 x8 : ffff000004080a30
      [ 4793.359101] x7 : ffff000057bd1a00 x6 : 00000000000003cd
      [ 4793.364351] x5 : 0000000000000004 x4 : 0000000000000000
      [ 4793.369602] x3 : ffff000008a465d0 x2 : ffff800011b316f8
      [ 4793.374851] x1 : 53f88fcddf009600 x0 : 0000000000000000
      [ 4793.380098] Call trace:
      [ 4793.382516]  _regulator_disable+0xd4/0x190
      [ 4793.386555]  regulator_disable+0x40/0x80
      [ 4793.390431]  mxc_epdc_fb_shutdown+0x100/0x130
      [ 4793.394739]  platform_drv_shutdown+0x24/0x3c
      [ 4793.398958]  device_shutdown+0x158/0x330
      [ 4793.402832]  __do_sys_reboot+0x1f0/0x294
      [ 4793.406709]  __arm64_sys_reboot+0x28/0x3c
      [ 4793.410668]  el0_svc_common.constprop.0+0x78/0x1a0
      [ 4793.415401]  do_el0_svc+0x24/0x90
      [ 4793.418675]  el0_svc+0x14/0x20
      [ 4793.421695]  el0_sync_handler+0x1a4/0x1b0
      [ 4793.425654]  el0_sync+0x180/0x1c0
      [ 4793.428922] ---[ end trace d2acbee35af03638 ]---
      ...
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      67f3abe5
    • Robby Cai's avatar
      LF-4275 media: pxp_v3: fix kernel dump due to Asynchronous SError Interrupt · 505779fe
      Robby Cai authored
      
      Access register HW_PXP_WFE_A_STG1_8X1_OUT1_0/1 causes Asynchronous SError Interrupt.
      Skip pxp_lut_cleanup_multiple() to skip above registers access to workaround it.
      
      reproduce step:
      run '/unit_tests/Display/mxc_epdc_v2_fb_test.out'
      ...
      *** Try again at 1,1 ***
      [  153.808422] SError Interrupt on CPU1, code 0xbf000002 -- SError
      [  153.808431] CPU: 1 PID: 124 Comm: pxp_dispatch Not tainted 5.10.52-02305-gd72ff8b018b0-dirty #7
      [  153.808435] Hardware name: NXP i.MX8ULP EVK (DT)
      [  153.808441] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)
      [  153.808445] pc : pxp_wfe_a_process+0xec/0x28c
      [  153.808449] lr : pxp_dispatch_thread+0x1758/0x2430
      [  153.808453] sp : ffff80001247bd40
      [  153.808457] x29: ffff80001247bd40 x28: ffff000008a8c080
      [  153.808471] x27: ffff0000054f8080 x26: ffff000008a8c000
      [  153.808480] x25: ffff800011cd2000 x24: ffff800011cd2028
      [  153.808490] x23: ffff0000054f80a4 x22: fffffffffffffffc
      [  153.808499] x21: 0000000000000040 x20: ffff0000054f8080
      [  153.808509] x19: ffff0000054f9480 x18: 0000000000001b90
      [  153.808518] x17: 0000000000001b80 x16: 0000000000001c60
      [  153.808528] x15: 0000000000001c50 x14: 0000000000001c40
      [  153.808537] x13: 0000000000001c30 x12: 0000000000001c20
      [  153.808546] x11: 0000000000001c10 x10: 0000000000001400
      [  153.808556] x9 : 0000000000001bf0 x8 : 0000000000000000
      [  153.808565] x7 : 0000000000000400 x6 : 0000000000000000
      [  153.808574] x5 : ffff800012750ca0 x4 : 0000000000000000
      [  153.808584] x3 : 00000000000002f5 x2 : 00000000000002f6
      [  153.808593] x1 : ffff800012750000 x0 : 00000000000003ff
      [  153.808604] Kernel panic - not syncing: Asynchronous SError Interrupt
      [  153.808610] CPU: 1 PID: 124 Comm: pxp_dispatch Not tainted 5.10.52-02305-gd72ff8b018b0-dirty #7
      [  153.808614] Hardware name: NXP i.MX8ULP EVK (DT)
      [  153.808618] Call trace:
      [  153.808622]  dump_backtrace+0x0/0x1a0
      [  153.808626]  show_stack+0x18/0x70
      [  153.808630]  dump_stack+0xd0/0x12c
      [  153.808633]  panic+0x16c/0x334
      [  153.808637]  nmi_panic+0x8c/0x90
      [  153.808641]  arm64_serror_panic+0x78/0x84
      [  153.808644]  do_serror+0x64/0x6c
      [  153.808648]  el1_error+0x90/0x110
      [  153.808652]  pxp_wfe_a_process+0xec/0x28c
      [  153.808656]  pxp_dispatch_thread+0x1758/0x2430
      [  153.808660]  kthread+0x154/0x160
      [  153.808664]  ret_from_fork+0x10/0x30
      [  153.808697] SMP: stopping secondary CPUs
      [  153.808701] Kernel Offset: disabled
      [  153.808705] CPU features: 0x0240002,20002008
      [  153.808709] Memory Limit: none
      
      Signed-off-by: default avatarRobby Cai <robby.cai@nxp.com>
      Reviewed-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      505779fe
    • Clark Wang's avatar
      LF-4274 i3c: master: svc: enable the interrupt in the enable ibi function · bef26212
      Clark Wang authored
      
      If enable interrupt in the svc_i3c_master_bus_init() but do not call
      enable ibi in the device driver, it will cause a kernel dump in the
      svc_i3c_master_handle_ibi() when a slave start occurs on the i3c bus,
      because the data->ibi_pool is not initialized.
      So only enable the interrupt in svc_i3c_master_enable_ibi() function.
      
      Signed-off-by: default avatarClark Wang <xiaoning.wang@nxp.com>
      Reviewed-by: default avatarJun Li <jun.li@nxp.com>
      bef26212
    • Clark Wang's avatar
      LF-4273-2 gpio: vf610: clarify the content of GPIO labels · 275e26e2
      Clark Wang authored
      
      The label of GPIO is all "vf610-gpio" in rootfs before.
      Use its module name to fill the GPIO labels. So that we can distinguish
      them more conveniently in rootfs.
      
      Signed-off-by: default avatarClark Wang <xiaoning.wang@nxp.com>
      Reviewed-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      275e26e2
    • Clark Wang's avatar
      LF-4273-1 gpio: imx-rpmsg: clarify the content of GPIO labels · 92149081
      Clark Wang authored
      
      The label of GPIO is all "imx-rpmsg-gpio" in rootfs before.
      Add its module index into its GPIO labels. So that we can distinguish
      them more conveniently in rootfs.
      
      Signed-off-by: default avatarClark Wang <xiaoning.wang@nxp.com>
      Reviewed-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      92149081
    • Sandor Yu's avatar
      LF-4270-3: drm: bridge: cdns: correct copyright description · ccf986ae
      Sandor Yu authored
      
      Correct copyright description with the format:
      Copyright <year range> NXP description.
      
      Signed-off-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      Reviewed-by: default avatarRobby Cai <robby.cai@nxp.com>
      ccf986ae
    • Sandor Yu's avatar
      LF-4270-2: drm: imx: mhdp: correct copyright description · 65010412
      Sandor Yu authored
      
      Correct copyright description with the format:
      Copyright <year range> NXP description.
      
      Signed-off-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      Reviewed-by: default avatarRobby Cai <robby.cai@nxp.com>
      65010412
    • Sandor Yu's avatar
      LF-4270-1: staging: media: imx: correct hdmirx copyright description · 06ec5887
      Sandor Yu authored
      
      Correct copyright description with the format:
      Copyright <year range> NXP
      
      Signed-off-by: default avatarSandor Yu <Sandor.yu@nxp.com>
      Reviewed-by: default avatarRobby Cai <robby.cai@nxp.com>
      06ec5887
  5. Aug 09, 2021
  6. Aug 06, 2021
    • Robin Gong's avatar
      MLK-25678 arm64: dts: imx8ulp-evk: change ONOFF key to gpio key · b048b305
      Robin Gong authored
      
      Since ONOFF key release status can't be detect on i.mx8ulp which means
      long press can't be detect in Android, use another gpio key PTF31(SW4)
      to sense ONOFF key. Besides, Vol+/- keys change to rpmsg key SW7/SW8 to
      meet the requirement of Android changing volume during low power audio
      playback while kernel maybe in suspend, and only PTF7(SW2) in APD side
      could wake up from DSM. So move Vol+/- to RTD domain.
      
      Signed-off-by: default avatarRobin Gong <yibin.gong@nxp.com>
      Reviewed-by: default avatarJacky Bai <ping.bai@nxp.com>
      b048b305
    • Li Jun's avatar
      LF-4259-2 phy: freescale: imx8mq-usb: add debugfs to access control register · 20fa9822
      Li Jun authored
      
      The CR port is a simple 16-bit data/address parallel port that is
      provided for on-chip access to the control registers inside the
      USB 3.0 femtoPHY. While access to these registers is not required
      for normal PHY operation, this interface enables you to access
      some of the PHY’s diagnostic features during normal operation or
      to override some basic PHY control signals.
      
      3 debugfs files are created to read and write control registers,
      all use hexadecimal format:
      ctrl_reg_base: the register offset to write, or the start offset
                     to read.
      ctrl_reg_count: how many continuous registers to be read.
      ctrl_reg_value: read to show the continuous registers value from
                      the offset in ctrl_reg_base, to ctrl_reg_base
                      + ctrl_reg_count - 1, one line for one register.
                      when write, override the register at ctrl_reg_base,
                      one time can only change one 16bits register.
      
      Reviewed-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      Signed-off-by: default avatarLi Jun <jun.li@nxp.com>
      20fa9822
    • Li Jun's avatar
      LF-4259-1 phy: add debugfs root entry · 3eebf41f
      Li Jun authored
      
      Add a root debugfs dir for generic phy subsystem.
      
      Reviewed-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      Signed-off-by: default avatarLi Jun <jun.li@nxp.com>
      3eebf41f
  7. Aug 05, 2021
Loading