Home | History | Annotate | Line # | Download | only in display
      1  1.1  riastrad /*	$NetBSD: intel_panel.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $	*/
      2  1.1  riastrad 
      3  1.1  riastrad /* SPDX-License-Identifier: MIT */
      4  1.1  riastrad /*
      5  1.1  riastrad  * Copyright  2019 Intel Corporation
      6  1.1  riastrad  */
      7  1.1  riastrad 
      8  1.1  riastrad #ifndef __INTEL_PANEL_H__
      9  1.1  riastrad #define __INTEL_PANEL_H__
     10  1.1  riastrad 
     11  1.1  riastrad #include <linux/types.h>
     12  1.1  riastrad 
     13  1.1  riastrad #include "intel_display.h"
     14  1.1  riastrad 
     15  1.1  riastrad struct drm_connector;
     16  1.1  riastrad struct drm_connector_state;
     17  1.1  riastrad struct drm_display_mode;
     18  1.1  riastrad struct intel_connector;
     19  1.1  riastrad struct intel_crtc;
     20  1.1  riastrad struct intel_crtc_state;
     21  1.1  riastrad struct intel_encoder;
     22  1.1  riastrad struct intel_panel;
     23  1.1  riastrad 
     24  1.1  riastrad int intel_panel_init(struct intel_panel *panel,
     25  1.1  riastrad 		     struct drm_display_mode *fixed_mode,
     26  1.1  riastrad 		     struct drm_display_mode *downclock_mode);
     27  1.1  riastrad void intel_panel_fini(struct intel_panel *panel);
     28  1.1  riastrad void intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
     29  1.1  riastrad 			    struct drm_display_mode *adjusted_mode);
     30  1.1  riastrad void intel_pch_panel_fitting(struct intel_crtc *crtc,
     31  1.1  riastrad 			     struct intel_crtc_state *pipe_config,
     32  1.1  riastrad 			     int fitting_mode);
     33  1.1  riastrad void intel_gmch_panel_fitting(struct intel_crtc *crtc,
     34  1.1  riastrad 			      struct intel_crtc_state *pipe_config,
     35  1.1  riastrad 			      int fitting_mode);
     36  1.1  riastrad void intel_panel_set_backlight_acpi(const struct drm_connector_state *conn_state,
     37  1.1  riastrad 				    u32 level, u32 max);
     38  1.1  riastrad int intel_panel_setup_backlight(struct drm_connector *connector,
     39  1.1  riastrad 				enum pipe pipe);
     40  1.1  riastrad void intel_panel_enable_backlight(const struct intel_crtc_state *crtc_state,
     41  1.1  riastrad 				  const struct drm_connector_state *conn_state);
     42  1.1  riastrad void intel_panel_update_backlight(struct intel_encoder *encoder,
     43  1.1  riastrad 				  const struct intel_crtc_state *crtc_state,
     44  1.1  riastrad 				  const struct drm_connector_state *conn_state);
     45  1.1  riastrad void intel_panel_disable_backlight(const struct drm_connector_state *old_conn_state);
     46  1.1  riastrad struct drm_display_mode *
     47  1.1  riastrad intel_panel_edid_downclock_mode(struct intel_connector *connector,
     48  1.1  riastrad 				const struct drm_display_mode *fixed_mode);
     49  1.1  riastrad struct drm_display_mode *
     50  1.1  riastrad intel_panel_edid_fixed_mode(struct intel_connector *connector);
     51  1.1  riastrad struct drm_display_mode *
     52  1.1  riastrad intel_panel_vbt_fixed_mode(struct intel_connector *connector);
     53  1.1  riastrad 
     54  1.1  riastrad #if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
     55  1.1  riastrad int intel_backlight_device_register(struct intel_connector *connector);
     56  1.1  riastrad void intel_backlight_device_unregister(struct intel_connector *connector);
     57  1.1  riastrad #else /* CONFIG_BACKLIGHT_CLASS_DEVICE */
     58  1.1  riastrad static inline int intel_backlight_device_register(struct intel_connector *connector)
     59  1.1  riastrad {
     60  1.1  riastrad 	return 0;
     61  1.1  riastrad }
     62  1.1  riastrad static inline void intel_backlight_device_unregister(struct intel_connector *connector)
     63  1.1  riastrad {
     64  1.1  riastrad }
     65  1.1  riastrad #endif /* CONFIG_BACKLIGHT_CLASS_DEVICE */
     66  1.1  riastrad 
     67  1.1  riastrad #endif /* __INTEL_PANEL_H__ */
     68