mbox series

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

Message ID 20200618102503.30933-1-hui.wang@canonical.com
State New
Headers show
Series [SRU,Eoan,raspi2,pull-request] enable v3d driver for raspi2 eoan kernel | expand

Pull-request

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

Message

Hui Wang June 18, 2020, 10:25 a.m. UTC
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

Comments

Stefan Bader June 19, 2020, 7:37 a.m. UTC | #1
On 18.06.20 12:25, Hui Wang wrote:
> 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

Should only affect the pi4 and was tested.

Acked-by: Stefan Bader <stefan.bader@canonical.com>

> 
> [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
>
Sultan Alsawaf June 23, 2020, 5:04 p.m. UTC | #2
Acked-by: Sultan Alsawaf <sultan.alsawaf@canonical.com>

On Thu, Jun 18, 2020 at 06:25:03PM +0800, Hui Wang wrote:
> 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
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khalid Elmously June 30, 2020, 3:51 a.m. UTC | #3
On 2020-06-18 18:25:03 , Hui Wang wrote:
> 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
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team