Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc4e226b72 | ||
|
|
cfc91a33d5 | ||
|
|
50195cadc8 | ||
|
|
cdeb67d772 | ||
|
|
00d61d913c | ||
|
|
396a2a1d56 | ||
|
|
3d99c5db01 | ||
|
|
92d9347060 | ||
|
|
48335b4ede | ||
|
|
12c0ad1553 | ||
|
|
505202bf71 | ||
|
|
70369c873e |
No files matched your search
+41
@@ -0,0 +1,41 @@
|
||||
From 82f88e88db681e24b11913b01ec336cb527f6441 Mon Sep 17 00:00:00 2001
|
||||
From: Joel Selvaraj <foss@joelselvaraj.com>
|
||||
Date: Thu, 15 Aug 2024 01:40:59 -0500
|
||||
Subject: [PATCH] HACK: media: camss: fix crash on stop streaming
|
||||
|
||||
My hunch (not tested) is that, the following patch series [1] probably
|
||||
changed the logic of enabling and disabling stream and that caused the
|
||||
issue. Skipping the use_count check works fine. But not sure if it is the
|
||||
correct way to fix it and thus marked as HACK.
|
||||
|
||||
[1] https://patchwork.kernel.org/project/linux-media/cover/20240416-enable-streams-impro-v4-0-1d370c9c2b6d@ideasonboard.com/
|
||||
|
||||
Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
|
||||
---
|
||||
drivers/media/platform/qcom/camss/camss-video.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/platform/qcom/camss/camss-video.c b/drivers/media/platform/qcom/camss/camss-video.c
|
||||
index 54cd82f74115..9057247dab7b 100644
|
||||
--- a/drivers/media/platform/qcom/camss/camss-video.c
|
||||
+++ b/drivers/media/platform/qcom/camss/camss-video.c
|
||||
@@ -557,11 +557,11 @@ static void video_stop_streaming(struct vb2_queue *q)
|
||||
|
||||
ret = v4l2_subdev_call(subdev, video, s_stream, 0);
|
||||
|
||||
- if (entity->use_count > 1) {
|
||||
- /* Don't stop if other instances of the pipeline are still running */
|
||||
- dev_dbg(video->camss->dev, "Video pipeline still used, don't stop streaming.\n");
|
||||
- return;
|
||||
- }
|
||||
+ // if (entity->use_count > 1) {
|
||||
+ // /* Don't stop if other instances of the pipeline are still running */
|
||||
+ // dev_dbg(video->camss->dev, "Video pipeline still used, don't stop streaming.\n");
|
||||
+ // return;
|
||||
+ // }
|
||||
|
||||
if (ret) {
|
||||
dev_err(video->camss->dev, "Video pipeline stop failed: %d\n", ret);
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
_flavor="postmarketos-qcom-sdm670"
|
||||
pkgname=linux-$_flavor
|
||||
pkgver=6.10.2
|
||||
pkgrel=2
|
||||
pkgrel=5
|
||||
pkgdesc="Mainline Kernel fork for SDM670 devices"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
url="https://gitlab.com/sdm670-mainline/linux"
|
||||
url="https://gitlab.com/panpanpanpan/linux"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps
|
||||
pmb:cross-native
|
||||
@@ -27,11 +27,12 @@ makedepends="
|
||||
"
|
||||
|
||||
_config="config-$_flavor.$arch"
|
||||
_tag="sdm670-v$pkgver"
|
||||
_tag="imx363-sdm670-v$pkgver"
|
||||
|
||||
# Source
|
||||
source="
|
||||
https://gitlab.com/sdm670-mainline/linux/-/archive/$_tag/linux-$_tag.tar.gz
|
||||
https://gitlab.com/panpanpanpan/linux/-/archive/$_tag/linux-$_tag.tar.gz
|
||||
0001-HACK-media-camss-fix-crash-on-stop-streaming.patch
|
||||
$_config
|
||||
"
|
||||
builddir="$srcdir/linux-$_tag"
|
||||
@@ -66,6 +67,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b992e72c8a8f2186088afb427acb8b79760ddb6350087abe15c0ac6064d10bd77adb2c3e260cf3f2014f93dd4b9fafd3f5a9805e9905cf75907e53a1f672dc36 linux-sdm670-v6.10.2.tar.gz
|
||||
b42f289628a1e92f0939ceaf4a3a1a3c4832fb122bd35043190b8a12360257796e41c81ab2d5cc26b7c50201d15723069a37e9ad78b9ca32281ce83164abc172 config-postmarketos-qcom-sdm670.aarch64
|
||||
c42e30e0a3ec198ea796b7bfe15da9cdc9de1634d727591ed53bb13249b7b9dc19d0489f2dd0ede5d4a8a3123f80ab09e5570d24277abb767d9926afa358cbb0 linux-imx363-sdm670-v6.10.2.tar.gz
|
||||
72c92776552f85e0bfade63473324af9dcd944e9162fbc05f26e43d192ddbdb9a4c2daaead5f42c54a564a91c68678f4a111cdf802bac7b60c7fc57f8af99f9b 0001-HACK-media-camss-fix-crash-on-stop-streaming.patch
|
||||
7b22161f839461fdc058b4e2cef65c724a48069bc370ee31dd310ad64e6272c87c11ac60bfcab5b81b48b353f818a514a8c0a53178536b163fb4be54349ffaf0 config-postmarketos-qcom-sdm670.aarch64
|
||||
"
|
||||
+1
@@ -3735,6 +3735,7 @@ CONFIG_VIDEO_CAMERA_SENSOR=y
|
||||
# CONFIG_VIDEO_IMX334 is not set
|
||||
# CONFIG_VIDEO_IMX335 is not set
|
||||
CONFIG_VIDEO_IMX355=m
|
||||
CONFIG_VIDEO_IMX363=m
|
||||
# CONFIG_VIDEO_IMX412 is not set
|
||||
# CONFIG_VIDEO_IMX415 is not set
|
||||
# CONFIG_VIDEO_MT9M001 is not set
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Kernel config based on: arch/arm64/configs/defconfig
|
||||
|
||||
pkgname=linux-next
|
||||
pkgver=6.12_git20240930
|
||||
pkgver=6.11_git20240927
|
||||
pkgrel=2
|
||||
_nextver="${pkgver#*_git}"
|
||||
pkgdesc="Linux next kernel"
|
||||
@@ -69,7 +69,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
9edf7524d6d9240ecc0fc34e26f0710e7a54ceed6e61fe730b9c7c16b33030335232b2916772004b8a9ae71ed7b9e22114facf656c960d38d98bedfff717441d linux-next-next-20240930.tar.gz
|
||||
72b3f877a57d5dda85f8cc778ed7ecf87f7474860065a497f426249b1fd43dd460d6fd25f6220f6568ec8aa7402d15f517c4dd8b89abaeef4b6db66debee1517 linux-next-next-20240927.tar.gz
|
||||
adbb506c0a2d676b1964a5d7c693f72338541ebd0cacee62e4579d43163c468d95607d73bf7439fb55b4d6bfa0dd42578b07ee20965aa03c2a9d8022cb3ae267 devices.config
|
||||
a30df186f06519e2f519bfe622bbd46caec6c2473a1fd3df370320a661d53882b49cfb2b3be7edd92fabdb4a8e6e3419194e8d43cca3cf4ab1615275dab4fee4 pmos.config
|
||||
"
|
||||
@@ -1,59 +0,0 @@
|
||||
From d63e60061419cb1cb1591c9f7f5f238d1201b7f1 Mon Sep 17 00:00:00 2001
|
||||
From: Clayton Craft <clayton@craftyguy.net>
|
||||
Date: Sat, 28 Sep 2024 08:11:19 -0700
|
||||
Subject: [PATCH] add compile-time flag to disable Go GC (MR 56)
|
||||
|
||||
I hate this, but it's the only good way I could find to allow working around this ugly QEMU bug:
|
||||
https://gitlab.com/qemu-project/qemu/-/issues/2560
|
||||
---
|
||||
Makefile | 5 +++++
|
||||
cmd/mkinitfs/main.go | 8 ++++++++
|
||||
2 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e4fbcdd..0b1e841 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -13,6 +13,11 @@ GOFLAGS?=
|
||||
LDFLAGS+=-s -w -X main.Version=$(VERSION)
|
||||
RM?=rm -f
|
||||
GOTEST=go test -count=1 -race
|
||||
+DISABLE_GOGC?=
|
||||
+
|
||||
+ifeq ($(DISABLE_GOGC),1)
|
||||
+ LDFLAGS+=-X main.DisableGC=true
|
||||
+endif
|
||||
|
||||
GOSRC!=find * -name '*.go'
|
||||
GOSRC+=go.mod go.sum
|
||||
diff --git a/cmd/mkinitfs/main.go b/cmd/mkinitfs/main.go
|
||||
index 138667b..6494504 100644
|
||||
--- a/cmd/mkinitfs/main.go
|
||||
+++ b/cmd/mkinitfs/main.go
|
||||
@@ -9,6 +9,8 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
+ "runtime/debug"
|
||||
+ "strings"
|
||||
"time"
|
||||
|
||||
"gitlab.com/postmarketOS/postmarketos-mkinitfs/internal/archive"
|
||||
@@ -26,8 +28,14 @@ import (
|
||||
|
||||
// set at build time
|
||||
var Version string
|
||||
+var DisableGC string
|
||||
|
||||
func main() {
|
||||
+ // To allow working around silly GC-related issues, like https://gitlab.com/qemu-project/qemu/-/issues/2560
|
||||
+ if strings.ToLower(DisableGC) == "true" {
|
||||
+ debug.SetGCPercent(-1)
|
||||
+ }
|
||||
+
|
||||
retCode := 0
|
||||
defer func() { os.Exit(retCode) }()
|
||||
|
||||
--
|
||||
2.46.2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
|
||||
pkgname=postmarketos-mkinitfs
|
||||
pkgver=2.5.1
|
||||
pkgrel=1
|
||||
pkgrel=0
|
||||
pkgdesc="Tool to generate initramfs images for postmarketOS"
|
||||
url="https://postmarketos.org"
|
||||
depends="
|
||||
@@ -26,7 +26,6 @@ triggers="$pkgname.trigger=\
|
||||
source="
|
||||
https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/archive/$pkgver/postmarketos-mkinitfs-$pkgver.tar.gz
|
||||
https://gitlab.com/api/v4/projects/postmarketOS%2Fpostmarketos-mkinitfs/packages/generic/mkinitfs-vendor-$pkgver/$pkgver/mkinitfs-vendor-$pkgver.tar.gz
|
||||
0001-add-compile-time-flag-to-disable-Go-GC-MR-56.patch
|
||||
"
|
||||
|
||||
install="$pkgname.post-upgrade"
|
||||
@@ -48,15 +47,7 @@ prepare() {
|
||||
|
||||
build() {
|
||||
unset LDFLAGS # passed to Go as linker flags, which are invalid
|
||||
|
||||
# Go garbage collector malfunctions when running x86_64 binaries in QEMU on
|
||||
# an aarch64 host. See: https://gitlab.com/qemu-project/qemu/-/issues/2560
|
||||
case "$CARCH" in
|
||||
x86_64)
|
||||
make VERSION="$pkgver" DISABLE_GOGC=1 ;;
|
||||
*)
|
||||
make VERSION="$pkgver" ;;
|
||||
esac
|
||||
make VERSION="$pkgver"
|
||||
}
|
||||
|
||||
package() {
|
||||
@@ -70,5 +61,4 @@ check() {
|
||||
sha512sums="
|
||||
6f2e5c8281a8e6b340f2288b31fb102dcc98480e8bf905bf57a54a81d36a5615b194f0a56f5cd3be207784278257eb6ee3dfecaccb60c3332f4d0f45bafedaa3 postmarketos-mkinitfs-2.5.1.tar.gz
|
||||
420e4bd8126f765c18b3ea48b2dc7356727958826dbe1086b753f5d46bc9b56d25ed668db8f9f4e8c9d5b1e943105850071c9c3ce442daf12eaa80516e973372 mkinitfs-vendor-2.5.1.tar.gz
|
||||
2af899c69cbdc84ca85f2a5fe609974b2b9e4c0389d9487596d86d403e55b09fdc2e7daf4452bf33b8a27a2b37339d9311b8d1f903074a1410689665425b7d68 0001-add-compile-time-flag-to-disable-Go-GC-MR-56.patch
|
||||
"
|
||||
@@ -1,50 +0,0 @@
|
||||
From d3f0e40d49378a70405b975169ab444f4a565a17 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Mader <robert.mader@collabora.com>
|
||||
Date: Thu, 26 Sep 2024 23:07:39 +0200
|
||||
Subject: [PATCH 5/5] pipeline: simple: Increase buffer count to four
|
||||
|
||||
Which is not only what many other pipeline handlers use, but also a good
|
||||
lower limit when dealing with DRM and similar APIs. Even Mesas EGL and
|
||||
Vulkan WSI implementations use for the reason outlined in mesa commit
|
||||
992a2dbba80aba35efe83202e1013bd6143f0dba:
|
||||
> When the compositor is directly scanning out from the application's buffer it
|
||||
> may end up holding on to three buffers. These are the one that is is currently
|
||||
> scanning out from, one that has been given to DRM as the next buffer to flip
|
||||
> to, and one that has been attached and will be given to DRM as soon as the
|
||||
> previous flip completes. When we attach a fourth buffer to the compositor it
|
||||
> should replace that third buffer so we should get a release event immediately
|
||||
> after that. This patch therefore also changes the number of buffer slots to 4
|
||||
> so that we can accomodate that situation.
|
||||
|
||||
Given the popularity of this buffer number the bump should be unlikely
|
||||
to cause problems. At the same time it may help with performance or
|
||||
even work around glitches.
|
||||
|
||||
The previous number was introduced in commit
|
||||
a8964c28c80fb520ee3c7b10143371081d41405a without mentioning a specific
|
||||
reason against the change at hand.
|
||||
|
||||
Signed-off-by: Robert Mader <robert.mader@collabora.com>
|
||||
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
|
||||
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
||||
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
||||
---
|
||||
src/libcamera/pipeline/simple/simple.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
|
||||
index 29320a26..b32f8b2c 100644
|
||||
--- a/src/libcamera/pipeline/simple/simple.cpp
|
||||
+++ b/src/libcamera/pipeline/simple/simple.cpp
|
||||
@@ -1134,7 +1134,7 @@ CameraConfiguration::Status SimpleCameraConfiguration::validate()
|
||||
cfg.frameSize = format.planes[0].size;
|
||||
}
|
||||
|
||||
- cfg.bufferCount = 3;
|
||||
+ cfg.bufferCount = 4;
|
||||
}
|
||||
|
||||
return status;
|
||||
--
|
||||
2.46.2
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
pkgname=libcamera
|
||||
pkgver=9999
|
||||
_pkgver=0.3.2
|
||||
pkgrel=7
|
||||
pkgrel=6
|
||||
pkgdesc="Linux camera framework"
|
||||
url="https://libcamera.org/"
|
||||
arch="all"
|
||||
@@ -46,7 +46,6 @@ source="https://gitlab.freedesktop.org/camera/libcamera/-/archive/v$_pkgver/libc
|
||||
0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch
|
||||
0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
|
||||
0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
|
||||
0005-pipeline-simple-Increase-buffer-count-to-four.patch
|
||||
qcam.desktop
|
||||
90-libcamera.rules
|
||||
"
|
||||
@@ -151,7 +150,6 @@ ac7df3e4509ae874199810057f4d8416da71720c15534578cc352608a8ae228dfa4814f9eb995d55
|
||||
9b6da8bd11ff9d8400ed721fbbeb960ac8753c078fdd971d786a446a9f96fea19dfc55be2705dc44a152e11de996f88139c1d24637bffc257da5083d19fe80c9 0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch
|
||||
0fc6a1108c4e905d2d422a664622dc25ec459f13765b5711ad009d4df0fd0cceda8cd067a18e5e54eb2346b292481952161e72deb03d416ba80b300256c25e40 0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
|
||||
35c74746453f4c2e24a2185331afabcf64e3af01bec2462ec09940518cda0e91c4a1f33853b4b009e1f8352af3c606fbd4b4d3791ffbba0f610f19538380c4c8 0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
|
||||
b3ba41f81f30979e9b2bd41f5068cd720a11cde2e2a2e31a875493ad9e299cb3dd7b81b5862bea71201001533c6bde18e3d025f65df23e73af3b9363857654a2 0005-pipeline-simple-Increase-buffer-count-to-four.patch
|
||||
22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop
|
||||
cb4eb19eec766f1b8667a8b7c9d5f7d44a2dce79fddfdf3b6e3d1849066cebe79f82566bdcf6659c7ddf4faaf233d5adac10cda636935785e5305e2b7e9b34a9 90-libcamera.rules
|
||||
"
|
||||
Reference in new issue
Block a user