[yocto] [meta-raspberrypi][PATCH 0/5] Add support for 4.1 kernel with vc4 DRM/KMS driver

Javier Martinez Canillas javier at osg.samsung.com
Thu Aug 6 00:03:34 PDT 2015


Hello Petter,

On 08/05/2015 10:48 PM, Petter Mabäcker wrote:
>  
> 
> 2015-08-04 18:07 skrev Javier Martinez Canillas: 
> 
>> Hello Petter,
>>
> 
>> Thanks a lot for your feedback.
>>
>> On 08/04/2015 11:16 AM, Petter
> Mabäcker wrote:
>>
>>> On 07/30/2015 10:34 AM, Javier Martinez Canillas
> wrote: 
>>>
>>>> Hello Andrei, This series adds support for Eric Anholt's
> v4.1 kernel, that has support for the vc4 DRM/KMS driver. Which is the
> new open source graphics driver stack for the Raspberry Pi to be used
> instead of the userland driver. We are using it in the Tizen port to
> RPI2 [0] and are trying to push all the patches back to the tizen-distro
> and meta-raspberrypi OE layers so I'm posting these patches to get your
> feedback. The v4.1 kernel is under heavy development so is a
> work-in-progress and should not be used in production. That's why a
> default preference of -1 is set and the kernel only is enabled if the
> "vc4-gfx" feature is added to the DISTRO_FEATURES variable. But even
> when it's still a development kernel, having the recipe in the
> meta-raspberrypi will allow people to test it. The patches are for:
> Patch 1/5 makes optional to add the kgdboc kernel command line parameter
> Patch 2/5 allows to set the mask_gpu_interrupt0 option in config.txt
> Patch 3/5 changes the partition layout to add more space for boot files
> Patch 4/5 adds a recipe for the 4.1 and some patches to make it stable
> Patch 5/5 switchs the default providers according to the gfx stack used
> One problem I found is that the latest RPI kernels changed the path for
> the DT overlays after commit 739c586c8757 ("BCM270X_DT: Move the
> overlays into a subdirectory, adding the README") [1] so the kernel
> fails to build with the default KERNEL_DEVICETREE. I tried to change
> get_dts() function logic to take this into account but found that it
> would had been a more intrusive change and KERNEL_DEVICETREE will have
> to be changed anyways once the recipes for the other kernels are updated
> to the latest HEAD so for now I just define the following on local.conf
> to make it build:
>>> As long as we bump SRCREV for 3.18 kernel as well,
> I see no problem. Since then the KERNEL_DEVICETREE default value can
> look the same in all situations (both 3.18 and 4.x can handle the new
> structure and we get no compatibility issues) and for older kernels
> (3.12 and 3.14) it doesn't matter since they don't have native device
> tree support and will turn device tree support off by default.
>>
>> Yes,
> that's what I meant when I said that the problem will be solved once
>>
> all the recipes for DT enabled kernels are updated to the latest
> branch
>> HEAD. But I didn't want to do that in this series since I
> wanted the
>> changes to be as less intrusive as possible.
> 
> Ok, sounds
> reasonable. Alex found some problems when bumping 3.18 to latest but
> when that is solved he can push the 3.18 bumping and prepare the
> KERNEL_DEVICETREE variable with the new subdir for overlays. 
>

Awesome.
 
>>>
> KERNEL_DEVICETREE = " bcm2708-rpi-b.dtb bcm2708-rpi-b-plus.dtb
> bcm2709-rpi-2-b.dtb overlays/hifiberry-amp-overlay.dtb
> overlays/hifiberry-dac-overlay.dtb
> overlays/hifiberry-dacplus-overlay.dtb
> overlays/hifiberry-digi-overlay.dtb overlays/iqaudio-dac-overlay.dtb
> overlays/iqaudio-dacplus-overlay.dtb overlays/lirc-rpi-overlay.dtb
> overlays/pps-gpio-overlay.dtb overlays/w1-gpio-overlay.dtb
> overlays/w1-gpio-pullup-overlay.dtb " [0]:
> http://blogs.s-osg.org/tizen-rpi2-now-supporting-3d-acceleration/ [1]
> [1]: https://github.com/raspberrypi/linux/commit/739c586c8757 [2] Best
> regards, --- Javier Martinez Canillas Open Source Group Samsung Research
> America Derek Foreman (4): rpi-config: Allow to mask GPU irqs
> sdcard_image-rpi.bbclass: Allocate more space for boot partition
> linux-raspberrypi: Add a 4.1 linux kernel with vc4 support
> rpi-default-providers: Switch providers according to used gfx stack
> Mauro Carvalho Chehab (1): linux-raspberrypi.inc: Make kgdboc kernel
> param optional README | 38 +++++-- classes/sdcard_image-rpi.bbclass | 6
> +- conf/machine/include/rpi-default-providers.inc | 8 +-
> conf/machine/include/rpi-default-versions.inc | 2 +-
> recipes-bsp/bootfiles/rpi-config_git.bb | 6 ++
> recipes-kernel/linux/linux-raspberrypi.inc | 5 +-
> ..._defconfig-Enable-config-options-for-vc4-.patch | 48 +++++++++
> ...-ARM-dts-Fix-i2c-for-bcm2709-RPI2-B-board.patch | 85 +++++++++++++++
> .../0003-drm-vc4-Use-the-fbdev_cma-helpers.patch | 115
> +++++++++++++++++++++ .../0004-drm-vc4-Allow-vblank-to-be-disabled.patch
> | 26 +++++ .../0005-drm-vc4-Disable-KMS-operations.patch | 95
> +++++++++++++++++ recipes-kernel/linux/linux-raspberrypi_4.1.bb | 16 +++
> 12 files changed, 433 insertions(+), 17 deletions(-) create mode 100644
> recipes-kernel/linux/linux-raspberrypi/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
> create mode 100644
> recipes-kernel/linux/linux-raspberrypi/0002-ARM-dts-Fix-i2c-for-bcm2709-RPI2-B-board.patch
> create mode 100644
> recipes-kernel/linux/linux-raspberrypi/0003-drm-vc4-Use-the-fbdev_cma-helpers.patch
> create mode 100644
> recipes-kernel/linux/linux-raspberrypi/0004-drm-vc4-Allow-vblank-to-be-disabled.patch
> create mode 100644
> recipes-kernel/linux/linux-raspberrypi/0005-drm-vc4-Disable-KMS-operations.patch
> create mode 100644 recipes-kernel/linux/linux-raspberrypi_4.1.bb
>> Nice
> and interesting changes, but you really should sync this with Alex
> Lennon as well since he currently are working with integrating 4.1 into
> meta-raspberrypi. An other opinion is that you should start by trying to
> integrate relevant kernel changes both from
> 'git://github.com/anholt/linux.git;protocol=git;branch=vc4-kms-v3d-rpi2'
> and the integration patches into the currently used upstream
> (https://github.com/raspberrypi/linux [3]) and I also think it's a good
> idea to ensure that the new code is added within kernel config options
> so it's easy to enable/disable the vc4 support. Then at least I think
> this more easily can be integrated in meta-raspberrypi.
> 
> I didn't know
> there was a work in progress to integrate the 4.1 tree.
> Although that is
> for the branch in https://github.com/raspberrypi/linux [3]that does not
> have the Broa> n't expect that to be a trivial task. I certainly don't
> know if have the bandwidth to do it. Also, it is under heavy development
> so will be hard to track. Another option is to have two recipes for 4.1,
> one for the raspberrypi tree with userland and another one with the tree
> with the VC4 DRM/KMS driver. Or use the same recipe but with a different
> SRC_URI for each case. I tried to isolate all the VC4 support so is
> enabled and disable easily using a config option.
>>
>> Ok, in that case
> I think we don't have so much options. I vote for two recipes in that
> case (at least to start with) something like
> recipe-kernel/linux/linux-raspberrypi-vc4 or similar.
> r 
>

Ok, that makes sense for me. I'll wait a couple of days to see if there
are more feedback and post a v2 based on your (an others) suggestions.

Thanks a lot!

> Best
> regards,
> 
 
Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America



More information about the yocto mailing list