The Current i830 gfxdriver sets the overlay buffer address to the
incorrect value. It is currently passing the physical address of the
overlay buffer. The Intel docs request the buffer be filled with the
offset from the graphics aperture (The docs actually say the frame
buffer address, but much debugging has shown that it should actually
be the aperture, not the fb addr). The current driver cause a hard
system reboot on my machine, likely because the graphics card is going
off into a bad part of memory. The following patch puts the correct
address into the register. Not only does this prevent the hard system
reboot, but it also allows the overlay to been viewed.

Signed off by Jon Dufresne <[EMAIL PROTECTED]>
---
diff -uNp DirectFB-1.2.3-orig/gfxdrivers/i830/i830_overlay.c
DirectFB-1.2.3/gfxdrivers/i830/i830_overlay.c
--- DirectFB-1.2.3-orig/gfxdrivers/i830/i830_overlay.c  2008-05-05
08:24:39.000000000 -0700
+++ DirectFB-1.2.3/gfxdrivers/i830/i830_overlay.c       2008-09-23
08:33:15.000000000 -0700
@@ -536,7 +536,7 @@ ovl_calc_regs( I830DriverData        *id


      /* Set buffer pointers */
-     y_offset = dfb_gfxcard_memory_physical( NULL, lock->offset );
+     y_offset = lock->phys - idev->info.aper_base;

      switch (config->format) {
           case DSPF_I420:
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to