From patchwork Thu Jun 18 10:25:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hui Wang X-Patchwork-Id: 1312001 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49ndP76ydgz9sSd; Thu, 18 Jun 2020 20:25:31 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1jlrjY-0003C9-Ba; Thu, 18 Jun 2020 10:25:24 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jlrjV-0003C3-N6 for kernel-team@lists.ubuntu.com; Thu, 18 Jun 2020 10:25:21 +0000 Received: from [123.112.103.108] (helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jlrjU-0007aU-QS for kernel-team@lists.ubuntu.com; Thu, 18 Jun 2020 10:25:21 +0000 From: Hui Wang To: kernel-team@lists.ubuntu.com Subject: [SRU][Eoan][raspi2][pull-request] enable v3d driver for raspi2 eoan kernel Date: Thu, 18 Jun 2020 18:25:03 +0800 Message-Id: <20200618102503.30933-1-hui.wang@canonical.com> X-Mailer: git-send-email 2.17.1 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" 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 Acked-by: Stefan Bader Acked-by: Sultan Alsawaf