/** @file $Id$
*
* VirtualBox Additions Linux kernel video driver
*/
/*
* Copyright (C) 2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
* --------------------------------------------------------------------
*
* This code is based on
* with the following copyright and permission notice:
*
* Copyright 2012 Red Hat Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
*
*/
/*
* Authors: Dave Airlie <airlied@redhat.com>
*/
#ifndef __VBOX_DRV_H__
#define __VBOX_DRV_H__
#include <VBox/VBoxVideoGuest.h>
#include "the-linux-kernel.h"
#include <drm/drm_fb_helper.h>
/* #include "vboxvideo.h" */
#include "product-generated.h"
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
struct vbox_fbdev;
struct vbox_private
{
bool fAnyX;
unsigned cCrtcs;
bool vga2_clone;
/** Amount of available VRAM, including space used for buffers. */
/** Amount of available VRAM, not including space used for buffers. */
int fb_mtrr;
struct
{
} ttm;
};
struct vbox_gem_object;
struct vbox_connector
{
/** Device attribute for sysfs file used for receiving mode hints from user
* space. */
struct
{
} modeHint;
};
struct vbox_crtc
{
bool fBlanked;
unsigned crtc_id;
};
struct vbox_encoder
{
};
struct vbox_framebuffer
{
};
struct vbox_fbdev
{
void *sysram;
int size;
};
#else
#endif
#else
#endif
struct drm_clip_rect *pRects,
unsigned cRects);
struct vbox_framebuffer *vbox_fb,
struct DRM_MODE_FB_CMD *mode_cmd,
struct drm_gem_object *obj);
struct vbox_bo
{
int pin_count;
};
{
}
struct drm_device *dev,
struct drm_mode_create_dumb *args);
struct drm_device *dev,
struct drm_device *dev,
struct drm_gem_object **obj);
/* vbox post */
#endif