Skip to content
  1. Oct 06, 2021
  2. Oct 04, 2021
  3. Sep 30, 2021
  4. Sep 29, 2021
  5. Sep 28, 2021
    • Maxime Ripard's avatar
      drm/vc4: Fix out of order frames during asynchronous page flips · f694d1cf
      Maxime Ripard authored
      
      
      When doing an asynchronous page flip (PAGE_FLIP ioctl with the
      DRM_MODE_PAGE_FLIP_ASYNC flag set), the current code waits for the
      possible GPU buffer being rendered through a call to
      vc4_queue_seqno_cb().
      
      On the BCM2835-37, the GPU driver is part of the vc4 driver and that
      function is defined in vc4_gem.c to wait for the buffer to be rendered,
      and once it's done, call a callback.
      
      However, on the BCM2711 used on the RaspberryPi4, the GPU driver is
      separate (v3d) and that function won't do anything. This was working
      because we were going into a path, due to uninitialized variables, that
      was always scheduling the callback.
      
      However, we were never actually waiting for the buffer to be rendered
      which was resulting in frames being displayed out of order.
      
      The generic API to signal those kind of completion in the kernel are the
      DMA fences, and fortunately the v3d drivers supports them and signal
      when its job is done. That API also provides an equivalent function that
      allows to have a callback being executed when the fence is signalled as
      done.
      
      Let's change our driver a bit to rely on the previous function for the
      older SoCs, and on DMA fences for the BCM2711.
      
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      f694d1cf
    • Dom Cobley's avatar
      Revert "firmware: Updated mailbox header" · 6fc5285c
      Dom Cobley authored
      This reverts commit 02038a75.
      6fc5285c
    • Dom Cobley's avatar
      2b33debb
    • madimario's avatar
      bcm2835_smi_dev: Fix handling of word-odd lengths · ab7e4aee
      madimario authored
      
      
      The read and write functions did not use the correct pointer offset
      when dealing with an odd number of bytes after a DMA transfer. Also,
      only handle the remaining odd bytes if the DMA transfer completed
      successfully.
      
      Submitted-by: @madimario (GitHub)
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      1.20210928
      ab7e4aee
  6. Sep 27, 2021
  7. Sep 23, 2021
  8. Sep 22, 2021
  9. Sep 21, 2021
    • Phil Elwell's avatar
      ARM: proc-v7: Retry uncached stmia if necessary · 3e1698ed
      Phil Elwell authored
      A failure of some CPU cores to come online has been traced to the
      failure of a stm instruction while the cache is disabled. The symptom
      is that the saved values read back as zeroes, a catastrophic error since
      one of the values is a return address.
      
      This patch forces a readback and retry until the correct value is
      returned,
      
      Notes:
      
      At this stage in the boot process the core is running with its cache
      disabled. Before enabling the cache its contents must be explicitly
      invalidated, a process that requires quite a few registers that the
      caller must preserve. Evidence suggests that something is writing a
      block of zeroes over that space at a time when all other cores should
      be idle, possibly some kind of write-combiner, and retrying is an
      attempt to avoid the problem.
      
      The previous attempted fix (forcing the accesses to only be 4-byte
      aligned) appears to have only worked for a while and likely for less
      obvious reasons such as a change in code alignment.
      
      See: https://github.com/Hexxeh/rpi-firmware/issues/232
      
      
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      3e1698ed
    • Phil Elwell's avatar
      Revert "ARM: proc-v7: Force misalignment of early stmia" · 36d449a9
      Phil Elwell authored
      This reverts commit fe4cc0ed
      
      .
      
      The speculative patch that this commit reverts is proving to not be
      effective any more, so revert it and try a new approach.
      
      Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.com>
      36d449a9
  10. Sep 17, 2021
  11. Sep 15, 2021