New Matrox Parhelia Driver (1.4.3) _officially_ released
Exactly before christmas, Matrox released a new mtxdriver.
I downloaded it already, but - like always - before testing the driver, I
looked at the sourcecode and especially at the diff output between my
latest 1.4.2.2 driver modifications and the new 1.4.3 driver.
I thought Matrox would honor my and monty's changes this time, but
unfortunately, they didn't. Here are some "funny" excerpts from
the diff output between those two versions:
Let's start with a very nice one:
-File Name: mtx_agp.c
+ File Name: mtx_agp.c
-Description: AGP driver backend control
+ Description: AGP driver backend control
-References: None.
-
-Author: Karl Lessard <klessard@matrox.com>
-2.6.x Updates: Alexander Griesser <matrox@tuxx-home.at>
- Christopher Montgomery <monty@xiph.org>
+ References: None.
Followed by this one:
if ( ! agp_backend )
{
MTX_ERROR("Failed to retrieve agpgart symbol table\n");
- mtx_agp_cleanup();
- return -ENODEV;
+ goto cleanup;
}
#endif
-
return 0;
+
+cleanup:
+
+ mtx_agp_cleanup();
+ return -ENODEV;
}
-/* this piece can't be done until we have a bridge, that's not
- * discovered until the device probe step. */
+
int mtx_agp_init_finish(void)
{
-
/* Copy AGP information */
- mtx_agp_chipset_info_print( &agp_drv ->kern_info );
+ mtx_agp_chipset_info_print( &agp_drv->kern_info );
I don't understand this one:
The use of #if instead of #ifdef causes compiler warnings on some platforms.
OK, they're just warnings, but if it is so easy to get rid of them, why don't
do it?
-#ifdef MEMORY_STATS
+#if MEMORY_STATS
STACK_LINKAGE void* ClientMemStatsAlloc(size_t size, const char* filename, int line)
{
@@ -58,7 +60,7 @@
{
mtx_mem_stats_free( ptr );
}
-#endif /* #ifdef MEMORY_STATS */
+#endif
This one is really neat (no, we don't need no comments in our drivers!):
-File Name: mtx_dev.c
+ File Name: mtx_dev.c
-Description: MTX devices manipulation. Supported devices detected on the PCI buses
- are stored in a global list of mtx_dev.
+ Description: MTX devices manipulation. Supported devices detected on the PCI buses
+ are stored in a global list of mtx_dev.
-References: None.
-
-Author: Karl Lessard <klessard@matrox.com>
-2.6.x-updates: Christopher Montgomery <monty@xiph.org>
+ References: None.
Copyright (c) 2001, Matrox Graphics Inc.
All Rights Reserved.
@@ -274,14 +271,10 @@
MTX_WARNING("Fail to acquire control of AGP driver. "
"AGP tranfers are therefore disabled\n");
}
-
- /* *now* we have a bridge and can handle the rest of the setup
- * initially done in mty_agp_init() */
- if(mtx_agp_init_finish()<0){
- MTX_WARNING("Fail to finish setup of AGP driver. "
- "AGP transfers are therefore disabled\n");
- }
-
+ else if(mtx_agp_init_finish()<0){
+ MTX_WARNING("Fail to finish setup of AGP driver. "
+ "AGP transfers are therefore disabled\n");
+ }
} else {
Maybe I'm too fussy about that, but as long as Matrox does not honor
the work of all people outside their company who are willing to work
on this driver and help other people having problems with this driver,
the driver situation itself will not get better.
Now I'm going to test the new driver (although there are some posts in the
Matrox technical support forums that this driver does not work at all).
Let's have a look...
Posted by Alexander Griesser
| Categories:
Matrox Parhelia Drivers
| Comments:
--> New comment