1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2019 Intel Corporation 4 */ 5 6 #ifndef __INTEL_DMC_H__ 7 #define __INTEL_DMC_H__ 8 9 #include <linux/types.h> 10 11 enum pipe; 12 struct drm_printer; 13 struct intel_display; 14 struct intel_dmc_snapshot; 15 16 void intel_dmc_init(struct intel_display *display); 17 void intel_dmc_load_program(struct intel_display *display); 18 void intel_dmc_disable_program(struct intel_display *display); 19 void intel_dmc_enable_pipe(struct intel_display *display, enum pipe pipe); 20 void intel_dmc_disable_pipe(struct intel_display *display, enum pipe pipe); 21 void intel_dmc_fini(struct intel_display *display); 22 void intel_dmc_suspend(struct intel_display *display); 23 void intel_dmc_resume(struct intel_display *display); 24 bool intel_dmc_has_payload(struct intel_display *display); 25 void intel_dmc_debugfs_register(struct intel_display *display); 26 27 struct intel_dmc_snapshot *intel_dmc_snapshot_capture(struct intel_display *display); 28 void intel_dmc_snapshot_print(const struct intel_dmc_snapshot *snapshot, struct drm_printer *p); 29 30 void assert_dmc_loaded(struct intel_display *display); 31 32 #endif /* __INTEL_DMC_H__ */ 33