mirror of
https://git.yoctoproject.org/poky
synced 2026-05-02 18:32:15 +02:00
Integrating the following commit(s) to linux-yocto/6.6:
1/1 [
Author: Kevin Hao
Email: haokexin@gmail.com
Subject: drm/tilcdc: Set preferred depth
Date: Tue, 19 Mar 2024 08:35:29 +0800
The commit c91acda3a380 ("drm/gem: Check for valid formats") adds a
check for valid pixel formats on drm_gem_fb_create(), but this breaks
the X server on the beaglebone black board.
We have set 'DefaultDepth' to 16 in our xorg.conf. In the X modesetting
driver, the drmmode_get_default_bpp() is used to guess the default
depth/bpp. First it tries to get them via DRM_CAP_DUMB_PREFERRED_DEPTH
ioctl, and if it fail, then try to create a FB with 'depth = 24' and
'bpp = 32' to check whether this depth/dpp is a valid combo. Before the
kernel commit c91acda3a380, the FB always can be created successfully.
This will avoid the bpp to be set to 24 forcibly. But after kernel
commit c91acda3a380, the FB will not be created successfully due to the
check of the valid pixel format. Then the bpp is set to 24, but the
'depth = 16' and 'bpp = 24' combo is not a valid pixel format.
Fix this issue by explicitly setting the preferred_depth in this driver.
With this change, the modesetting driver would choose the correct
depth/bpp combo based on our setting in xorg.conf.
Fixes: c91acda3a380 ("drm/gem: Check for valid formats")
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Link: https://lore.kernel.org/r/20240317033918.535716-1-haokexin@gmail.com/
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
(From OE-Core rev: e23cbdd51ce4a8ca784f5902310a9e2d363c438a)
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
49 lines
2.1 KiB
BlitzBasic
49 lines
2.1 KiB
BlitzBasic
KBRANCH ?= "v6.6/standard/preempt-rt/base"
|
|
|
|
require recipes-kernel/linux/linux-yocto.inc
|
|
|
|
# CVE exclusions
|
|
include recipes-kernel/linux/cve-exclusion_6.6.inc
|
|
|
|
# Skip processing of this recipe if it is not explicitly specified as the
|
|
# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
|
|
# to build multiple virtual/kernel providers, e.g. as dependency of
|
|
# core-image-rt-sdk, core-image-rt.
|
|
python () {
|
|
if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
|
|
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
|
|
}
|
|
|
|
SRCREV_machine ?= "4b52adc4ca90b93e65eded97537f844bb3f86621"
|
|
SRCREV_meta ?= "cc42f74d7d099826d46d3b310fda9c0c7bbb1477"
|
|
|
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
|
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
|
|
|
|
LINUX_VERSION ?= "6.6.21"
|
|
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
|
|
|
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
|
|
DEPENDS += "openssl-native util-linux-native"
|
|
|
|
PV = "${LINUX_VERSION}+git"
|
|
|
|
KMETA = "kernel-meta"
|
|
KCONF_BSP_AUDIT_LEVEL = "1"
|
|
|
|
LINUX_KERNEL_TYPE = "preempt-rt"
|
|
|
|
COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
|
|
|
|
KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
|
|
|
|
# Functionality flags
|
|
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
|
|
KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
|
|
KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
|
|
KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
|
|
KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
|
|
KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
|
|
KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
|