2015-12-18 13:08:15 +02:00
/*
* Copyright © 2015 Intel Corporation
*
* 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 , distribute , sublicense ,
* and / or sell copies of the Software , and to permit persons to whom the
* Software is furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice ( including the next
* paragraph ) shall be included in all copies or substantial portions of the
* Software .
*
* 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 NONINFRINGEMENT . IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , 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 .
*
*/
# ifndef _I915_PARAMS_H_
# define _I915_PARAMS_H_
# include <linux/cache.h> /* for __read_mostly */
struct i915_params {
int modeset ;
int panel_ignore_lid ;
int semaphores ;
int lvds_channel_mode ;
int panel_use_ssc ;
int vbt_sdvo_panel_type ;
int enable_rc6 ;
int enable_dc ;
int enable_fbc ;
int enable_ppgtt ;
int enable_execlists ;
int enable_psr ;
2016-10-31 12:18:28 +02:00
unsigned int alpha_support ;
2015-12-18 13:08:15 +02:00
int disable_power_well ;
int enable_ips ;
int invert_brightness ;
2016-05-20 11:42:42 +01:00
int enable_guc_loading ;
int enable_guc_submission ;
2015-12-18 13:08:16 +02:00
int guc_log_level ;
2016-05-24 17:13:53 +02:00
int use_mmio_flip ;
2015-12-18 13:08:16 +02:00
int mmio_debug ;
int edp_vswing ;
2016-03-16 13:39:08 +02:00
unsigned int inject_load_failure ;
2015-12-18 13:08:15 +02:00
/* leave bools at the end to not create holes */
2016-11-24 12:58:51 +00:00
bool enable_cmd_parser ;
2015-12-18 13:08:15 +02:00
bool enable_hangcheck ;
bool fastboot ;
bool prefault_disable ;
bool load_detect_test ;
2016-08-05 23:28:28 +03:00
bool force_reset_modeset_test ;
2015-12-18 13:08:15 +02:00
bool reset ;
2016-10-12 10:05:18 +01:00
bool error_capture ;
2015-12-18 13:08:15 +02:00
bool disable_display ;
bool verbose_state_checks ;
bool nuclear_pageflip ;
2016-03-15 10:14:05 -05:00
bool enable_dp_mst ;
2016-04-05 15:10:52 +01:00
bool enable_dpcd_backlight ;
drm/i915: gvt: Introduce the basic architecture of GVT-g
This patch introduces the very basic framework of GVT-g device model,
includes basic prototypes, definitions, initialization.
v12:
- Call intel_gvt_init() in driver early initialization stage. (Chris)
v8:
- Remove the GVT idr and mutex in intel_gvt_host. (Joonas)
v7:
- Refine the URL link in Kconfig. (Joonas)
- Refine the introduction of GVT-g host support in Kconfig. (Joonas)
- Remove the macro GVT_ALIGN(), use round_down() instead. (Joonas)
- Make "struct intel_gvt" a data member in struct drm_i915_private.(Joonas)
- Remove {alloc, free}_gvt_device()
- Rename intel_gvt_{create, destroy}_gvt_device()
- Expost intel_gvt_init_host()
- Remove the dummy "struct intel_gvt" declaration in intel_gvt.h (Joonas)
v6:
- Refine introduction in Kconfig. (Chris)
- The exposed API functions will take struct intel_gvt * instead of
void *. (Chris/Tvrtko)
- Remove most memebers of strct intel_gvt_device_info. Will add them
in the device model patches.(Chris)
- Remove gvt_info() and gvt_err() in debug.h. (Chris)
- Move GVT kernel parameter into i915_params. (Chris)
- Remove include/drm/i915_gvt.h, as GVT-g will be built within i915.
- Remove the redundant struct i915_gvt *, as the functions in i915
will directly take struct intel_gvt *.
- Add more comments for reviewer.
v5:
Take Tvrtko's comments:
- Fix the misspelled words in Kconfig
- Let functions take drm_i915_private * instead of struct drm_device *
- Remove redundant prints/local varible initialization
v3:
Take Joonas' comments:
- Change file name i915_gvt.* to intel_gvt.*
- Move GVT kernel parameter into intel_gvt.c
- Remove redundant debug macros
- Change error handling style
- Add introductions for some stub functions
- Introduce drm/i915_gvt.h.
Take Kevin's comments:
- Move GVT-g host/guest check into intel_vgt_balloon in i915_gem_gtt.c
v2:
- Introduce i915_gvt.c.
It's necessary to introduce the stubs between i915 driver and GVT-g host,
as GVT-g components is configurable in kernel config. When disabled, the
stubs here do nothing.
Take Joonas' comments:
- Replace boolean return value with int.
- Replace customized info/warn/debug macros with DRM macros.
- Document all non-static functions like i915.
- Remove empty and unused functions.
- Replace magic number with marcos.
- Set GVT-g in kernel config to "n" by default.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466078825-6662-5-git-send-email-zhi.a.wang@intel.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-16 08:07:00 -04:00
bool enable_gvt ;
2015-12-18 13:08:15 +02:00
} ;
extern struct i915_params i915 __read_mostly ;
# endif