[SRU][Eoan][raspi2][pull-request] enable v3d driver for raspi2 eoan kernel

Hui Wang hui.wang at canonical.com
Thu Jun 18 10:25:03 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1850876

The v3d driver is not stable in the rpi-5.3.y, so we didn't enable it
in the eoan kernel, but recently uers reproted that the rpi-5.4.y has
stable v3d driver. I first cherry-picked all patches from rpi-5.3.y,
then cherry-picked 5 patches on v3d driver from rpi-5.4.y.

With this driver enabled, the glxgears and glxinfo are accelerated
and could run stable on the rpi4 board.

[Impact]
the v3d driver is not enabled in the eoan kernel, so the opengl
apps can't be accelerated.

[Fix]
cherry-pick all patches from rpi-5.3.y and cherry-pick 5 patches
from rpi-5.4.y.

[Test Case]
On the rpi4 board:
eanbled vc4-fkms-v3d, and boot the arm64 or armhf kernel, run
glxinfo -B, it indicates the v3d driver is used, run glxgears,
it runs stable.

On the rpi3B board,
boot test for arm64 kernel and armhf kernel

On the rpi2B board,
boot test for armhf kernel

[Regression Risk]
Low, just cherry-picked patches from rpi-5.3.y and rpi-5.4.y


The following changes since commit 73b7f26eb229d98353bbf8bc89979c9a3041cd63:

  UBUNTU: [Config] raspi2: Set NLS_ASCII=y (2020-06-05 01:59:31 -0400)

are available in the Git repository at:

  https://github.com/jason77-wang/eoan-rpi4.git:enable_v3d 

for you to fetch changes up to 105e0d6dd103075be98ff17834dd2262bf3c3bff:

  UBUNTU: [Config]: CONFIG_VIDEO_IRS1125=n (2020-06-18 16:06:38 +0800)

----------------------------------------------------------------
Dave Stevenson (13):
      media: bcm2835-unicam: Add support for raw14 formats
      media: bcm2835-unicam: Rework to not cache the list of active fmts
      media: bcm2835-unicam: Support unpacking CSI format to 16bpp
      media: bcm2835-unicam: Add support for luma/greyscale formats
      drm/vc4: Add support for YUV color encodings and ranges
      drm/vc4: Add support for H & V flips
      drm/vc4: Correct handling of rotation parameter in fkms
      media: bcm2835-unicam: Replace hard coded loop limit with a define
      media: bcm2835-unicam: Fix one-to-many mapping for YUYV formats
      staging:bcm2835-codec: Add support for ENUM_FRAMESIZES
      staging: bcm2835-codec: Correct buffer type check on G_PARM
      staging: bcm2835-codec: Set default and error check timeperframe
      staging: bcm2835-codec: Fix imbalance in dma_buf_get/dma_buf_put

Hui Wang (4):
      Revert "UBUNTU: [config] raspi2: Revert "UBUNTU: [config] raspi2: CONFIG_DRM_V3D=m""
      UBUNTU: [Config]: CLK_RASPBERRYPI=y
      UBUNTU: [Config]: CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
      UBUNTU: [Config]: CONFIG_VIDEO_IRS1125=n

James Hughes (1):
      drm:vc4 Added calls for firmware display blank/unblank

Markus Proeller (4):
      dt-bindings: Add binding for the Infineon IRS1125 sensor
      media: i2c: Add a driver for the Infineon IRS1125 depth sensor
      configs: Add CONFIG_VIDEO_IRS1125 to the defconfigs
      dtoverlays: Add an overlay for the Infineon IRS1125

Phil Elwell (10):
      configs: Add CONFIG_WIZNET_W5100=m and _SPI=m
      overlays: Add w5500 overlay
      bcm2711: Retain support for old dtbs
      rpi-wm8804-soundcard: Fixed MCLKDIV for Allo Digione
      dts: bcm2838: Disable DWC OTG block by default
      configs: Add CGROUP_BPF and BPF_SYSCALL
      drm/v3d: Don't clear MMU control bits on exception
      drm/v3d: Suppress all but the first MMU error
      drm/v3d: Plug dma_fence leak
      drm/v3d: Set dma_mask as well as coherent_dma_mask

