[haiku-commits] r36910 - in haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm: . test test2

  • From: aljen-mlists@xxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 23 May 2010 17:43:29 +0200 (CEST)

Author: aljen
Date: 2010-05-23 17:43:29 +0200 (Sun, 23 May 2010)
New Revision: 36910
Changeset: http://dev.haiku-os.org/changeset/36910/haiku

Added:
   haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/
   
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/Jamfile
   
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/drm_test.c
Modified:
   haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile
   
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile
   
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
Log:
Test drm drivers (stubbed for now)


Modified: 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile  
2010-05-23 12:41:15 UTC (rev 36909)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile  
2010-05-23 15:43:29 UTC (rev 36910)
@@ -1,3 +1,4 @@
 SubDir HAIKU_TOP src add-ons kernel drivers drm ; 
 
 SubInclude HAIKU_TOP src add-ons kernel drivers drm test ;
+SubInclude HAIKU_TOP src add-ons kernel drivers drm test2 ;

Modified: 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile
===================================================================
--- 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile 
    2010-05-23 12:41:15 UTC (rev 36909)
+++ 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile 
    2010-05-23 15:43:29 UTC (rev 36910)
@@ -1,7 +1,20 @@
 SubDir HAIKU_TOP src add-ons kernel drivers drm test ;
 
-UsePrivateHeaders kernel drm ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel drm drm ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel drm ] : true ;
 
+UsePrivateKernelHeaders ;
+UseHeaders $(HAIKU_PRIVATE_KERNEL_HEADERS) : true ;
+UsePrivateHeaders kernel drm net graphics ;
+#UseLibraryHeaders drm ;
+
+local defines ;
+defines = _KERNEL=1 COMPAT_WITHOUT_NET DRM_DEBUG ;
+defines = [ FDefines $(defines) ] ;
+SubDirCcFlags $(defines) ;
+
 KernelAddon drm_test :
        drm_test.c
        ;

Modified: 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
===================================================================
--- 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
  2010-05-23 12:41:15 UTC (rev 36909)
+++ 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
  2010-05-23 15:43:29 UTC (rev 36910)
@@ -7,8 +7,10 @@
 #include <string.h>
 #include <stdio.h>
 
-#define DEVICE_NAME "drm/0"
+//#include <drmP.h>
 
+#define DEVICE_NAME "drm/test"
+
 int32 api_version = B_CUR_DRIVER_API_VERSION;
 static mutex gLock;
 drm_module_info* gDrmModule;
@@ -102,10 +104,10 @@
                NULL,
                NULL
        };
-       
+
        if (!strcmp(name, DEVICE_NAME))
                return &hooks;
-       
+
        return NULL;
 }
 
@@ -122,7 +124,9 @@
        dprintf("drm_test: \"%s\" module at %p\n", DRM_MODULE_NAME,
                gDrmModule);
 
-       return B_OK;    
+       gDrmModule->initialize();
+
+       return B_OK;
 }
 
 
@@ -130,5 +134,8 @@
 uninit_driver(void)
 {
        dprintf("drm_test: uninit_driver\n");
+
+       gDrmModule->cleanup();
+
        put_module(DRM_MODULE_NAME);
 }

Added: 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/Jamfile
===================================================================
--- 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/Jamfile
                            (rev 0)
+++ 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/Jamfile
    2010-05-23 15:43:29 UTC (rev 36910)
@@ -0,0 +1,20 @@
+SubDir HAIKU_TOP src add-ons kernel drivers drm test2 ;
+
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : 
true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel drm drm ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel drm ] : true ;
+
+UsePrivateKernelHeaders ;
+UseHeaders $(HAIKU_PRIVATE_KERNEL_HEADERS) : true ;
+UsePrivateHeaders kernel drm net graphics ;
+#UseLibraryHeaders drm ;
+
+local defines ;
+defines = _KERNEL=1 COMPAT_WITHOUT_NET DRM_DEBUG ;
+defines = [ FDefines $(defines) ] ;
+SubDirCcFlags $(defines) ;
+
+KernelAddon drm_test2 :
+       drm_test.c
+       ;

