Subversion Repositories Kolibri OS

Rev

Rev 5068 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4363 Serge 1
/**
6110 serge 2
 * \file xf86drm.c
4363 Serge 3
 * User-level interface to DRM device
4
 *
5
 * \author Rickard E. (Rik) Faith 
6
 * \author Kevin E. Martin 
7
 */
8
 
9
/*
10
 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
11
 * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
12
 * All Rights Reserved.
13
 *
14
 * Permission is hereby granted, free of charge, to any person obtaining a
15
 * copy of this software and associated documentation files (the "Software"),
16
 * to deal in the Software without restriction, including without limitation
17
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
 * and/or sell copies of the Software, and to permit persons to whom the
19
 * Software is furnished to do so, subject to the following conditions:
20
 *
21
 * The above copyright notice and this permission notice (including the next
22
 * paragraph) shall be included in all copies or substantial portions of the
23
 * Software.
24
 *
25
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
28
 * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
29
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
30
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
31
 * DEALINGS IN THE SOFTWARE.
32
 */
33
 
34
#ifdef HAVE_CONFIG_H
35
# include 
36
#endif
37
#include 
38
#include 
39
#include 
40
#include 
41
#include 
6110 serge 42
#include 
4363 Serge 43
#include 
44
#include 
45
#include 
6110 serge 46
#include 
47
#include 
4363 Serge 48
#include 
49
 
5068 serge 50
/* Not all systems have MAP_FAILED defined */
51
#ifndef MAP_FAILED
52
#define MAP_FAILED ((void *)-1)
53
#endif
54
 
4363 Serge 55
#include "xf86drm.h"
6110 serge 56
#include "libdrm_macros.h"
57
 
4363 Serge 58
#include 
59
 
60
#ifndef DRM_MAJOR
6110 serge 61
#define DRM_MAJOR 226		/* Linux */
4363 Serge 62
#endif
63
 
64
 
65
int drmGetMagic(int fd, drm_magic_t * magic)
66
{
67
    drm_auth_t auth;
68
 
69
    *magic = 1;
70
//    if (drmIoctl(fd, DRM_IOCTL_GET_MAGIC, &auth))
71
//    return -errno;
72
//    *magic = auth.magic;
73
    return 0;
74
}
75
 
76
void drmFreeVersion(drmVersionPtr v)
77
{
78
    if (!v)
79
        return;
80
//    drmFree(v->name);
81
//    drmFree(v->date);
82
//    drmFree(v->desc);
83
    free(v);
84
}
85
drmVersionPtr drmGetVersion(int fd)
86
{
87
    drmVersionPtr v;
88
 
89
    v = malloc(sizeof(*v));
90
 
91
    v->version_major      = 1;
92
    v->version_minor      = 6;
93
    v->version_patchlevel = 0;
94
    v->name_len           = 4;
95
    v->name               = "i915";
96
    v->date_len           = 8;
6110 serge 97
    v->date               = "20151010";
4363 Serge 98
    v->desc_len           = 14;
99
    v->desc               = "Intel Graphics";
100
    return v;
101
}
102
 
103
int drmIoctl(int fd, unsigned long request, void *arg)
104
{
105
    ioctl_t  io;
106
 
107
    io.handle   = fd;
108
    io.io_code  = request;
109
    io.input    = arg;
110
    io.inp_size = 64;
111
    io.output   = NULL;
112
    io.out_size = 0;
113
 
114
    return call_service(&io);
115
}