* PATCH: fbdev: intelfb - workaround for 830M
@ 2005-01-07 1:00 Pfiffer, AndrewX K
2005-01-13 13:05 ` Antonino A. Daplas
0 siblings, 1 reply; 2+ messages in thread
From: Pfiffer, AndrewX K @ 2005-01-07 1:00 UTC (permalink / raw)
To: sylvain.meyer, linux-fbdev-devel
This is a work around for the 830M with intelfb. Relative to 2.6.10.
Without this patch, updates to the DSPACNTR register will be ignored.
Signed-off-by: Andrew Pfiffer <andrewx.k.pfiffer@intel.com>
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2005/01/06 16:14:27-08:00 andrewx.k.pfiffer@intel.com
# On the 830M, the display plane needs to be enabled before writing
# to any of the other bits in the DSPACNTR register.
#
# This patch detects the specific case, temporarily enables the plane,
# updates the register, and then disables the plane. It also appears
# to require some settling time, but not an entire frame's time.
#
# Without this change, the pixel format fields in DSPACNTR won't get
# written on the 830M.
#
#
# drivers/video/intelfb/intelfbhw.c
# 2005/01/06 16:14:08-08:00 andrewx.k.pfiffer@intel.com +14 -0
# If we're updating the DSPACNTR register on an 830M, temporarily
enable
# the plane before writing the register.
#
diff -Nru a/drivers/video/intelfb/intelfbhw.c
b/drivers/video/intelfb/intelfbhw.c
--- a/drivers/video/intelfb/intelfbhw.c 2005-01-06 16:15:36 -08:00
+++ b/drivers/video/intelfb/intelfbhw.c 2005-01-06 16:15:36 -08:00
@@ -1207,6 +1207,20 @@
OUTREG(ADPA, tmp);
/* setup display plane */
+ if (dinfo->pdev->device == PCI_DEVICE_ID_INTEL_830M) {
+ /*
+ * i830M errata: the display plane must be enabled
+ * to allow writes to the other bits in the plane
+ * control register.
+ */
+ tmp = INREG(DSPACNTR);
+ if ((tmp & DISPPLANE_PLANE_ENABLE) !=
DISPPLANE_PLANE_ENABLE) {
+ tmp |= DISPPLANE_PLANE_ENABLE;
+ OUTREG(DSPACNTR, tmp);
+ OUTREG(DSPACNTR,
hw->disp_a_ctrl|DISPPLANE_PLANE_ENABLE);
+ mdelay(1);
+ }
+ }
OUTREG(DSPACNTR, hw->disp_a_ctrl & ~DISPPLANE_PLANE_ENABLE);
OUTREG(DSPASTRIDE, hw->disp_a_stride);
OUTREG(DSPABASE, hw->disp_a_base);
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: PATCH: fbdev: intelfb - workaround for 830M
2005-01-07 1:00 PATCH: fbdev: intelfb - workaround for 830M Pfiffer, AndrewX K
@ 2005-01-13 13:05 ` Antonino A. Daplas
0 siblings, 0 replies; 2+ messages in thread
From: Antonino A. Daplas @ 2005-01-13 13:05 UTC (permalink / raw)
To: linux-fbdev-devel, Pfiffer, AndrewX K, sylvain.meyer
On Friday 07 January 2005 09:00, Pfiffer, AndrewX K wrote:
> This is a work around for the 830M with intelfb. Relative to 2.6.10.
> Without this patch, updates to the DSPACNTR register will be ignored.
Can you resend? Patch is line-wrapped.
Tony
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-01-13 13:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-07 1:00 PATCH: fbdev: intelfb - workaround for 830M Pfiffer, AndrewX K
2005-01-13 13:05 ` Antonino A. Daplas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).