xref: /haiku/src/add-ons/accelerants/nvidia/engine/nv_support.c (revision 3cb015b1ee509d69c643506e8ff573808c86dcfc)
1 /* Some commmon support functions */
2 /* Mark Watson 2/2000;
3  * Rudolf Cornelissen 1/2004-11/2005 */
4 
5 #define MODULE_BIT 0x00000800
6 
7 #include <stdarg.h>
8 #include "nv_std.h"
9 
10 /*delays in multiple of microseconds*/
11 void delay(bigtime_t i)
12 {
13 	bigtime_t start=system_time();
14 	while(system_time()-start<i);
15 }
16 
17 /*debug logging*/
18 void nv_log(char *fmt, ...)
19 {
20 	char     buffer[1024];
21 	char     fname[64];
22 	FILE    *myhand;
23 	va_list  args;
24 
25 	/* determine the logfile name:
26 	 * we need split-up logging per card and instance of the accelerant */
27 	sprintf (fname, "/boot/home/" DRIVER_PREFIX "." DEVICE_FORMAT ".%d.log",
28 		si->vendor_id, si->device_id, si->bus, si->device, si->function,
29 		accelerantIsClone);
30 	myhand=fopen(fname,"a+");
31 
32 	if (myhand == NULL) return;
33 
34 	va_start(args,fmt);
35 	vsprintf (buffer, fmt, args);
36 	fprintf(myhand, "%s", buffer);
37 	fclose(myhand);
38 }
39