1. 20 Sep, 2021 1 commit
  2. 17 Sep, 2021 22 commits
    • Rob Clark's avatar
      fixup! drm/bridge: sn65dsi86: Register and attach our DSI device at probe · d1eb0fb6
      Rob Clark authored
      Fixes:
      
      [    6.775705] usb 1-1: Manufacturer: Generic
      [    6.825029] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000510
      [    6.825049] Mem abort info:
      [    6.825053]   ESR = 0x96000005
      [    6.825059]   EC = 0x25: DABT (current EL), IL = 32 bits
      [    6.825064]   SET = 0, FnV = 0
      [    6.825068]   EA = 0, S1PTW = 0
      [    6.825073]   FSC = 0x05: level 1 translation fault
      [    6.825078] Data abort info:
      [    6.825083]   ISV = 0, ISS = 0x00000005
      [    6.825087]   CM = 0, WnR = 0
      [    6.825092] [0000000000000510] user address but active_mm is swapper
      [    6.825120] Internal error: Oops: 96000005 [#1] PREEMPT SMP
      [    6.825124] Modules linked in:
      [    6.825128] CPU: 7 PID: 7 Comm: kworker/u16:0 Tainted: G        W         5.14.0-rc3-debug+ #21
      [    6.825131] Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
      [    6.825134] Workqueue: events_unbound deferred_probe_work_func
      [    6.825147] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
      [    6.825150] pc : ti_sn_bridge_enable+0xb0/0x7d4
      [    6.825157] lr : ti_sn_bridge_enable+0x58/0x7d4
      [    6.825160] sp : ffffffc01008b220
      [    6.825161] x29: ffffffc01008b220 x28: ffffff8088068900 x27: 0000000000000038
      [    6.825166] x26: ffffffd7fe1c9700 x25: 0000000000000028 x24: ffffffd7fda0aed8
      [    6.825170] x23: ffffffd7fd6d5c18 x22: ffffff8086aa2080 x21: ffffff8086aa0080
      [    6.825174] x20: ffffff8086aa0f90 x19: ffffff8086aa0168 x18: 0000000000004000
      [    6.825178] x17: 004800a501260460 x16: 0000000000000000 x15: 00000000000f423f
      [    6.825182] x14: ffffff80852920d0 x13: ffffff81fef85580 x12: ffffffd7fdf43000
      [    6.825186] x11: 0000000000000001 x10: 0000000000001410 x9 : ffffffd7fd067e60
      [    6.825190] x8 : ffffff8086aa0f90 x7 : 0000000000000001 x6 : 0000000000000001
      [    6.825194] x5 : ffffffd7fd9a9876 x4 : 0000000000000000 x3 : 0000000000000004
      [    6.825198] x2 : 0000000000000018 x1 : 0000000000000010 x0 : 0000000000000000
      [    6.825202] Call trace:
      [    6.825204]  ti_sn_bridge_enable+0xb0/0x7d4
      [    6.825207]  drm_atomic_bridge_chain_enable+0x88/0xac
      [    6.825212]  drm_atomic_helper_commit_modeset_enables+0x1ac/0x22c
      [    6.825216]  msm_atomic_commit_tail+0x1d0/0x3e4
      [    6.825219]  commit_tail+0x80/0x108
      [    6.825223]  drm_atomic_helper_commit+0x144/0x148
      [    6.825225]  drm_atomic_commit+0x58/0x68
      [    6.825227]  drm_client_modeset_commit_atomic+0x1a8/0x248
      [    6.825230]  drm_client_modeset_commit_locked+0x5c/0x184
      [    6.825233]  drm_client_modeset_commit+0x3c/0x64
      [    6.825235]  __drm_fb_helper_restore_fbdev_mode_unlocked+0x9c/0xb0
      [    6.825239]  drm_fb_helper_set_par+0x74/0x80
      [    6.825241]  fbcon_init+0x368/0x404
      [    6.825246]  visual_init+0xb8/0x10c
      [    6.825248]  do_bind_con_driver.isra.0+0x280/0x2c8
      [    6.825250]  do_take_over_console+0x18c/0x1d4
      [    6.825253]  do_fbcon_takeover+0x74/0xe0
      [    6.825255]  fbcon_fb_registered+0xf0/0xf4
      [    6.825259]  register_framebuffer+0x230/0x2c4
      [    6.825261]  __drm_fb_helper_initial_config_and_unlock+0x3f4/0x4d4
      [    6.825264]  drm_fb_helper_initial_config+0x48/0x60
      [    6.825268]  msm_fbdev_init+0xc0/0xec
      [    6.825271]  msm_drm_bind+0x600/0x64c
      [    6.825274]  try_to_bring_up_master+0x88/0x1a0
      [    6.825277]  __component_add+0xec/0x13c
      [    6.825278]  component_add+0x20/0x2c
      [    6.825280]  dsi_dev_attach+0x2c/0x38
      [    6.825284]  dsi_host_attach+0xd0/0x128
      [    6.825285]  mipi_dsi_attach+0x34/0x48
      [    6.825289]  devm_mipi_dsi_attach+0x30/0x74
      [    6.825291]  ti_sn_bridge_probe+0x2b8/0x2fc
      [    6.825294]  auxiliary_bus_probe+0x80/0x98
      [    6.825297]  really_probe+0x184/0x2d4
      [    6.825299]  __driver_probe_device+0xc8/0xe0
      [    6.825301]  driver_probe_device+0x48/0xcc
      [    6.825304]  __device_attach_driver+0xb4/0xcc
      [    6.825306]  bus_for_each_drv+0xa4/0xcc
      [    6.825309]  __device_attach+0xd4/0x140
      [    6.825311]  device_initial_probe+0x20/0x2c
      [    6.825313]  bus_probe_device+0x3c/0xa4
      [    6.825316]  deferred_probe_work_func+0xc0/0xd8
      [    6.825319]  process_one_work+0x2e4/0x480
      [    6.825324]  process_scheduled_works+0x4c/0x50
      [    6.825326]  worker_thread+0x1f8/0x288
      [    6.825329]  kthread+0x114/0x124
      [    6.825332]  ret_from_fork+0x10/0x18
      [    6.825336] Code: 1a80d021 b91f7261 f94f7a60 52800201 (b9451000)
      [    6.825339] ---[ end trace 5b050456cdff8019 ]---
      [    6.828537] Kernel panic - not syncing: Oops: Fatal exception
      [    6.828546] SMP: stopping secondary CPUs
      [    6.828676] Kernel Offset: 0x17eca00000 from 0xffffffc010000000
      [    6.828678] PHYS_OFFSET: 0x80000000
      [    6.828679] CPU features: 0x1000c2c1,a3100e42
      [    6.828682] Memory Limit: none
      [    7.244275] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
      d1eb0fb6
    • Maxime Ripard's avatar
      drm/bridge: tc358775: Register and attach our DSI device at probe · 99f26e78
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      99f26e78
    • Maxime Ripard's avatar
      drm/bridge: tc358775: Switch to devm MIPI-DSI helpers · f3480baa
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device. This also avoids leaking the device when we detach
      the bridge.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      f3480baa
    • Maxime Ripard's avatar
      drm/bridge: sn65dsi86: Register and attach our DSI device at probe · 0672279b
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      0672279b
    • Maxime Ripard's avatar
      drm/bridge: sn65dsi86: Switch to devm MIPI-DSI helpers · 2fbcf23e
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device. This also avoids leaking the device when we detach
      the bridge.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      2fbcf23e
    • Maxime Ripard's avatar
      drm/bridge: sn65dsi83: Register and attach our DSI device at probe · feeef8a2
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      feeef8a2
    • Maxime Ripard's avatar
      drm/bridge: sn65dsi83: Switch to devm MIPI-DSI helpers · 9de0a18e
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device. This also avoids leaking the device when we detach
      the bridge but don't remove its driver.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      9de0a18e
    • Maxime Ripard's avatar
      drm/bridge: ps8640: Switch to devm MIPI-DSI helpers · c6c3ef2b
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device. This also avoids leaking the device on removal.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      c6c3ef2b
    • Maxime Ripard's avatar
      drm/bridge: lt9611uxc: Register and attach our DSI device at probe · 5904b6cc
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      5904b6cc
    • Maxime Ripard's avatar
      drm/bridge: lt9611uxc: Switch to devm MIPI-DSI helpers · c2aeb8b6
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      c2aeb8b6
    • Maxime Ripard's avatar
      drm/bridge: lt9611: Register and attach our DSI device at probe · 37ba3db6
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      37ba3db6
    • Maxime Ripard's avatar
      drm/bridge: lt9611: Switch to devm MIPI-DSI helpers · b83b6aac
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      b83b6aac
    • Maxime Ripard's avatar
      drm/bridge: lt8912b: Register and attach our DSI device at probe · c7af9757
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      c7af9757
    • Maxime Ripard's avatar
      drm/bridge: lt8912b: Switch to devm MIPI-DSI helpers · 9d176465
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      9d176465
    • Maxime Ripard's avatar
      drm/bridge: anx7625: Register and attach our DSI device at probe · 9d3ae854
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      9d3ae854
    • Maxime Ripard's avatar
      drm/bridge: anx7625: Switch to devm MIPI-DSI helpers · 6593e136
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      6593e136
    • Maxime Ripard's avatar
      drm/bridge: adv7511: Register and attach our DSI device at probe · 4227564c
      Maxime Ripard authored
      
      
      In order to avoid any probe ordering issue, the best practice is to move
      the secondary MIPI-DSI device registration and attachment to the
      MIPI-DSI host at probe time. Let's do this.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      4227564c
    • Maxime Ripard's avatar
      drm/bridge: adv7533: Switch to devm MIPI-DSI helpers · a1271415
      Maxime Ripard authored
      
      
      Let's switch to the new devm MIPI-DSI function to register and attach
      our secondary device. This also avoids leaking the device when we detach
      the bridge.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      a1271415
    • Maxime Ripard's avatar
      drm/mipi-dsi: Create devm device attachment · 990d979c
      Maxime Ripard authored
      
      
      MIPI-DSI devices need to call mipi_dsi_attach() when their probe is done
      to attach against their host.
      
      However, at removal or when an error occurs, that attachment needs to be
      undone through a call to mipi_dsi_detach().
      
      Let's create a device-managed variant of the attachment function that
      will automatically detach the device at unbind.
      Reviewed-by: Andrzej Hajda's avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      990d979c
    • Maxime Ripard's avatar
      drm/mipi-dsi: Create devm device registration · 5cbd3ab7
      Maxime Ripard authored
      
      
      Devices that take their data through the MIPI-DSI bus but are controlled
      through a secondary bus like I2C have to register a secondary device on
      the MIPI-DSI bus through the mipi_dsi_device_register_full() function.
      
      At removal or when an error occurs, that device needs to be removed
      through a call to mipi_dsi_device_unregister().
      
      Let's create a device-managed variant of the registration function that
      will automatically unregister the device at unbind.
      Reviewed-by: Andrzej Hajda's avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      5cbd3ab7
    • Maxime Ripard's avatar
      drm/bridge: Document the probe issue with MIPI-DSI bridges · c7a39658
      Maxime Ripard authored
      
      
      Interactions between bridges, panels, MIPI-DSI host and the component
      framework are not trivial and can lead to probing issues when
      implementing a display driver. Let's document the various cases we need
      too consider, and the solution to support all the cases.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      c7a39658
    • Maxime Ripard's avatar
      drm/bridge: Add documentation sections · 8a738133
      Maxime Ripard authored
      
      
      The bridge documentation overview is quite packed already, and we'll add
      some more documentation that isn't part of an overview at all.
      
      Let's add some sections to the documentation to separate each bits.
      Reviewed-by: Andrzej Hajda's avatarAndrzej Hajda <a.hajda@samsung.com>
      Reviewed-by: Sam Ravnborg's avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      8a738133
  3. 04 Sep, 2021 1 commit
    • Rob Clark's avatar
      drm/fourcc: Add QCOM tiled modifiers · 1409510d
      Rob Clark authored
      
      
      These are mainly used internally in mesa, although I believe the display
      should be able to scan out the TILED3 format.  Currently we define this
      modifier internally in mesa for use with modifier based allocation.  But
      we can get rid of that hack if we define the modfiers properly.
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      1409510d
  4. 03 Sep, 2021 10 commits
  5. 01 Sep, 2021 5 commits
  6. 31 Aug, 2021 1 commit