summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-10-19 19:00:01 -0400
committerDave Airlie <airlied@redhat.com>2015-10-19 19:00:01 -0400
commit2dd3a88ac8c0ef7737335babfbacf79be68cfbea (patch)
treed66678ef05a70480773d2b1740b468f00419f333 /include
parent86b6871641db10095cfe7d26eac29c3ad5223a8c (diff)
parent80bea1897d7bc35e2b201847e12029a9d677cf12 (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.h64
-rw-r--r--include/uapi/drm/i915_drm.h3
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 */
42struct 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
51struct 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 */
27struct i915_audio_component { 69struct 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;