diff options
author | Dave Airlie <airlied@redhat.com> | 2015-10-19 19:00:01 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-10-19 19:00:01 -0400 |
commit | 2dd3a88ac8c0ef7737335babfbacf79be68cfbea (patch) | |
tree | d66678ef05a70480773d2b1740b468f00419f333 /include | |
parent | 86b6871641db10095cfe7d26eac29c3ad5223a8c (diff) | |
parent | 80bea1897d7bc35e2b201847e12029a9d677cf12 (diff) |
Merge tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel into drm-next
- dmc fixes from Animesh (not yet all) for deeper sleep states
- piles of prep patches from Ville to make mmio functions type-safe
- more fbc work from Paulo all over
- w/a shuffling from Arun Siluvery
- first part of atomic watermark updates from Matt and Ville (later parts had to
be dropped again unfortunately)
- lots of patches to prepare bxt dsi support ( Shashank Sharma)
- userptr fixes from Chris
- audio rate interface between i915/snd_hda plus kerneldoc (Libin Yang)
- shrinker improvements and fixes (Chris Wilson)
- lots and lots of small patches all over
* tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel: (134 commits)
drm/i915: Update DRIVER_DATE to 20151010
drm/i915: Partial revert of atomic watermark series
drm/i915: Early exit from semaphore_waits_for for execlist mode.
drm/i915: Remove wrong warning from i915_gem_context_clean
drm/i915: Determine the stolen memory base address on gen2
drm/i915: fix FBC buffer size checks
drm/i915: fix CFB size calculation
drm/i915: remove pre-atomic check from SKL update_primary_plane
drm/i915: don't allocate fbcon from stolen memory if it's too big
Revert "drm/i915: Call encoder hotplug for init and resume cases"
Revert "drm/i915: Add hot_plug hook for hdmi encoder"
drm/i915: use error path
drm/i915/irq: Fix misspelled word register in kernel-doc
drm/i915/irq: Fix kernel-doc warnings
drm/i915: Hook up ring workaround writes at context creation time on Gen6-7.
drm/i915: Don't warn if the workaround list is empty.
drm/i915: Resurrect golden context on gen6/7
drm/i915/chv: remove pre-production hardware workarounds
drm/i915/snb: remove pre-production hardware workaround
drm/i915/bxt: Set time interval unit to 0.833us
...
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/i915_component.h | 64 | ||||
-rw-r--r-- | include/uapi/drm/i915_drm.h | 3 |
2 files changed, 48 insertions, 19 deletions
diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h index b2d56dd483d9..30d89e0da2c6 100644 --- a/include/drm/i915_component.h +++ b/include/drm/i915_component.h | |||
@@ -24,27 +24,55 @@ | |||
24 | #ifndef _I915_COMPONENT_H_ | 24 | #ifndef _I915_COMPONENT_H_ |
25 | #define _I915_COMPONENT_H_ | 25 | #define _I915_COMPONENT_H_ |
26 | 26 | ||
27 | /* MAX_PORT is the number of port | ||
28 | * It must be sync with I915_MAX_PORTS defined i915_drv.h | ||
29 | * 5 should be enough as only HSW, BDW, SKL need such fix. | ||
30 | */ | ||
31 | #define MAX_PORTS 5 | ||
32 | |||
33 | /** | ||
34 | * struct i915_audio_component_ops - callbacks defined in gfx driver | ||
35 | * @owner: the module owner | ||
36 | * @get_power: get the POWER_DOMAIN_AUDIO power well | ||
37 | * @put_power: put the POWER_DOMAIN_AUDIO power well | ||
38 | * @codec_wake_override: Enable/Disable generating the codec wake signal | ||
39 | * @get_cdclk_freq: get the Core Display Clock in KHz | ||
40 | * @sync_audio_rate: set n/cts based on the sample rate | ||
41 | */ | ||
42 | struct i915_audio_component_ops { | ||
43 | struct module *owner; | ||
44 | void (*get_power)(struct device *); | ||
45 | void (*put_power)(struct device *); | ||
46 | void (*codec_wake_override)(struct device *, bool enable); | ||
47 | int (*get_cdclk_freq)(struct device *); | ||
48 | int (*sync_audio_rate)(struct device *, int port, int rate); | ||
49 | }; | ||
50 | |||
51 | struct i915_audio_component_audio_ops { | ||
52 | void *audio_ptr; | ||
53 | /** | ||
54 | * Call from i915 driver, notifying the HDA driver that | ||
55 | * pin sense and/or ELD information has changed. | ||
56 | * @audio_ptr: HDA driver object | ||
57 | * @port: Which port has changed (PORTA / PORTB / PORTC etc) | ||
58 | */ | ||
59 | void (*pin_eld_notify)(void *audio_ptr, int port); | ||
60 | }; | ||
61 | |||
62 | /** | ||
63 | * struct i915_audio_component - used for audio video interaction | ||
64 | * @dev: the device from gfx driver | ||
65 | * @aud_sample_rate: the array of audio sample rate per port | ||
66 | * @ops: callback for audio driver calling | ||
67 | * @audio_ops: Call from i915 driver | ||
68 | */ | ||
27 | struct i915_audio_component { | 69 | struct i915_audio_component { |
28 | struct device *dev; | 70 | struct device *dev; |
71 | int aud_sample_rate[MAX_PORTS]; | ||
72 | |||
73 | const struct i915_audio_component_ops *ops; | ||
29 | 74 | ||
30 | const struct i915_audio_component_ops { | 75 | const struct i915_audio_component_audio_ops *audio_ops; |
31 | struct module *owner; | ||
32 | void (*get_power)(struct device *); | ||
33 | void (*put_power)(struct device *); | ||
34 | void (*codec_wake_override)(struct device *, bool enable); | ||
35 | int (*get_cdclk_freq)(struct device *); | ||
36 | } *ops; | ||
37 | |||
38 | const struct i915_audio_component_audio_ops { | ||
39 | void *audio_ptr; | ||
40 | /** | ||
41 | * Call from i915 driver, notifying the HDA driver that | ||
42 | * pin sense and/or ELD information has changed. | ||
43 | * @audio_ptr: HDA driver object | ||
44 | * @port: Which port has changed (PORTA / PORTB / PORTC etc) | ||
45 | */ | ||
46 | void (*pin_eld_notify)(void *audio_ptr, int port); | ||
47 | } *audio_ops; | ||
48 | }; | 76 | }; |
49 | 77 | ||
50 | #endif /* _I915_COMPONENT_H_ */ | 78 | #endif /* _I915_COMPONENT_H_ */ |
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index fd5aa47bd689..484a9fb20479 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h | |||
@@ -690,7 +690,8 @@ struct drm_i915_gem_exec_object2 { | |||
690 | #define EXEC_OBJECT_NEEDS_FENCE (1<<0) | 690 | #define EXEC_OBJECT_NEEDS_FENCE (1<<0) |
691 | #define EXEC_OBJECT_NEEDS_GTT (1<<1) | 691 | #define EXEC_OBJECT_NEEDS_GTT (1<<1) |
692 | #define EXEC_OBJECT_WRITE (1<<2) | 692 | #define EXEC_OBJECT_WRITE (1<<2) |
693 | #define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_WRITE<<1) | 693 | #define EXEC_OBJECT_SUPPORTS_48B_ADDRESS (1<<3) |
694 | #define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_SUPPORTS_48B_ADDRESS<<1) | ||
694 | __u64 flags; | 695 | __u64 flags; |
695 | 696 | ||
696 | __u64 rsvd1; | 697 | __u64 rsvd1; |