CVS: main/libdha Makefile,1.17,1.18 config.h,1.2,1.3 libdha.c,1.7,1.8 pci.c,1.9,1.10
Update of /cvsroot/mplayer/main/libdha In directory mail:/var/tmp.root/cvs-serv7528 Modified Files: Makefile config.h libdha.c pci.c Log Message: svgalib kernelhelper support (based on patch by Matan Ziv-Av <matan@svgalib.org>) and some reordering/cleanup (part #1 ;) Index: Makefile =================================================================== RCS file: /cvsroot/mplayer/main/libdha/Makefile,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Makefile 15 Dec 2002 18:22:55 -0000 1.17 +++ Makefile 20 Dec 2002 21:07:11 -0000 1.18 @@ -28,6 +28,11 @@ endif endif +# If you want libdha to use svgalib_helper for hardware access, +# uncomment this statement, and change the -I to the correct directory +# that includes svgalib_helper.o: +#CFLAGS += -DDEV_SVGA=\"/dev/svga\" -DCONFIG_SVGAHELPER -Isvgalib_helper/ + .SUFFIXES: .c .o # .PHONY: all clean Index: config.h =================================================================== RCS file: /cvsroot/mplayer/main/libdha/config.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- config.h 22 Oct 2002 15:09:36 -0000 1.2 +++ config.h 20 Dec 2002 21:07:11 -0000 1.3 @@ -9,4 +9,8 @@ #endif #endif +#if defined(__powerpc__) && defined(CONFIG_SVGAHELPER) +#undef CONFIG_SVGAHELPER +#endif + #endif /* LIBDHA_CONFIG_H */ Index: libdha.c =================================================================== RCS file: /cvsroot/mplayer/main/libdha/libdha.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- libdha.c 19 Apr 2002 16:33:54 -0000 1.7 +++ libdha.c 20 Dec 2002 21:07:11 -0000 1.8 @@ -66,21 +66,40 @@ #endif #ifdef CONFIG_DHAHELPER - #include "kernelhelper/dhahelper.h" +#endif + +#ifdef CONFIG_SVGAHELPER +#include <svgalib_helper.h> +#endif static int mem=-1; void *map_phys_mem(unsigned long base, unsigned long size) -{ +{ #ifdef ARCH_ALPHA /* TODO: move it into sysdep */ base += bus_base(); #endif + +#ifdef CONFIG_SVGAHELPER + if ( (mem = open(DEV_SVGA,O_RDWR)) == -1) { + perror("libdha: SVGAlib kernelhelper failed"); +#ifdef CONFIG_DHAHELPER + goto dha_helper_way; +#else + goto dev_mem_way; +#endif + } + else + goto mmap; +#endif + +#ifdef CONFIG_DHAHELPER +dha_helper_way: if ( (mem = open("/dev/dhahelper",O_RDWR)) < 0) { - if ( (mem = open(DEV_MEM,O_RDWR)) == -1) { - perror("libdha: open(/dev/mem) failed") ; exit(1) ; - } + perror("libdha: DHA kernelhelper failed"); + goto dev_mem_way; } else { @@ -93,37 +112,41 @@ if (ioctl(mem, DHAHELPER_MEMORY, &mem_req) < 0) { - perror("libdha: failed mapping throught kernel helper"); - return NULL; + perror("libdha: DHA kernelhelper failed"); + close(mem); + goto dev_mem_way; } + else + goto mmap; } - return mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,mem,base) ; -} -#else - -static int mem=-1; -void *map_phys_mem(unsigned long base, unsigned long size) -{ -#ifdef ARCH_ALPHA -/* TODO: move it into sysdep */ - base += bus_base(); #endif - if ( (mem = open(DEV_MEM,O_RDWR)) == -1) { - perror("libdha: open(/dev/mem) failed") ; exit(1) ; + +dev_mem_way: + if ( (mem = open(DEV_MEM,O_RDWR)) == -1) + { + perror("libdha: opening /dev/mem failed"); + exit(1); } - return mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,mem,base) ; + +mmap: + return mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,mem,base); } #endif /* CONFIG_DHAHELPER */ void unmap_phys_mem(void *ptr, unsigned long size) { - int res=munmap(ptr,size) ; - if (res == -1) { perror("libdha: munmap() failed") ; exit(1) ; } + int res = munmap(ptr,size); + + if (res == -1) + { + perror("libdha: unmapping memory failed"); + exit(1); + } close(mem); + mem = -1; } -#endif -unsigned char INPORT8(unsigned idx) +unsigned char INPORT8(unsigned idx) { return inb(idx); } @@ -133,23 +156,22 @@ return inw(idx); } -unsigned INPORT32(unsigned idx) +unsigned INPORT32(unsigned idx) { return inl(idx); } -void OUTPORT8(unsigned idx,unsigned char val) +void OUTPORT8(unsigned idx,unsigned char val) { outb(idx,val); } -void OUTPORT16(unsigned idx,unsigned short val) +void OUTPORT16(unsigned idx,unsigned short val) { outw(idx,val); } -void OUTPORT32(unsigned idx,unsigned val) +void OUTPORT32(unsigned idx,unsigned val) { outl(idx,val); } - Index: pci.c =================================================================== RCS file: /cvsroot/mplayer/main/libdha/pci.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- pci.c 19 Apr 2002 16:33:54 -0000 1.9 +++ pci.c 20 Dec 2002 21:07:11 -0000 1.10 @@ -478,6 +478,7 @@ #endif /* cpu depended stuff */ +#ifndef CONFIG_SVGAHELPER #if defined(__alpha__) #include "sysdep/pci_alpha.c" #elif defined(__ia64__) @@ -491,7 +492,7 @@ #else #include "sysdep/pci_x86.c" #endif - +#endif static int pcicards=0 ; static pciinfo_t *pci_lst;
participants (1)
-
Alex Beregszaszi