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 |
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 >
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
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