root/drivers/gpu/drm/amd/display/include/signal_types.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. dc_is_hdmi_tmds_signal
  2. dc_is_hdmi_signal
  3. dc_is_dp_sst_signal
  4. dc_is_dp_signal
  5. dc_is_embedded_signal
  6. dc_is_lvds_signal
  7. dc_is_dvi_signal
  8. dc_is_dvi_single_link_signal
  9. dc_is_dual_link_signal
  10. dc_is_audio_capable_signal
  11. dc_is_virtual_signal

   1 /*
   2  * Copyright 2012-15 Advanced Micro Devices, Inc.
   3  *
   4  * Permission is hereby granted, free of charge, to any person obtaining a
   5  * copy of this software and associated documentation files (the "Software"),
   6  * to deal in the Software without restriction, including without limitation
   7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
   8  * and/or sell copies of the Software, and to permit persons to whom the
   9  * Software is furnished to do so, subject to the following conditions:
  10  *
  11  * The above copyright notice and this permission notice shall be included in
  12  * all copies or substantial portions of the Software.
  13  *
  14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  17  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  18  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  19  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  20  * OTHER DEALINGS IN THE SOFTWARE.
  21  *
  22  * Authors: AMD
  23  *
  24  */
  25 
  26 #ifndef __DC_SIGNAL_TYPES_H__
  27 #define __DC_SIGNAL_TYPES_H__
  28 
  29 /* Minimum pixel clock, in KHz. For TMDS signal is 25.00 MHz */
  30 #define TMDS_MIN_PIXEL_CLOCK 25000
  31 /* Maximum pixel clock, in KHz. For TMDS signal is 165.00 MHz */
  32 #define TMDS_MAX_PIXEL_CLOCK 165000
  33 
  34 enum signal_type {
  35         SIGNAL_TYPE_NONE                = 0L,           /* no signal */
  36         SIGNAL_TYPE_DVI_SINGLE_LINK     = (1 << 0),
  37         SIGNAL_TYPE_DVI_DUAL_LINK       = (1 << 1),
  38         SIGNAL_TYPE_HDMI_TYPE_A         = (1 << 2),
  39         SIGNAL_TYPE_LVDS                = (1 << 3),
  40         SIGNAL_TYPE_RGB                 = (1 << 4),
  41         SIGNAL_TYPE_DISPLAY_PORT        = (1 << 5),
  42         SIGNAL_TYPE_DISPLAY_PORT_MST    = (1 << 6),
  43         SIGNAL_TYPE_EDP                 = (1 << 7),
  44         SIGNAL_TYPE_VIRTUAL             = (1 << 9),     /* Virtual Display */
  45 };
  46 
  47 /* help functions for signal types manipulation */
  48 static inline bool dc_is_hdmi_tmds_signal(enum signal_type signal)
  49 {
  50         return (signal == SIGNAL_TYPE_HDMI_TYPE_A);
  51 }
  52 
  53 static inline bool dc_is_hdmi_signal(enum signal_type signal)
  54 {
  55         return (signal == SIGNAL_TYPE_HDMI_TYPE_A);
  56 }
  57 
  58 static inline bool dc_is_dp_sst_signal(enum signal_type signal)
  59 {
  60         return (signal == SIGNAL_TYPE_DISPLAY_PORT ||
  61                 signal == SIGNAL_TYPE_EDP);
  62 }
  63 
  64 static inline bool dc_is_dp_signal(enum signal_type signal)
  65 {
  66         return (signal == SIGNAL_TYPE_DISPLAY_PORT ||
  67                 signal == SIGNAL_TYPE_EDP ||
  68                 signal == SIGNAL_TYPE_DISPLAY_PORT_MST);
  69 }
  70 
  71 static inline bool dc_is_embedded_signal(enum signal_type signal)
  72 {
  73         return (signal == SIGNAL_TYPE_EDP || signal == SIGNAL_TYPE_LVDS);
  74 }
  75 
  76 static inline bool dc_is_lvds_signal(enum signal_type signal)
  77 {
  78         return (signal == SIGNAL_TYPE_LVDS);
  79 }
  80 
  81 static inline bool dc_is_dvi_signal(enum signal_type signal)
  82 {
  83         switch (signal) {
  84         case SIGNAL_TYPE_DVI_SINGLE_LINK:
  85         case SIGNAL_TYPE_DVI_DUAL_LINK:
  86                 return true;
  87         break;
  88         default:
  89                 return false;
  90         }
  91 }
  92 
  93 static inline bool dc_is_dvi_single_link_signal(enum signal_type signal)
  94 {
  95         return (signal == SIGNAL_TYPE_DVI_SINGLE_LINK);
  96 }
  97 
  98 static inline bool dc_is_dual_link_signal(enum signal_type signal)
  99 {
 100         return (signal == SIGNAL_TYPE_DVI_DUAL_LINK);
 101 }
 102 
 103 static inline bool dc_is_audio_capable_signal(enum signal_type signal)
 104 {
 105         return (signal == SIGNAL_TYPE_DISPLAY_PORT ||
 106                 signal == SIGNAL_TYPE_DISPLAY_PORT_MST ||
 107                 dc_is_hdmi_signal(signal));
 108 }
 109 
 110 static inline bool dc_is_virtual_signal(enum signal_type signal)
 111 {
 112         return (signal == SIGNAL_TYPE_VIRTUAL);
 113 }
 114 
 115 #endif

/* [<][>][^][v][top][bottom][index][help] */