12befccec034c13d34746a9e87149889d59ac767bFei Jiang/*
2f91c8768670386683a281cc39141e21bdda9c97fKun Wang * Copyright (c) 2011 Intel Corporation. All Rights Reserved.
32befccec034c13d34746a9e87149889d59ac767bFei Jiang *
4dc1209519284865899ca8d990b3a2c7dbca8ae08wangkun *
5f91c8768670386683a281cc39141e21bdda9c97fKun Wang * Permission is hereby granted, free of charge, to any person obtaining a
6f91c8768670386683a281cc39141e21bdda9c97fKun Wang * copy of this software and associated documentation files (the
7f91c8768670386683a281cc39141e21bdda9c97fKun Wang * "Software"), to deal in the Software without restriction, including
8f91c8768670386683a281cc39141e21bdda9c97fKun Wang * without limitation the rights to use, copy, modify, merge, publish,
9f91c8768670386683a281cc39141e21bdda9c97fKun Wang * distribute, sub license, and/or sell copies of the Software, and to
10f91c8768670386683a281cc39141e21bdda9c97fKun Wang * permit persons to whom the Software is furnished to do so, subject to
11f91c8768670386683a281cc39141e21bdda9c97fKun Wang * the following conditions:
123f3d1e8746d2b793c982ac19a73061e006b1b178Kun Wang *
13f91c8768670386683a281cc39141e21bdda9c97fKun Wang * The above copyright notice and this permission notice (including the
14f91c8768670386683a281cc39141e21bdda9c97fKun Wang * next paragraph) shall be included in all copies or substantial portions
15f91c8768670386683a281cc39141e21bdda9c97fKun Wang * of the Software.
163f3d1e8746d2b793c982ac19a73061e006b1b178Kun Wang *
17f91c8768670386683a281cc39141e21bdda9c97fKun Wang * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18f91c8768670386683a281cc39141e21bdda9c97fKun Wang * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19f91c8768670386683a281cc39141e21bdda9c97fKun Wang * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
20f91c8768670386683a281cc39141e21bdda9c97fKun Wang * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
21f91c8768670386683a281cc39141e21bdda9c97fKun Wang * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22f91c8768670386683a281cc39141e21bdda9c97fKun Wang * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23f91c8768670386683a281cc39141e21bdda9c97fKun Wang * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24f91c8768670386683a281cc39141e21bdda9c97fKun Wang *
25bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang * Authors:
26bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang *    Binglin Chen <binglin.chen@intel.com>
27bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang *
28bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang */
29bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang
307e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang#ifndef _PSB_WS_DRIVER_H_
317e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang#define _PSB_WS_DRIVER_H_
327e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
33437b3eda28a4bf098efa80598cab67f190275266Fei Jiang#include <linux/types.h>
347e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang#include <wsbm/wsbm_util.h>
357e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang#include <wsbm/wsbm_driver.h>
3638d89d625f11c0c3f0ff313cef450252e6467bafhding#ifdef ANDROID
37919dea6b2625ea6e74e0f93819ffe874b2601b9aThierry Strudel#include <drm/ttm/ttm_placement.h>
38d03b75a0bb7d76d8d05509f5b581ab3b5d36a20dXiaolin Zhang#include <linux/psb_drm.h>
3938d89d625f11c0c3f0ff313cef450252e6467bafhding#else
4038d89d625f11c0c3f0ff313cef450252e6467bafhding#include <psb_drm.h>
4138d89d625f11c0c3f0ff313cef450252e6467bafhding#endif
427e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
43dc1209519284865899ca8d990b3a2c7dbca8ae08wangkunstruct _PsbDrmValidateNode {
447e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang    struct _ValidateNode base;
457e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang    struct psb_validate_arg val_arg;
467e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang};
477e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
487e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiangextern struct _WsbmVNodeFuncs *psbVNodeFuncs(void);
497e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
507e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiangstatic inline struct psb_validate_req *
51bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun WangpsbValReq(struct _ValidateNode *node) {
527e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang    return &(containerOf(node, struct _PsbDrmValidateNode, base)->
53dc1209519284865899ca8d990b3a2c7dbca8ae08wangkun             val_arg.d.req);
547e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang}
557e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
567e8d39a9d261ff6b5256d7cf9c7a127947b2b2a5Fei,Jiang
57bde3ed7517cc876cb2a6e174ea2a96a75938e787Kun Wang#endif  /* _PSB_WS_DRIVER_H_ */
58