diff --git a/device/testing/device-bq-paella/APKBUILD b/device/testing/device-bq-paella/APKBUILD index 409dfc352..83d6ca6b3 100644 --- a/device/testing/device-bq-paella/APKBUILD +++ b/device/testing/device-bq-paella/APKBUILD @@ -3,14 +3,14 @@ pkgname=device-bq-paella pkgdesc="BQ Aquaris X5 Cyanogen Edition" pkgver=1 -pkgrel=0 +pkgrel=1 url="https://postmarketos.org" license="MIT" arch="aarch64" options="!check !archcheck" depends="postmarketos-base mkbootimg linux-postmarketos-qcom-msm8916 soc-qcom-msm8916" makedepends="devicepkg-dev" -source="deviceinfo" +source="deviceinfo modprobe.conf" subpackages="$pkgname-nonfree-firmware:nonfree_firmware" build() { @@ -27,4 +27,5 @@ nonfree_firmware() { mkdir "$subpkgdir" } -sha512sums="e813ad9c744845b0520830bc14fe9ca603999d6b7fbc8309fa7a3a6816ebb102310ec99d7cf163fe2d5735ac65f8f7f43b3f584a7ec2d556d414ee88275facb5 deviceinfo" +sha512sums="3408576753e6c0ec363a18a223387decb68e409961a95ddca289df975bb7d5a123a0958dcff82fd7d3d8f98236726c289555f3c8ab8447cc5523f4c12baf05ea deviceinfo +84ab0cbcdcab61aaceabff46d2c13aa29242a2eeab2f666ee996041f1969396a8124228c204d81aaf0b6427ee51b8a70bfdaa11b53c94390263d8af96a2fd511 modprobe.conf" diff --git a/device/testing/device-bq-paella/deviceinfo b/device/testing/device-bq-paella/deviceinfo index 2271310ae..9b94ad0b8 100644 --- a/device/testing/device-bq-paella/deviceinfo +++ b/device/testing/device-bq-paella/deviceinfo @@ -8,7 +8,7 @@ deviceinfo_codename="bq-paella" deviceinfo_year="2015" deviceinfo_dtb="qcom/msm8916-bq-paella" deviceinfo_append_dtb="true" -deviceinfo_modules_initfs="" +deviceinfo_modules_initfs="panel-yushun-nt35520 msm himax_852xES" deviceinfo_arch="aarch64" # Device related diff --git a/device/testing/device-bq-paella/modprobe.conf b/device/testing/device-bq-paella/modprobe.conf new file mode 100644 index 000000000..025cb557e --- /dev/null +++ b/device/testing/device-bq-paella/modprobe.conf @@ -0,0 +1,20 @@ +# +# There is a weird probe issue if both MSM DRM and the panel driver are built +# as modules: When MSM DRM is loaded it registers the DSI bus for the panel. +# At this point the panel is not loaded yet, so the kernel sends an uevent +# to userspace to load the necessary panel module. +# +# This causes some delay until the panel module is loaded, so MSM DRM fails to +# probe temporarily and returns -EPROBE_DEFER (to request probing again later). +# Unfortunately this will also unregister the DSI bus for the panel, and the +# kernel will not try probing MSM DRM + panel again until some other (slow) +# driver loads after MSM DRM. +# +# Usually WCNSS (WiFi/BT) fits that criteria, allowing the display to work. +# But this does not work if the user decides to exclude proprietary firmware. +# +# To avoid this problem we add an explicit soft dependency for MSM DRM +# on the panel module, so modprobe loads the panel module first and MSM DRM +# will immediately find the panel it is looking for. +# +softdep msm pre: panel-yushun-nt35520