Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright 2008  Christian König <deathsimple@vodafone.de>
  3.  * Copyright 2007  Luc Verhaegen <lverhaegen@novell.com>
  4.  * Copyright 2007  Matthias Hopf <mhopf@novell.com>
  5.  * Copyright 2007  Egbert Eich   <eich@novell.com>
  6.  * Copyright 2007  Advanced Micro Devices, Inc.
  7.  *
  8.  * Permission is hereby granted, free of charge, to any person obtaining a
  9.  * copy of this software and associated documentation files (the "Software"),
  10.  * to deal in the Software without restriction, including without limitation
  11.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  12.  * and/or sell copies of the Software, and to permit persons to whom the
  13.  * Software is furnished to do so, subject to the following conditions:
  14.  *
  15.  * The above copyright notice and this permission notice shall be included in
  16.  * all copies or substantial portions of the Software.
  17.  *
  18.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  19.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  20.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  21.  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  22.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  23.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  24.  * OTHER DEALINGS IN THE SOFTWARE.
  25.  */
  26.  
  27. #ifndef _RHD_HDMI_H
  28. #define _RHD_HDMI_H
  29.  
  30. struct rhdHdmi {
  31.         struct rhdHdmi* Next;
  32.  
  33.         int scrnIndex;
  34.  
  35.         struct rhdOutput* Output;
  36.         CARD16 Offset;
  37.  
  38.         Bool Stored;
  39.         CARD32 StoreEnable;
  40.         CARD32 StoreControl;
  41.         CARD32 StoreUnknown[0x3];
  42.         CARD32 StoredAudioDebugWorkaround;
  43.  
  44.         CARD32 StoredFrameVersion;
  45.         CARD32 StoredVideoControl;
  46.         CARD32 StoreVideoInfoFrame[0x4];
  47.         CARD32 StoredAudioControl;
  48.         CARD32 StoreAudioInfoFrame[0x2];
  49.  
  50.         CARD32 Store_32kHz_N;
  51.         CARD32 Store_32kHz_CTS;
  52.  
  53.         CARD32 Store_44_1kHz_N;
  54.         CARD32 Store_44_1kHz_CTS;
  55.  
  56.         CARD32 Store_48kHz_N;
  57.         CARD32 Store_48kHz_CTS;
  58.  
  59.         CARD32 StoreIEC60958[2];
  60. };
  61.  
  62. struct rhdHdmi* RHDHdmiInit(RHDPtr rhdPtr, struct rhdOutput* Output);
  63.  
  64. void RHDHdmiSetMode(struct rhdHdmi* rhdHdmi, DisplayModePtr Mode);
  65. void RHDHdmiEnable(struct rhdHdmi* rhdHdmi, Bool Enable);
  66. void RHDHdmiUpdateAudioSettings(
  67.         struct rhdHdmi* rhdHdmi,
  68.         Bool playing,
  69.         int channels,
  70.         int rate,
  71.         int bps,
  72.         CARD8 status_bits,
  73.         CARD8 catgory_code
  74. );
  75.  
  76. void RHDHdmiSave(struct rhdHdmi* rhdHdmi);
  77. void RHDHdmiRestore(struct rhdHdmi* rhdHdmi);
  78.  
  79. void RHDHdmiDestroy(struct rhdHdmi* rhdHdmi);
  80.  
  81. #endif /* _RHD_HDMI_H */
  82.