mport few patches from upstream to allow building with newer xorg

Note that those drivers are barely maintained and might disappear in the futur

PR:		216290
Submitted by:	matthew@reztek.cz
This commit is contained in:
Baptiste Daroussin 2017-01-23 22:57:06 +00:00
parent bcb8eeafb6
commit 6702838d96
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=432304
4 changed files with 74 additions and 0 deletions

View file

@ -2,6 +2,7 @@
PORTNAME= xf86-video-s3virge
PORTVERSION= 1.10.7
PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org

View file

@ -0,0 +1,26 @@
From 9c8a08c9c7a0f7ec591042abd5b4a0fb50c028f1 Mon Sep 17 00:00:00 2001
From: Nick Hudson <skrll@NetBSD.org>
Date: Mon, 28 Sep 2015 22:49:21 +0200
Subject: Increase BIOS_BSIZE.
libpciaccess expects a much bigger buffer when reading ROM.
Bump it to the (normal) IO space size.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index d519dc8..e5dd2e4 100644
--- src/s3v_driver.c
+++ src/s3v_driver.c
@@ -316,7 +316,7 @@ s3virgeSetup(pointer module, pointer opts, int *errmaj, int *errmin)
static unsigned char *find_bios_string(S3VPtr ps3v, int BIOSbase, char *match1, char *match2)
{
-#define BIOS_BSIZE 1024
+#define BIOS_BSIZE 0x10000
#define BIOS_BASE 0xc0000
static unsigned char bios[BIOS_BSIZE];
--
cgit v0.10.2

View file

@ -0,0 +1,24 @@
From 47f43694645f3e6347b536d5e3fb2fee56e715ab Mon Sep 17 00:00:00 2001
From: Thomas Klausner <wiz@NetBSD.org>
Date: Mon, 28 Sep 2015 22:49:22 +0200
Subject: Add cast to remove a warning on 32-bit machines.
PCI_REGION_BASE returns a 64-bit value, which needs to be converted
down to 32-bit before it can be put into a 32-bit pointer.
diff --git a/src/s3v_dga.c b/src/s3v_dga.c
index 0e603cf..0ab374d 100644
--- src/s3v_dga.c
+++ src/s3v_dga.c
@@ -337,7 +337,7 @@ S3V_OpenFramebuffer(
S3VPtr ps3v = S3VPTR(pScrn);
*name = NULL; /* no special device */
- *mem = (unsigned char*)PCI_REGION_BASE(ps3v->PciInfo, 0, REGION_MEM);
+ *mem = (unsigned char*)(uintptr_t)PCI_REGION_BASE(ps3v->PciInfo, 0, REGION_MEM);
*size = ps3v->videoRambytes;
*offset = 0;
*flags = DGA_NEED_ROOT;
--
cgit v0.10.2

View file

@ -0,0 +1,23 @@
# Correct a string that should be const
# Remove extra parenthesis to clear a style warning
#
--- src/s3v_driver.c.orig 2016-11-25 14:37:44 UTC
+++ src/s3v_driver.c
@@ -480,7 +480,7 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
ClockRangePtr clockRanges;
char *mod = NULL;
const char *reqSym = NULL;
- char *s;
+ const char *s;
unsigned char config1, config2, m, n, n1, n2, cr66 = 0;
int mclk;
@@ -2850,7 +2850,7 @@ S3VModeInit(ScrnInfoPtr pScrn, DisplayMo
else
new->CR67 = 0x50 | 0x4; /* 16bpp */
}
- else if ((pScrn->bitsPerPixel == 24) ) {
+ else if (pScrn->bitsPerPixel == 24) {
new->CR67 = 0x74; /* 24bpp, STREAMS */
/* Flag STREAMS proc. required */
ps3v->NeedSTREAMS = TRUE;