[PATCH:xf86-video-siliconmotion 2/2] Support Gdium.
Thomas Klausner
wiz at NetBSD.org
Mon Sep 14 09:39:37 PDT 2015
From: Michael Lorenz <macallan at NetBSD.org>
Comment out Int10 support since it's useless on Gdium/SM50x.
---
src/smi_driver.c | 7 +++++--
src/smilynx_crtc.c | 8 ++++----
src/smilynx_hw.c | 5 ++++-
src/smilynx_output.c | 3 ++-
4 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/smi_driver.c b/src/smi_driver.c
index 2568637..59e6d15 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -1020,6 +1020,7 @@ SMI_DetectPanelSize(ScrnInfoPtr pScrn)
if (pSmi->lcdWidth == 0 || pSmi->lcdHeight == 0) {
/* panel size detection ... requires BIOS call on 730 hardware */
+#ifdef USE_INT10
if (pSmi->Chipset == SMI_COUGAR3DR) {
if (pSmi->pInt10 != NULL) {
pSmi->pInt10->num = 0x10;
@@ -1076,7 +1077,9 @@ SMI_DetectPanelSize(ScrnInfoPtr pScrn)
/* Set this to indicate that we've done the detection */
pSmi->lcd = 1;
}
- else if (IS_MSOC(pSmi)) {
+ else
+#endif /* USE_INT10 */
+ if (IS_MSOC(pSmi)) {
pSmi->lcdWidth = (READ_SCR(pSmi, PANEL_WWIDTH) >> 16) & 2047;
pSmi->lcdHeight = (READ_SCR(pSmi, PANEL_WHEIGHT) >> 16) & 2047;
}
@@ -1266,7 +1269,7 @@ SMI_MapMmio(ScrnInfoPtr pScrn)
result);
if (err)
- return (FALSE);
+ pSmi->MapBase = NULL;
}
#endif
diff --git a/src/smilynx_crtc.c b/src/smilynx_crtc.c
index fb7183c..937cf36 100644
--- a/src/smilynx_crtc.c
+++ b/src/smilynx_crtc.c
@@ -565,7 +565,7 @@ SMILynx_CrtcModeSet_bios(xf86CrtcPtr crtc,
CARD8 tmp;
ENTER();
-
+#ifdef USE_INT10
/* Find the INT 10 mode number */
{
static struct {
@@ -604,14 +604,14 @@ SMILynx_CrtcModeSet_bios(xf86CrtcPtr crtc,
}
}
}
-
+#endif
if(!reg->mode){
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "SMILynx_CrtcModeSet_bios: Not a known BIOS mode: "
"falling back to direct modesetting.\n");
SMILynx_CrtcModeSet_vga(crtc,mode,adjusted_mode,x,y);
LEAVE();
}
-
+#ifdef USE_INT10
pSmi->pInt10->num = 0x10;
pSmi->pInt10->ax = reg->mode | 0x80;
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting mode 0x%02X\n",
@@ -632,7 +632,7 @@ SMILynx_CrtcModeSet_bios(xf86CrtcPtr crtc,
SMICRTC(crtc)->video_init(crtc);
SMILynx_CrtcAdjustFrame(crtc, x,y);
-
+#endif
LEAVE();
}
diff --git a/src/smilynx_hw.c b/src/smilynx_hw.c
index b2ee8a5..9ad6ebf 100644
--- a/src/smilynx_hw.c
+++ b/src/smilynx_hw.c
@@ -297,6 +297,7 @@ SMILynx_Save(ScrnInfoPtr pScrn)
pSmi->ModeStructInit = TRUE;
}
+#ifdef USE_INT10
if (pSmi->useBIOS && pSmi->pInt10 != NULL) {
pSmi->pInt10->num = 0x10;
pSmi->pInt10->ax = 0x0F00;
@@ -305,7 +306,7 @@ SMILynx_Save(ScrnInfoPtr pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Current mode 0x%02X.\n",
save->mode);
}
-
+#endif
if (xf86GetVerbosity() > 1) {
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, VERBLEV,
"Saved current video mode. Register dump:\n");
@@ -358,6 +359,7 @@ SMILynx_WriteMode(ScrnInfoPtr pScrn, vgaRegPtr vgaSavePtr, SMIRegPtr restore)
VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0xA0, restore->SRA0);
if (pSmi->useBIOS && restore->mode != 0){
+#ifdef USE_INT10
pSmi->pInt10->num = 0x10;
pSmi->pInt10->ax = restore->mode | 0x80;
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting mode 0x%02X\n",
@@ -372,6 +374,7 @@ SMILynx_WriteMode(ScrnInfoPtr pScrn, vgaRegPtr vgaSavePtr, SMIRegPtr restore)
/* Enable DPR/VPR registers. */
tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21);
VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21, tmp & ~0x03);
+#endif
} else {
/* Restore the standard VGA registers */
vgaHWRestore(pScrn, vgaSavePtr, VGA_SR_ALL);
diff --git a/src/smilynx_output.c b/src/smilynx_output.c
index 5ac0bbd..aa17a0c 100644
--- a/src/smilynx_output.c
+++ b/src/smilynx_output.c
@@ -124,6 +124,7 @@ SMILynx_OutputDPMS_lcd(xf86OutputPtr output, int mode)
static void
SMILynx_OutputDPMS_bios(xf86OutputPtr output, int mode)
{
+#ifdef USE_INT10
ScrnInfoPtr pScrn = output->scrn;
SMIPtr pSmi = SMIPTR(pScrn);
@@ -147,7 +148,7 @@ SMILynx_OutputDPMS_bios(xf86OutputPtr output, int mode)
pSmi->pInt10->cx = 0x0000;
pSmi->pInt10->num = 0x10;
xf86ExecX86int10(pSmi->pInt10);
-
+#endif
LEAVE();
}
--
2.5.2
More information about the xorg-devel
mailing list