[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
Mon Aug 10 01:02:03 PDT 2015


Hello Andrei,

On 08/10/2015 01:01 AM, Andrei Gherzan wrote:
> Cheers!
> 
> First of all good work. Additionally to the comments I made in patches, find
> some here.
>

Thanks a lot.
 
> On Thu, Aug 06, 2015 at 09:03:34AM +0200, Javier Martinez Canillas wrote:
>> 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.
>>
> 
> Yes. This will be address along with rpi kernel bump to 4.X.
>

Great.
 
>>>>>
>>> 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.
>>>
> 
> That would definitely be the preferate way but would involve some additional
> work in tracking the patches. So, as an initial state, I am fine with a
> different kernel recipe (with a different name).
>

Ok, I was waiting for your feedback before preparing v2.
 
>>> 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
>>>
>>
> 
> Vote++
>

Ok.
 
>> 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
> 
> --
> Andrei Gherzan
> 

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



More information about the yocto mailing list