get physical address from framebuffer device
authorFelix Domke <tmbinc@elitedvb.net>
Wed, 3 Jun 2009 12:50:16 +0000 (14:50 +0200)
committerFelix Domke <tmbinc@elitedvb.net>
Wed, 3 Jun 2009 12:57:54 +0000 (14:57 +0200)
lib/gdi/fb.cpp
lib/gdi/fb.h

index bb6041e..cde3e35 100644 (file)
@@ -62,6 +62,7 @@ fbClass::fbClass(const char *fb)
        }
 
        available=fix.smem_len;
        }
 
        available=fix.smem_len;
+       m_phys_mem = fix.smem_start;
        eDebug("%dk video mem", available/1024);
        lfb=(unsigned char*)mmap(0, available, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
        if (!lfb)
        eDebug("%dk video mem", available/1024);
        lfb=(unsigned char*)mmap(0, available, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
        if (!lfb)
index fa4a482..5447380 100644 (file)
@@ -17,6 +17,7 @@ class fbClass
 
        int m_manual_blit;
        int m_number_of_pages;
 
        int m_manual_blit;
        int m_number_of_pages;
+       int m_phys_mem;
 #ifdef SWIG
        fbClass(const char *fb="/dev/fb/0");
        ~fbClass();
 #ifdef SWIG
        fbClass(const char *fb="/dev/fb/0");
        ~fbClass();
@@ -32,6 +33,8 @@ public:
        
        int getNumPages() { return m_number_of_pages; }
        
        
        int getNumPages() { return m_number_of_pages; }
        
+       unsigned long getPhysAddr() { return m_phys_mem; }
+       
        int setOffset(int off);
        int waitVSync();
        void blit();
        int setOffset(int off);
        int waitVSync();
        void blit();