Merge pull request #6314 from Rmys/master

nvidia
This commit is contained in:
Rmys
2019-01-20 15:45:37 +03:00
committed by GitHub
4 changed files with 106 additions and 5 deletions
@@ -25,7 +25,10 @@ def setup():
shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp"
% (arch, get.srcVERSION()))
shelltools.move("tmp/*", ".")
shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch")
shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch")
# Our libc is TLS enabled so use TLS library
#shelltools.unlink("*-tls.so*")
#shelltools.move("tls/*", ".")
@@ -86,7 +89,8 @@ def install():
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
pisitools.dolib("libGL.so.%s" % version, libdir)
pisitools.dolib("libEGL.so.1", nvlibdir)
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
pisitools.dolib("libEGL_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv1_CM_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv2_nvidia.so.%s" % version, libdir)
@@ -0,0 +1,50 @@
diff -Nurp NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-connector.c NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-connector.c
--- NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-connector.c 2018-08-22 03:55:29.000000000 +0300
+++ NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-connector.c 2018-11-09 19:46:54.625801192 +0200
@@ -30,6 +30,8 @@
#include "nvidia-drm-utils.h"
#include "nvidia-drm-encoder.h"
+#include <linux/version.h>
+
#include <drm/drm_crtc_helper.h>
#include <drm/drm_atomic.h>
@@ -226,8 +228,13 @@ static int nv_drm_connector_get_modes(st
if (nv_connector->edid != NULL) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
drm_mode_connector_update_edid_property(
connector, nv_connector->edid);
+#else
+ drm_connector_update_edid_property(
+ connector, nv_connector->edid);
+#endif
}
while (1) {
diff -Nurp NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-encoder.c NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-encoder.c
--- NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-08-22 03:55:29.000000000 +0300
+++ NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-11-09 19:49:34.863861811 +0200
@@ -30,6 +30,8 @@
#include "nvidia-drm-connector.h"
#include "nvidia-drm-crtc.h"
+#include <linux/version.h>
+
#include <drm/drm_crtc_helper.h>
#include <drm/drm_atomic.h>
@@ -216,7 +218,11 @@ nv_drm_add_encoder(struct drm_device *de
/* Attach encoder and connector */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
ret = drm_mode_connector_attach_encoder(connector, encoder);
+#else
+ ret = drm_connector_attach_encoder(connector, encoder);
+#endif
if (ret != 0) {
NV_DRM_DEV_LOG_ERR(
@@ -0,0 +1,43 @@
--- a/kernel/nvidia/os-interface.c
+++ b/kernel/nvidia/os-interface.c
@@ -1670,7 +1670,7 @@
struct nv_ipmi_softc
{
- ipmi_user_t p_user; // ptr to ipmi_msghandler user structure
+ struct ipmi_user *p_user;
spinlock_t msg_lock;
struct list_head msgs;
NvU32 seqNum; //request sequence number
@@ -1679,7 +1679,7 @@
static inline int
nv_ipmi_set_my_address
(
- ipmi_user_t user,
+ struct ipmi_user *user,
unsigned char address
)
{
--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
@@ -20,6 +20,8 @@
* DEALINGS IN THE SOFTWARE.
*/
+#include <linux/version.h>
+
#include "nvidia-drm-conftest.h"
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
@@ -345,7 +347,11 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma,
page_offset = vmf->pgoff - drm_vma_node_start(&gem->vma_node);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
ret = vm_insert_pfn(vma, address, pfn + page_offset);
+#else
+ ret = vmf_insert_pfn(vma, address, pfn + page_offset);
+#endif
switch (ret) {
case 0:
@@ -11,8 +11,12 @@
<License>NVIDIA</License>
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
<Archive sha1sum="a1f5bda45be763200ab8dbf4b3e7fd13f119c859" type="binary">http://download.nvidia.com/XFree86/Linux-x86/390.25/NVIDIA-Linux-x86-390.25.run</Archive>
<Archive sha1sum="d1ce4a1cde7ddb59e08b69c306c0a8ba48389378" type="binary">http://download.nvidia.com/XFree86/Linux-x86_64/390.25/NVIDIA-Linux-x86_64-390.25.run</Archive>
<Archive sha1sum="65bddd02353601b92cbd2bb64866eba375a1d1c6" type="binary">http://download.nvidia.com/XFree86/Linux-x86/390.87/NVIDIA-Linux-x86-390.87.run</Archive>
<Archive sha1sum="0f6c3c20c18cb886dedf963e30d8d0c2e8fe0cdc" type="binary">http://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run</Archive>
<AdditionalFiles>
<AdditionalFile target="NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch">NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch</AdditionalFile>
<AdditionalFile target="NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch">NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch</AdditionalFile>
</AdditionalFiles>
<BuildDependencies>
<Dependency version="4.19.16">kernel-module-headers</Dependency>
<Dependency>libX11-devel</Dependency>
@@ -162,7 +166,7 @@
<History>
<Update release="22">
<Date>2019-01-20</Date>
<Version>390.25</Version>
<Version>390.87</Version>
<Comment>Rebuild for new kernel</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>