Sam Ravnborg (1):
      drm/v3d: drop use of drmP.h

Yukimasa Sugizaki (1):
      drm/v3d: Replace wait_for macros to remove use of msleep (#3510)

popcornmix (8):
      v3d_drv: Handle missing clock more gracefully
      v3d_drv: Allow clock retrieval by name
      v3d_gem: Kick the clock so firmware knows we are using firmware clock interface
      clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks
      clk-raspberrypi: Also support v3d clock
      clk-bcm2835: Disable v3d clock
      config: Switch to upstream cpufreq driver
      raspberrypi-cpufreq: Only report integer pll divisor frequencies

 Documentation/devicetree/bindings/media/i2c/irs1125.txt          |   48 ++++++
 arch/arm/boot/dts/bcm2838.dtsi                                   |    1 +
 arch/arm/boot/dts/overlays/Makefile                              |    2 +
 arch/arm/boot/dts/overlays/README                                |   22 +++
 arch/arm/boot/dts/overlays/irs1125-overlay.dts                   |   97 ++++++++++++
 arch/arm/boot/dts/overlays/w5500-overlay.dts                     |   63 ++++++++
 arch/arm/configs/bcm2709_defconfig                               |    5 +
 arch/arm/configs/bcm2711_defconfig                               |    9 ++
 arch/arm/configs/bcmrpi_defconfig                                |    5 +
 arch/arm/mach-bcm/board_bcm2835.c                                |    2 +
 arch/arm64/configs/bcm2711_defconfig                             |    5 +
 arch/arm64/configs/bcmrpi3_defconfig                             |    5 +
 debian.raspi2/config/annotations                                 |    6 +-
 debian.raspi2/config/config.common.ubuntu                        |    6 +-
 drivers/clk/bcm/clk-bcm2835.c                                    |   32 ++--
 drivers/clk/bcm/clk-raspberrypi.c                                |  503 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 drivers/cpufreq/raspberrypi-cpufreq.c                            |    7 +-
 drivers/gpu/drm/v3d/v3d_debugfs.c                                |    3 +-
 drivers/gpu/drm/v3d/v3d_drv.c                                    |   19 ++-
 drivers/gpu/drm/v3d/v3d_drv.h                                    |   54 +++++--
 drivers/gpu/drm/v3d/v3d_gem.c                                    |   19 ++-
 drivers/gpu/drm/v3d/v3d_irq.c                                    |   10 +-
 drivers/gpu/drm/vc4/vc4_firmware_kms.c                           |   63 +++++---
 drivers/gpu/drm/vc4/vc4_plane.c                                  |  121 +++++++++++++--
 drivers/gpu/drm/vc4/vc4_regs.h                                   |    3 +
 drivers/media/i2c/Kconfig                                        |   12 ++
 drivers/media/i2c/Makefile                                       |    1 +
 drivers/media/i2c/irs1125.c                                      | 1112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/media/i2c/irs1125.h                                      |   61 ++++++++
 drivers/media/platform/bcm2835/bcm2835-unicam.c                  |  400 +++++++++++++++++++++++++++++------------------
 drivers/pinctrl/bcm/pinctrl-bcm2835.c                            |    5 +
 drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c |   62 +++++++-
 include/soc/bcm2835/raspberrypi-firmware.h                       |    2 +-
 sound/soc/bcm/rpi-wm8804-soundcard.c                             |   10 +-
 34 files changed, 2435 insertions(+), 340 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/irs1125.txt
 create mode 100644 arch/arm/boot/dts/overlays/irs1125-overlay.dts
 create mode 100644 arch/arm/boot/dts/overlays/w5500-overlay.dts
 create mode 100644 drivers/media/i2c/irs1125.c
 create mode 100644 drivers/media/i2c/irs1125.h

-- 
2.17.1




More information about the kernel-team mailing list