xref: /linux/drivers/gpu/drm/amd/display/dc/dio/dcn10/dcn10_dio.h (revision d4a292c5f8e65d2784b703c67179f4f7d0c7846c)
1 // SPDX-License-Identifier: MIT
2 //
3 // Copyright 2025 Advanced Micro Devices, Inc.
4 
5 #ifndef __DCN10_DIO_H__
6 #define __DCN10_DIO_H__
7 
8 #include "dio.h"
9 
10 #define TO_DCN10_DIO(dio_base) \
11 	container_of(dio_base, struct dcn10_dio, base)
12 
13 #define DIO_REG_LIST_DCN10()\
14 	SR(DIO_MEM_PWR_CTRL)
15 
16 struct dcn_dio_registers {
17 	uint32_t DIO_MEM_PWR_CTRL;
18 };
19 
20 struct dcn_dio_shift {
21 	uint8_t I2C_LIGHT_SLEEP_FORCE;
22 };
23 
24 struct dcn_dio_mask {
25 	uint32_t I2C_LIGHT_SLEEP_FORCE;
26 };
27 
28 struct dcn10_dio {
29 	struct dio base;
30 	const struct dcn_dio_registers *regs;
31 	const struct dcn_dio_shift *shifts;
32 	const struct dcn_dio_mask *masks;
33 };
34 
35 void dcn10_dio_construct(
36 	struct dcn10_dio *dio10,
37 	struct dc_context *ctx,
38 	const struct dcn_dio_registers *regs,
39 	const struct dcn_dio_shift *shifts,
40 	const struct dcn_dio_mask *masks);
41 
42 #endif /* __DCN10_DIO_H__ */
43