[chromium-freeworld] Update to 81.0.4044.129
by qvint
commit 1de9f7dc3ae608d01c03fd86d066fcff4ae56908
Author: qvint <dotqvint(a)gmail.com>
Date: Thu Apr 30 07:45:05 2020 +0300
Update to 81.0.4044.129
chromium-enable-vaapi.patch | 8 ++++----
chromium-fix-vaapi-on-intel.patch | 12 ++++++------
chromium-freeworld.spec | 5 ++++-
sources | 2 +-
4 files changed, 15 insertions(+), 12 deletions(-)
---
diff --git a/chromium-enable-vaapi.patch b/chromium-enable-vaapi.patch
index 5371fd7..403c00f 100644
--- a/chromium-enable-vaapi.patch
+++ b/chromium-enable-vaapi.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Enable VAAPI on Linux
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1923,7 +1923,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -14,7 +14,7 @@ Subject: [PATCH] Enable VAAPI on Linux
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
-@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2355,12 +2355,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
#endif // !defined(OS_ANDROID)
#endif // ENABLE_VR
@@ -32,7 +32,7 @@ Subject: [PATCH] Enable VAAPI on Linux
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2999,16 +2999,19 @@ const char kMetalDescription[] =
+@@ -3004,16 +3004,19 @@ const char kMetalDescription[] =
#endif
@@ -57,7 +57,7 @@ Subject: [PATCH] Enable VAAPI on Linux
"Use the aggregated ML model to rank the suggested apps.";
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[];
+@@ -1733,13 +1733,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
diff --git a/chromium-fix-vaapi-on-intel.patch b/chromium-fix-vaapi-on-intel.patch
index d252143..a5b494b 100644
--- a/chromium-fix-vaapi-on-intel.patch
+++ b/chromium-fix-vaapi-on-intel.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Move offending function to chromeos only
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
-@@ -63,6 +63,7 @@ void ReportToUMA(VAVDADecoderFailure fai
+@@ -64,6 +64,7 @@ void ReportToUMA(VAVDADecoderFailure fai
VAVDA_DECODER_FAILURES_MAX + 1);
}
@@ -13,15 +13,15 @@ Subject: [PATCH] Move offending function to chromeos only
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
// Lake) Cpu platform id's are referenced from the following file in kernel
// source arch/x86/include/asm/intel-family.h
-@@ -75,6 +76,7 @@ bool IsGeminiLakeOrLater() {
+@@ -76,6 +77,7 @@ bool IsGeminiLakeOrLater() {
cpuid.model() >= kGeminiLakeModelId;
return is_geminilake_or_later;
}
+#endif
- // Returns the size of a rectangle whose upper left corner is at the origin (0,
- // 0) and whose bottom right corner is the same as that of |rect|. This is
-@@ -1204,6 +1206,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+ } // namespace
+
+@@ -1171,6 +1173,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
return BufferAllocationMode::kNormal;
@@ -30,7 +30,7 @@ Subject: [PATCH] Move offending function to chromeos only
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
// associated format reconciliation copy, avoiding all internal buffer
-@@ -1220,6 +1224,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+@@ -1187,6 +1191,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
num_extra_pics_ = 3;
return BufferAllocationMode::kNone;
}
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 0413938..320e4c2 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -69,7 +69,7 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 81.0.4044.92
+Version: 81.0.4044.129
Release: 1%{?dist}
Summary: Chromium web browser built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -733,6 +733,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Thu Apr 30 2020 qvint <dotqvint(a)gmail.com> - 81.0.4044.129-1
+- Update to 81.0.4044.129
+
* Thu Apr 09 2020 qvint <dotqvint(a)gmail.com> - 81.0.4044.92-1
- Update to 81.0.4044.92
diff --git a/sources b/sources
index 7a4e91a..aa083e4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-81.0.4044.92.tar.xz) = 2d5817c84ac17e7b4d2e4473df841f53a074528e0ac997345ee68db4a9f8b45d84ef50c1d475608428f49ae40fe5315cda9d501ee22b829156c9e533044fb5af
+SHA512 (chromium-81.0.4044.129.tar.xz) = 93dfc5c1050bc226b836721d422a8d98a183fff81e91f55477dce0c650d35a95aeb89c810bea6e07ffb948ee62e8e150c8b8c5bad4658fcc215de05a681b064a
4 years, 7 months
[nvidia-340xx-kmod/f30: 3/3] Merge branch 'master' into f30
by Leigh Scott
commit cd98bf2d82a27106a3e09f70fa24e4096948885b
Merge: 519c947 49dacc5
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Apr 29 17:23:17 2020 +0100
Merge branch 'master' into f30
kernel-5.6.patch | 342 +++++++++++++++++++++++++++++++++++++++++++++++++
nvidia-340xx-kmod.spec | 10 +-
2 files changed, 351 insertions(+), 1 deletion(-)
---
4 years, 7 months
[nvidia-340xx-kmod/f31: 3/3] Merge branch 'master' into f31
by Leigh Scott
commit a0722f78bfc8ae9f529171af02fc5b20f28c359d
Merge: 973cc27 49dacc5
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Apr 29 17:22:43 2020 +0100
Merge branch 'master' into f31
kernel-5.6.patch | 342 +++++++++++++++++++++++++++++++++++++++++++++++++
nvidia-340xx-kmod.spec | 10 +-
2 files changed, 351 insertions(+), 1 deletion(-)
---
4 years, 7 months
[nvidia-340xx-kmod] patch for kernel-5.6.0
by Leigh Scott
commit 49dacc50a32f4944839fe2d824d0e82c201835b1
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Apr 29 17:22:15 2020 +0100
patch for kernel-5.6.0
kernel-5.6.patch | 342 +++++++++++++++++++++++++++++++++++++++++++++++++
nvidia-340xx-kmod.spec | 7 +-
2 files changed, 348 insertions(+), 1 deletion(-)
---
diff --git a/kernel-5.6.patch b/kernel-5.6.patch
new file mode 100644
index 0000000..ded34c3
--- /dev/null
+++ b/kernel-5.6.patch
@@ -0,0 +1,342 @@
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 125a690..7575e44 100644
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -114,6 +114,7 @@ COMPILE_TESTS = \
+ nvmap_support \
+ acpi_evaluate_integer \
+ ioremap_cache \
++ ioremap_nocache \
+ ioremap_wc \
+ proc_dir_entry \
+ INIT_WORK \
+@@ -132,6 +133,7 @@ COMPILE_TESTS = \
+ proc_create_data \
+ pde_data \
+ proc_remove \
++ proc_ops \
+ sg_table \
+ pm_vt_switch_required \
+ pci_save_state \
+@@ -148,8 +150,10 @@ COMPILE_TESTS = \
+ vm_fault_has_address \
+ drm_driver_unload_has_int_return_type \
+ drm_legacy_pci_init \
++ drm_pci_init \
+ timer_setup \
+ do_gettimeofday \
++ timeval \
+ drm_gem_object_put_unlocked \
+ drm_driver_legacy_feature_bit_present \
+ drm_driver_prime_flag_present
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index b7a85f0..08b20cd 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -1188,6 +1188,19 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions"
+ ;;
+
++ ioremap_nocache)
++ #
++ # Determine if the ioremap_nocache() function is present.
++ #
++ CODE="
++ #include <asm/io.h>
++ void conftest_ioremap_nocache(void) {
++ ioremap_nocache();
++ }"
++
++ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions"
++ ;;
++
+ ioremap_wc)
+ #
+ # Determine if the ioremap_wc() function is present.
+@@ -1607,6 +1620,19 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_PROC_REMOVE_PRESENT" "" "functions"
+ ;;
+
++ proc_ops)
++ #
++ # Determine if struct proc_ops is present.
++ #
++ CODE="
++ #include <linux/proc_fs.h>
++ void conftest_proc_ops(void) {
++ struct proc_ops pops;
++ }"
++
++ compile_check_conftest "$CODE" "NV_PROC_OPS_PRESENT" "" "types"
++ ;;
++
+ vm_operations_struct)
+ #
+ # Determine if the 'vm_operations_struct' structure has
+@@ -2066,6 +2092,28 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_DRM_LEGACY_PCI_INIT_PRESENT" "" "functions"
+ ;;
+
++ drm_pci_init)
++ #
++ # Determine if drm_pci_init() is present. drm_pci_init() was
++ # deprecated and renamed to drm_legacy_pci_init by:
++ #
++ # 2017-05-24 10631d724deff712343d96dd3017cd323349f761
++ #
++ CODE="
++ #if defined(NV_DRM_DRMP_H_PRESENT)
++ #include <drm/drmP.h>
++ #endif
++
++ #if defined(NV_DRM_DRM_PCI_H_PRESENT)
++ #include <drm/drm_pci.h>
++ #endif
++ void conftest_drm_pci_init(void) {
++ drm_pci_init();
++ }"
++
++ compile_check_conftest "$CODE" "NV_DRM_PCI_INIT_PRESENT" "" "functions"
++ ;;
++
+ timer_setup)
+ #
+ # Determine if the function timer_setup() is present.
+@@ -2109,6 +2157,22 @@ compile_test() {
+ compile_check_conftest "$CODE" "NV_DO_GETTIMEOFDAY_PRESENT" "" "functions"
+ ;;
+
++ timeval)
++ #
++ # Determine if timeval is present.
++ #
++ CODE="
++ #include <linux/time.h>
++ #if defined(NV_LINUX_KTIME_H_PRESENT)
++ #include <linux/ktime.h>
++ #endif
++ void conftest_timeval(void) {
++ struct timeval tv;
++ }"
++
++ compile_check_conftest "$CODE" "NV_TIMEVAL_PRESENT" "" "types"
++ ;;
++
+ drm_gem_object_put_unlocked)
+ #
+ # Determine if the function drm_gem_object_put_unlocked() is present.
+diff --git a/kernel/nv-drm.c b/kernel/nv-drm.c
+index 0d1cdbf..4e6fa48 100644
+--- a/kernel/nv-drm.c
++++ b/kernel/nv-drm.c
+@@ -47,7 +47,61 @@
+ #include <drm/drm_gem.h>
+ #endif
+
+-#if defined(NV_DRM_LEGACY_PCI_INIT_PRESENT)
++#if !defined(NV_DRM_LEGACY_PCI_INIT_PRESENT) && !defined(NV_DRM_PCI_INIT_PRESENT)
++static int nv_drm_pci_init(struct drm_driver *driver, struct pci_driver *pdriver)
++{
++ struct pci_dev *pdev = NULL;
++ const struct pci_device_id *pid;
++ int i;
++
++ DRM_DEBUG("\n");
++
++ if (WARN_ON(!(driver->driver_features & DRIVER_LEGACY)))
++ return -EINVAL;
++
++ /* If not using KMS, fall back to stealth mode manual scanning. */
++ INIT_LIST_HEAD(&driver->legacy_dev_list);
++ for (i = 0; pdriver->id_table[i].vendor != 0; i++) {
++ pid = &pdriver->id_table[i];
++
++ /* Loop around setting up a DRM device for each PCI device
++ * matching our ID and device class. If we had the internal
++ * function that pci_get_subsys and pci_get_class used, we'd
++ * be able to just pass pid in instead of doing a two-stage
++ * thing.
++ */
++ pdev = NULL;
++ while ((pdev =
++ pci_get_subsys(pid->vendor, pid->device, pid->subvendor,
++ pid->subdevice, pdev)) != NULL) {
++ if ((pdev->class & pid->class_mask) != pid->class)
++ continue;
++
++ /* stealth mode requires a manual probe */
++ pci_dev_get(pdev);
++ drm_get_pci_dev(pdev, pid, driver);
++ }
++ }
++ return 0;
++}
++
++static void nv_drm_pci_exit(struct drm_driver *driver, struct pci_driver *pdriver)
++{
++ struct drm_device *dev, *tmp;
++ DRM_DEBUG("\n");
++
++ if (!(driver->driver_features & DRIVER_LEGACY)) {
++ WARN_ON(1);
++ } else {
++ list_for_each_entry_safe(dev, tmp, &driver->legacy_dev_list,
++ legacy_dev_list) {
++ list_del(&dev->legacy_dev_list);
++ drm_put_dev(dev);
++ }
++ }
++ DRM_INFO("Module unloaded\n");
++}
++#elif defined(NV_DRM_LEGACY_PCI_INIT_PRESENT)
+ #define nv_drm_pci_init drm_legacy_pci_init
+ #define nv_drm_pci_exit drm_legacy_pci_exit
+ #else
+diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
+index b90eb95..1d709a3 100644
+--- a/kernel/nv-linux.h
++++ b/kernel/nv-linux.h
+@@ -689,11 +689,15 @@ extern nv_spinlock_t km_lock;
+ VM_ALLOC_RECORD(ptr, size, "vm_ioremap"); \
+ }
+
++#if defined(NV_IOREMAP_NOCACHE_PRESENT)
+ #define NV_IOREMAP_NOCACHE(ptr, physaddr, size) \
+ { \
+ (ptr) = ioremap_nocache(physaddr, size); \
+ VM_ALLOC_RECORD(ptr, size, "vm_ioremap_nocache"); \
+ }
++#else
++#define NV_IOREMAP_NOCACHE NV_IOREMAP
++#endif
+
+ #if defined(NV_IOREMAP_CACHE_PRESENT)
+ #define NV_IOREMAP_CACHE(ptr, physaddr, size) \
+@@ -1972,6 +1976,19 @@ extern NvU32 nv_assign_gpu_count;
+ })
+ #endif
+
++#if defined(NV_PROC_OPS_PRESENT)
++#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \
++ ({ \
++ struct proc_dir_entry *__entry; \
++ int mode = (S_IFREG | S_IRUGO); \
++ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \
++ if (fops->proc_write != 0) \
++ mode |= S_IWUSR; \
++ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \
++ __data); \
++ __entry; \
++ })
++#else
+ #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \
+ ({ \
+ struct proc_dir_entry *__entry; \
+@@ -1983,6 +2000,7 @@ extern NvU32 nv_assign_gpu_count;
+ __data); \
+ __entry; \
+ })
++#endif
+
+ /*
+ * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0.
+@@ -2024,6 +2041,24 @@ extern NvU32 nv_assign_gpu_count;
+ remove_proc_entry(entry->name, entry->parent);
+ #endif
+
++#if defined(NV_PROC_OPS_PRESENT)
++#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \
++ static int nv_procfs_open_##__name( \
++ struct inode *inode, \
++ struct file *filep \
++ ) \
++ { \
++ return single_open(filep, nv_procfs_read_##__name, \
++ NV_PDE_DATA(inode)); \
++ } \
++ \
++ static const struct proc_ops nv_procfs_##__name##_fops = { \
++ .proc_open = nv_procfs_open_##__name, \
++ .proc_read = seq_read, \
++ .proc_lseek = seq_lseek, \
++ .proc_release = single_release, \
++ };
++#else
+ #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \
+ static int nv_procfs_open_##__name( \
+ struct inode *inode, \
+@@ -2041,6 +2077,7 @@ extern NvU32 nv_assign_gpu_count;
+ .llseek = seq_lseek, \
+ .release = single_release, \
+ };
++#endif
+
+ #endif /* CONFIG_PROC_FS */
+
+diff --git a/kernel/nv-procfs.c b/kernel/nv-procfs.c
+index ebca3e8..110cce1 100644
+--- a/kernel/nv-procfs.c
++++ b/kernel/nv-procfs.c
+@@ -409,6 +409,15 @@ done:
+ return ((status < 0) ? status : (int)count);
+ }
+
++#if defined(NV_PROC_OPS_PRESENT)
++static struct proc_ops nv_procfs_registry_fops = {
++ .proc_open = nv_procfs_open_registry,
++ .proc_read = seq_read,
++ .proc_write = nv_procfs_write_file,
++ .proc_lseek = seq_lseek,
++ .proc_release = nv_procfs_close_registry,
++};
++#else
+ static struct file_operations nv_procfs_registry_fops = {
+ .owner = THIS_MODULE,
+ .open = nv_procfs_open_registry,
+@@ -417,6 +426,7 @@ static struct file_operations nv_procfs_registry_fops = {
+ .llseek = seq_lseek,
+ .release = nv_procfs_close_registry,
+ };
++#endif
+
+ static int
+ nv_procfs_read_unbind_lock(
+@@ -538,6 +548,15 @@ done:
+ return rc;
+ }
+
++#if defined(NV_PROC_OPS_PRESENT)
++static struct proc_ops nv_procfs_unbind_lock_fops = {
++ .proc_open = nv_procfs_open_unbind_lock,
++ .proc_read = seq_read,
++ .proc_write = nv_procfs_write_file,
++ .proc_lseek = seq_lseek,
++ .proc_release = nv_procfs_close_unbind_lock,
++};
++#else
+ static struct file_operations nv_procfs_unbind_lock_fops = {
+ .owner = THIS_MODULE,
+ .open = nv_procfs_open_unbind_lock,
+@@ -546,6 +565,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = {
+ .llseek = seq_lseek,
+ .release = nv_procfs_close_unbind_lock,
+ };
++#endif
+
+ static int
+ nv_procfs_read_text_file(
+diff --git a/kernel/nv-time.h b/kernel/nv-time.h
+index a34ceb2..c904913 100644
+--- a/kernel/nv-time.h
++++ b/kernel/nv-time.h
+@@ -28,6 +28,10 @@
+ #include <linux/ktime.h>
+ #endif
+
++#if !defined(NV_TIMEVAL_PRESENT)
++#define timeval __kernel_old_timeval
++#endif
++
+ static inline void nv_gettimeofday(struct timeval *tv)
+ {
+ #ifdef NV_DO_GETTIMEOFDAY_PRESENT
diff --git a/nvidia-340xx-kmod.spec b/nvidia-340xx-kmod.spec
index 06b6a25..737cae0 100644
--- a/nvidia-340xx-kmod.spec
+++ b/nvidia-340xx-kmod.spec
@@ -10,7 +10,7 @@ Name: nvidia-340xx-kmod
Epoch: 1
Version: 340.108
# Taken over by kmodtool
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: NVIDIA display driver kernel module
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -18,6 +18,7 @@ URL: http://www.nvidia.com/
Source11: nvidia-kmodtool-excludekernel-filterfile
Patch0: nv-linux-arm.patch
+Patch1: kernel-5.6.patch
ExclusiveArch: i686 x86_64
@@ -42,6 +43,7 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} --filterf
tar --use-compress-program xz -xf %{_datadir}/%{name}-%{version}/%{name}-%{version}-%{_target_cpu}.tar.xz
# patch loop
%patch0 -p1
+%patch1 -p1
for kernel_version in %{?kernel_versions} ; do
cp -a kernel _kmod_build_${kernel_version%%___*}
@@ -71,6 +73,9 @@ done
%{?akmod_install}
%changelog
+* Wed Apr 29 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1:340.108-3
+- patch for kernel-5.6.0
+
* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1:340.108-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
4 years, 7 months