xref: /netbsd-src/sys/external/bsd/drm2/dist/include/drm/i915_component.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1*41ec0267Sriastradh /*	$NetBSD: i915_component.h,v 1.3 2021/12/18 23:45:46 riastradh Exp $	*/
2efa246c0Sriastradh 
3efa246c0Sriastradh /*
4efa246c0Sriastradh  * Copyright © 2014 Intel Corporation
5efa246c0Sriastradh  *
6efa246c0Sriastradh  * Permission is hereby granted, free of charge, to any person obtaining a
7efa246c0Sriastradh  * copy of this software and associated documentation files (the "Software"),
8efa246c0Sriastradh  * to deal in the Software without restriction, including without limitation
9efa246c0Sriastradh  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10efa246c0Sriastradh  * and/or sell copies of the Software, and to permit persons to whom the
11efa246c0Sriastradh  * Software is furnished to do so, subject to the following conditions:
12efa246c0Sriastradh  *
13efa246c0Sriastradh  * The above copyright notice and this permission notice (including the next
14efa246c0Sriastradh  * paragraph) shall be included in all copies or substantial portions of the
15efa246c0Sriastradh  * Software.
16efa246c0Sriastradh  *
17efa246c0Sriastradh  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18efa246c0Sriastradh  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19efa246c0Sriastradh  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20efa246c0Sriastradh  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21efa246c0Sriastradh  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22efa246c0Sriastradh  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
23efa246c0Sriastradh  * IN THE SOFTWARE.
24efa246c0Sriastradh  */
25efa246c0Sriastradh 
26efa246c0Sriastradh #ifndef _I915_COMPONENT_H_
27efa246c0Sriastradh #define _I915_COMPONENT_H_
28efa246c0Sriastradh 
29*41ec0267Sriastradh #include "drm_audio_component.h"
30*41ec0267Sriastradh 
31*41ec0267Sriastradh enum i915_component_type {
32*41ec0267Sriastradh 	I915_COMPONENT_AUDIO = 1,
33*41ec0267Sriastradh 	I915_COMPONENT_HDCP,
34*41ec0267Sriastradh };
35*41ec0267Sriastradh 
36efa246c0Sriastradh /* MAX_PORT is the number of port
37efa246c0Sriastradh  * It must be sync with I915_MAX_PORTS defined i915_drv.h
38efa246c0Sriastradh  */
39*41ec0267Sriastradh #define MAX_PORTS 9
40efa246c0Sriastradh 
41efa246c0Sriastradh /**
42*41ec0267Sriastradh  * struct i915_audio_component - Used for direct communication between i915 and hda drivers
43efa246c0Sriastradh  */
44efa246c0Sriastradh struct i915_audio_component {
45*41ec0267Sriastradh 	/**
46*41ec0267Sriastradh 	 * @base: the drm_audio_component base class
47*41ec0267Sriastradh 	 */
48*41ec0267Sriastradh 	struct drm_audio_component	base;
49*41ec0267Sriastradh 
50*41ec0267Sriastradh 	/**
51*41ec0267Sriastradh 	 * @aud_sample_rate: the array of audio sample rate per port
52*41ec0267Sriastradh 	 */
53efa246c0Sriastradh 	int aud_sample_rate[MAX_PORTS];
54efa246c0Sriastradh };
55efa246c0Sriastradh 
56efa246c0Sriastradh #endif /* _I915_COMPONENT_H_ */
57