Added: 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/drm_test.c
===================================================================
--- 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/drm_test.c
                         (rev 0)
+++ 
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test2/drm_test.c
 2010-05-23 15:43:29 UTC (rev 36910)
@@ -0,0 +1,141 @@
+#include <Drivers.h>
+#include <KernelExport.h>
+
+#include <drm_module.h>
+#include <lock.h>
+
+#include <string.h>
+#include <stdio.h>
+
+//#include <drmP.h>
+
+#define DEVICE_NAME "drm/test2"
+
+int32 api_version = B_CUR_DRIVER_API_VERSION;
+static mutex gLock;
+drm_module_info* gDrmModule;
+
+static status_t
+drm_test_open(const char* name, uint32 flags, void** cookie)
+{
+       dprintf("drm_test: drm_test_open\n");
+       *cookie = NULL;
+       return B_OK;
+}
+
+
+static status_t
+drm_test_close(void* cookie)
+{
+       dprintf("drm_test: drm_test_close\n");
+       return B_OK;
+}
+
+
+static status_t
+drm_test_freecookie(void* cookie)
+{
+       dprintf("drm_test: drm_test_freecookie\n");
+       return B_OK;
+}
+
+
+static status_t
+drm_test_ioctl(void* cookie, uint32 op, void* buffer, size_t length)
+{
+       dprintf("drm_test: drm_test_ioctl op: %ld buf: %p, len: %ld\n", op,
+               buffer, length);
+       return EPERM;
+}
+
+
+static status_t
+drm_test_read(void* cookie, off_t pos, void* buffer, size_t* length)
+{
+       dprintf("drm_test: drm_test_read gDrmModule: %p len: %ld\n",
+               gDrmModule, *length);
+       *length = 0;
+       return B_NOT_ALLOWED;
+}
+
+
+static status_t
+drm_test_write(void* cookie, off_t pos, const void* buffer, size_t *length)
+{
+       dprintf("drm_test: drm_test_write\n");
+       *length = 0;
+       return B_NOT_ALLOWED;
+}
+
+
+status_t
+init_hardware()
+{
+       dprintf("drm_test: init_hardware\n");
+       return B_OK;
+}
+
+
+const char**
+publish_devices(void)
+{
+       dprintf("drm_test: publish_devices\n");
+       static const char* devices[] = {
+               DEVICE_NAME,
+               NULL
+       };
+       return devices;
+}
+
+
+device_hooks*
+find_device(const char* name)
+{
+       dprintf("drm_test: find_device name: %s\n", name);
+       static device_hooks hooks = {
+               &drm_test_open,
+               &drm_test_close,
+               &drm_test_freecookie,
+               &drm_test_ioctl,
+               &drm_test_read,
+               &drm_test_write,
+               NULL,
+               NULL,
+               NULL,
+               NULL
+       };
+
+       if (!strcmp(name, DEVICE_NAME))
+               return &hooks;
+
+       return NULL;
+}
+
+
+status_t
+init_driver(void)
+{
+       dprintf("drm_test: init_driver\n");
+       if (get_module(DRM_MODULE_NAME, (module_info**)&gDrmModule) < B_OK) {
+               dprintf("drm_test: cannot get module \"%s\"\n", 
DRM_MODULE_NAME);
+               return B_ERROR;
+       }
+
+       dprintf("drm_test: \"%s\" module at %p\n", DRM_MODULE_NAME,
+               gDrmModule);
+
+       gDrmModule->initialize();
+
+       return B_OK;
+}
+
+
+void
+uninit_driver(void)
+{
+       dprintf("drm_test: uninit_driver\n");
+
+       gDrmModule->cleanup();
+
+       put_module(DRM_MODULE_NAME);
+}


Other related posts:

  • » [haiku-commits] r36910 - in haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm: . test test2 - aljen-mlists