mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
update to xf86-video-intel-2.7.0.901
This commit is contained in:
parent
3a95f88a48
commit
dbd5269182
@ -0,0 +1,12 @@
|
||||
diff -Nurp patched/src/i830_quirks.c working/src/i830_quirks.c
|
||||
--- patched/src/i830_quirks.c 2009-01-12 23:59:17.000000000 -0800
|
||||
+++ working/src/i830_quirks.c 2009-01-12 23:59:58.000000000 -0800
|
||||
@@ -308,6 +308,8 @@ static i830_quirk i830_quirk_list[] = {
|
||||
{ PCI_CHIP_I855_GM, 0x1028, 0x00c8, quirk_pipea_force },
|
||||
/* Intel 855GM hardware (See Novell Bugzilla #406123) */
|
||||
{ PCI_CHIP_I855_GM, 0x10cf, 0x1215, quirk_pipea_force },
|
||||
+ /* Intel 855GM mv890 hardware (see LP: #305269) */
|
||||
+ { PCI_CHIP_I855_GM, 0x8086, 0x3582, quirk_ignore_lvds },
|
||||
/* HP Pavilion ze4944ea needs pipe A force quirk (See LP: #242389) */
|
||||
{ PCI_CHIP_I855_GM, 0x103c, 0x3084, quirk_pipea_force },
|
||||
|
@ -0,0 +1,80 @@
|
||||
# Description: Avoid pipe underruns on high graphics activity, which caused flicker and sometimes complete screen corruption.
|
||||
# Ubuntu: https://launchpad.net/bugs/311895)
|
||||
# Upstream: http://bugs.freedesktop.org/show_bug.cgi?id=19304
|
||||
|
||||
Index: xserver-xorg-video-intel-2.6.1/src/i830_debug.c
|
||||
===================================================================
|
||||
--- xserver-xorg-video-intel-2.6.1.orig/src/i830_debug.c 2009-02-25 08:23:37.000000000 +0100
|
||||
+++ xserver-xorg-video-intel-2.6.1/src/i830_debug.c 2009-02-25 08:24:27.000000000 +0100
|
||||
@@ -551,6 +551,8 @@
|
||||
DEFINEREG(DSPFW1),
|
||||
DEFINEREG(DSPFW2),
|
||||
DEFINEREG(DSPFW3),
|
||||
+ DEFINEREG(FWATER_BLC),
|
||||
+ DEFINEREG(FWATER_BLC2),
|
||||
|
||||
DEFINEREG2(ADPA, i830_debug_adpa),
|
||||
DEFINEREG2(LVDS, i830_debug_lvds),
|
||||
Index: xserver-xorg-video-intel-2.6.1/src/i830_display.c
|
||||
===================================================================
|
||||
--- xserver-xorg-video-intel-2.6.1.orig/src/i830_display.c 2009-02-25 08:23:45.000000000 +0100
|
||||
+++ xserver-xorg-video-intel-2.6.1/src/i830_display.c 2009-02-25 08:24:27.000000000 +0100
|
||||
@@ -1146,7 +1146,9 @@
|
||||
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
|
||||
I830Ptr pI830 = I830PTR(pScrn);
|
||||
int total_hdisplay = 0, planea_hdisplay = 0, planeb_hdisplay = 0;
|
||||
- int fifo_entries = 0, planea_entries = 0, planeb_entries = 0, i;
|
||||
+ int fifo_entries = 0, planea_entries = 0, planeb_entries = 0,
|
||||
+ planec_entries = 0, i;
|
||||
+ uint32_t watermark = (3 << 8) | 1;
|
||||
|
||||
if ((INREG(DSPACNTR) & DISPLAY_PLANE_ENABLE) &&
|
||||
(INREG(DSPBCNTR) & DISPLAY_PLANE_ENABLE))
|
||||
@@ -1156,18 +1158,22 @@
|
||||
/*
|
||||
* FIFO entries will be split based on programmed modes
|
||||
*/
|
||||
- if (IS_I965GM(pI830))
|
||||
+ if (IS_I965GM(pI830)) {
|
||||
fifo_entries = 127;
|
||||
- else if (IS_I9XX(pI830))
|
||||
+ planec_entries = 40;
|
||||
+ } else if (IS_I9XX(pI830)) {
|
||||
fifo_entries = 95;
|
||||
- else if (IS_MOBILE(pI830)) {
|
||||
+ planec_entries = 30;
|
||||
+ } else if (IS_MOBILE(pI830)) {
|
||||
fifo_entries = 255;
|
||||
+ planec_entries = 96;
|
||||
} else {
|
||||
- /* The 845/865 only have a AEND field. Though the field size would
|
||||
+ /* The 845/865 only have a AEND field. Though the field size would
|
||||
* allow 128 entries, the 865 rendered the cursor wrong then.
|
||||
* The BIOS set it up for 96.
|
||||
*/
|
||||
- fifo_entries = 95;
|
||||
+ fifo_entries = 95;
|
||||
+ planec_entries = 30;
|
||||
}
|
||||
|
||||
for (i = 0; i < xf86_config->num_crtc; i++) {
|
||||
@@ -1182,14 +1188,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ fifo_entries -= planec_entries;
|
||||
planea_entries = fifo_entries * planea_hdisplay / total_hdisplay;
|
||||
planeb_entries = fifo_entries * planeb_hdisplay / total_hdisplay;
|
||||
|
||||
- if (IS_I9XX(pI830))
|
||||
+ if (IS_I9XX(pI830)) {
|
||||
+ OUTREG(FWATER_BLC, (watermark << 16) | watermark);
|
||||
+ OUTREG(FWATER_BLC2, watermark);
|
||||
OUTREG(DSPARB,
|
||||
((planea_entries + planeb_entries) << DSPARB_CSTART_SHIFT) |
|
||||
(planea_entries << DSPARB_BSTART_SHIFT));
|
||||
- else if (IS_MOBILE(pI830))
|
||||
+ } else if (IS_MOBILE(pI830))
|
||||
OUTREG(DSPARB,
|
||||
((planea_entries + planeb_entries) << DSPARB_BEND_SHIFT) |
|
||||
(planea_entries << DSPARB_AEND_SHIFT));
|
@ -0,0 +1,12 @@
|
||||
diff -Nurp patched/src/i830_quirks.c working/src/i830_quirks.c
|
||||
--- patched/src/i830_quirks.c 2009-03-02 15:49:37.000000000 -0800
|
||||
+++ working/src/i830_quirks.c 2009-03-02 15:52:51.000000000 -0800
|
||||
@@ -290,6 +290,8 @@ static i830_quirk i830_quirk_list[] = {
|
||||
{ PCI_CHIP_GM45_GM, 0x103c, 0x30e8, quirk_ignore_tv },
|
||||
/* HP Compaq 2730p needs pipe A force quirk (LP: #291555) */
|
||||
{ PCI_CHIP_GM45_GM, 0x103c, 0x30eb, quirk_pipea_force },
|
||||
+ /* HP Mini needs pipe A force quirk (LP: #322104) */
|
||||
+ { PCI_CHIP_I945_GME,0x103c, 0x361a, quirk_pipea_force },
|
||||
|
||||
/* Thinkpad R31 needs pipe A force quirk */
|
||||
{ PCI_CHIP_I830_M, 0x1014, 0x0505, quirk_pipea_force },
|
@ -0,0 +1,16 @@
|
||||
diff -Nurp patched/src/i830_driver.c working/src/i830_driver.c
|
||||
--- patched/src/i830_driver.c 2009-03-27 16:48:16.000000000 -0700
|
||||
+++ working/src/i830_driver.c 2009-03-27 17:40:57.000000000 -0700
|
||||
@@ -1659,7 +1659,12 @@ I830AccelMethodInit(ScrnInfoPtr pScrn)
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "DRI is disabled because it "
|
||||
"runs only at depths 16 and 24.\n");
|
||||
pI830->directRenderingType = DRI_DISABLED;
|
||||
+ } else if (IS_845G(pI830) || IS_I865G(pI830)) {
|
||||
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "DRI is disabled because it "
|
||||
+ "fails to run on 845G and 865G chips. (See LP 304871)\n");
|
||||
+ pI830->directRenderingType = DRI_DISABLED;
|
||||
}
|
||||
+
|
||||
#endif /* XF86DRI */
|
||||
|
||||
I830MapMMIO(pScrn);
|
@ -0,0 +1,12 @@
|
||||
diff -Nurp patched/src/i830_quirks.c working/src/i830_quirks.c
|
||||
--- patched/src/i830_quirks.c 2009-04-01 01:13:31.000000000 -0700
|
||||
+++ working/src/i830_quirks.c 2009-04-01 01:15:01.000000000 -0700
|
||||
@@ -341,6 +341,8 @@ static i830_quirk i830_quirk_list[] = {
|
||||
|
||||
{ PCI_CHIP_I855_GM, 0x161f, 0x2030, quirk_pfit_safe },
|
||||
|
||||
+ /* ThinkPad X30 needs pipe A force quirk (LP: #304614) */
|
||||
+ { PCI_CHIP_I830_M, 0x1014, 0x0513, quirk_pipea_force },
|
||||
/* ThinkPad X40 needs pipe A force quirk */
|
||||
{ PCI_CHIP_I855_GM, 0x1014, 0x0557, quirk_pipea_force },
|
||||
|
@ -0,0 +1,20 @@
|
||||
diff -Nurp patched/src/i830_driver.c working/src/i830_driver.c
|
||||
--- patched/src/i830_driver.c 2009-05-04 14:04:00.000000000 -0700
|
||||
+++ working/src/i830_driver.c 2009-05-04 14:05:34.000000000 -0700
|
||||
@@ -1953,6 +1953,16 @@ I830PreInit(ScrnInfoPtr pScrn, int flags
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
|
||||
"VBIOS initialization failed.\n");
|
||||
|
||||
+ if (IS_I965G(pI830) && pScrn->virtualX == 0 && pScrn->virtualY == 0
|
||||
+ && pScrn->display->virtualX == 0 && pScrn->display->virtualY == 0) {
|
||||
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
+ "Defaulting Virtual to 2048 2048 for i965.\n");
|
||||
+ pScrn->virtualX = 2048;
|
||||
+ pScrn->virtualY = 2048;
|
||||
+ pScrn->display->virtualX = 2048;
|
||||
+ pScrn->display->virtualY = 2048;
|
||||
+ }
|
||||
+
|
||||
if (pI830->use_drm_mode) {
|
||||
if (!I830DrmModeInit(pScrn))
|
||||
return FALSE;
|
@ -1,12 +0,0 @@
|
||||
diff -Naur xf86-video-intel-2.1.1.orig/src/i830.h xf86-video-intel-2.1.1/src/i830.h
|
||||
--- xf86-video-intel-2.1.1.orig/src/i830.h 2007-08-26 18:14:07.000000000 +0200
|
||||
+++ xf86-video-intel-2.1.1/src/i830.h 2007-08-26 18:14:27.000000000 +0200
|
||||
@@ -47,6 +47,8 @@
|
||||
#ifndef _I830_H_
|
||||
#define _I830_H_
|
||||
|
||||
+#include <inttypes.h>
|
||||
+
|
||||
#include "xf86_OSproc.h"
|
||||
#include "compiler.h"
|
||||
#include "xf86PciInfo.h"
|
@ -1,7 +1,7 @@
|
||||
diff -Naur xf86-video-intel-2.6.99.901/configure.old xf86-video-intel-2.6.99.901/configure
|
||||
--- xf86-video-intel-2.6.99.901/configure.org 2009-03-10 08:28:45.000000000 +0100
|
||||
+++ xf86-video-intel-2.6.99.901/configure 2009-03-10 08:31:17.000000000 +0100
|
||||
@@ -22330,7 +22330,7 @@
|
||||
diff -Naur xf86-video-intel-2.7.0.901.orig/configure xf86-video-intel-2.7.0.901/configure
|
||||
--- xf86-video-intel-2.7.0.901.orig/configure 2009-05-09 18:33:28.000000000 +0200
|
||||
+++ xf86-video-intel-2.7.0.901/configure 2009-05-09 18:34:56.000000000 +0200
|
||||
@@ -13410,7 +13410,7 @@
|
||||
if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
@ -10,7 +10,7 @@ diff -Naur xf86-video-intel-2.6.99.901/configure.old xf86-video-intel-2.6.99.901
|
||||
{ { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
|
||||
$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
@@ -22358,7 +22358,7 @@
|
||||
@@ -13438,7 +13438,7 @@
|
||||
if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
@ -19,7 +19,7 @@ diff -Naur xf86-video-intel-2.6.99.901/configure.old xf86-video-intel-2.6.99.901
|
||||
{ { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
|
||||
$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
@@ -22386,7 +22386,7 @@
|
||||
@@ -13466,7 +13466,7 @@
|
||||
if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
@ -1 +1 @@
|
||||
http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.7.0.tar.bz2
|
||||
http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.7.0.901.tar.bz2
|
||||
|
Loading…
x
Reference in New Issue
Block a user