Commit 3e183c5f authored by Dave Airlie's avatar Dave Airlie Committed by Alex Deucher

drm/amd/display: start using linux hdmi header

DAL has defines for things, and it doesn't even use them itself.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Reviewed-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Reviewed-by: default avatarEdward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 7d7024ca
...@@ -1334,13 +1334,12 @@ static void set_avi_info_frame( ...@@ -1334,13 +1334,12 @@ static void set_avi_info_frame(
/* Initialize header */ /* Initialize header */
info_frame.avi_info_packet.info_packet_hdmi.bits.header. info_frame.avi_info_packet.info_packet_hdmi.bits.header.
info_frame_type = INFO_FRAME_AVI; info_frame_type = HDMI_INFOFRAME_TYPE_AVI;
/* InfoFrameVersion_3 is defined by CEA861F (Section 6.4), but shall /* InfoFrameVersion_3 is defined by CEA861F (Section 6.4), but shall
* not be used in HDMI 2.0 (Section 10.1) */ * not be used in HDMI 2.0 (Section 10.1) */
info_frame.avi_info_packet.info_packet_hdmi.bits.header.version = info_frame.avi_info_packet.info_packet_hdmi.bits.header.version = 2;
INFO_FRAME_VERSION_2;
info_frame.avi_info_packet.info_packet_hdmi.bits.header.length = info_frame.avi_info_packet.info_packet_hdmi.bits.header.length =
INFO_FRAME_SIZE_AVI; HDMI_AVI_INFOFRAME_SIZE;
/* /*
* IDO-defined (Y2,Y1,Y0 = 1,1,1) shall not be used by devices built * IDO-defined (Y2,Y1,Y0 = 1,1,1) shall not be used by devices built
...@@ -1473,10 +1472,9 @@ static void set_avi_info_frame( ...@@ -1473,10 +1472,9 @@ static void set_avi_info_frame(
check_sum = check_sum =
&info_frame. &info_frame.
avi_info_packet.info_packet_hdmi.packet_raw_data.sb[0]; avi_info_packet.info_packet_hdmi.packet_raw_data.sb[0];
*check_sum = INFO_FRAME_AVI + INFO_FRAME_SIZE_AVI *check_sum = HDMI_INFOFRAME_TYPE_AVI + HDMI_AVI_INFOFRAME_SIZE + 2;
+ INFO_FRAME_VERSION_2;
for (byte_index = 1; byte_index <= INFO_FRAME_SIZE_AVI; byte_index++) for (byte_index = 1; byte_index <= HDMI_AVI_INFOFRAME_SIZE; byte_index++)
*check_sum += info_frame.avi_info_packet.info_packet_hdmi. *check_sum += info_frame.avi_info_packet.info_packet_hdmi.
packet_raw_data.sb[byte_index]; packet_raw_data.sb[byte_index];
...@@ -1588,7 +1586,7 @@ static void set_vendor_info_packet(struct core_stream *stream, ...@@ -1588,7 +1586,7 @@ static void set_vendor_info_packet(struct core_stream *stream,
info_packet->sb[5] = stream->public.timing.hdmi_vic; info_packet->sb[5] = stream->public.timing.hdmi_vic;
/* Header */ /* Header */
info_packet->hb0 = 0x81; /* VSIF packet type. */ info_packet->hb0 = HDMI_INFOFRAME_TYPE_VENDOR; /* VSIF packet type. */
info_packet->hb1 = 0x01; /* Version */ info_packet->hb1 = 0x01; /* Version */
/* 4 lower bits = Length, 4 higher bits = 0 (reserved) */ /* 4 lower bits = Length, 4 higher bits = 0 (reserved) */
...@@ -1629,7 +1627,7 @@ static void set_spd_info_packet(struct core_stream *stream, ...@@ -1629,7 +1627,7 @@ static void set_spd_info_packet(struct core_stream *stream,
/* HB0 = Packet Type = 0x83 (Source Product /* HB0 = Packet Type = 0x83 (Source Product
* Descriptor InfoFrame) * Descriptor InfoFrame)
*/ */
info_packet->hb0 = 0x83; info_packet->hb0 = HDMI_INFOFRAME_TYPE_SPD;
/* HB1 = Version = 0x01 */ /* HB1 = Version = 0x01 */
info_packet->hb1 = 0x01; info_packet->hb1 = 0x01;
...@@ -1651,7 +1649,7 @@ static void set_spd_info_packet(struct core_stream *stream, ...@@ -1651,7 +1649,7 @@ static void set_spd_info_packet(struct core_stream *stream,
/* HB1 = Packet Type = 0x83 (Source Product /* HB1 = Packet Type = 0x83 (Source Product
* Descriptor InfoFrame) * Descriptor InfoFrame)
*/ */
info_packet->hb1 = 0x83; info_packet->hb1 = HDMI_INFOFRAME_TYPE_SPD;
/* HB2 = [Bits 7:0 = Least significant eight bits - /* HB2 = [Bits 7:0 = Least significant eight bits -
* For INFOFRAME, the value must be 1Bh] * For INFOFRAME, the value must be 1Bh]
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#define __DAL_SET_MODE_TYPES_H__ #define __DAL_SET_MODE_TYPES_H__
#include "dc_types.h" #include "dc_types.h"
#include <linux/hdmi.h>
/* Info frame packet status */ /* Info frame packet status */
enum info_frame_flag { enum info_frame_flag {
...@@ -36,27 +37,6 @@ enum info_frame_flag { ...@@ -36,27 +37,6 @@ enum info_frame_flag {
INFO_PACKET_PACKET_UPDATE_SCAN_TYPE = 8 INFO_PACKET_PACKET_UPDATE_SCAN_TYPE = 8
}; };
/* Info frame types */
enum info_frame_type {
INFO_FRAME_GAMUT = 0x0A,
INFO_FRAME_VENDOR_INFO = 0x81,
INFO_FRAME_AVI = 0x82
};
/* Info frame versions */
enum info_frame_version {
INFO_FRAME_VERSION_1 = 1,
INFO_FRAME_VERSION_2 = 2,
INFO_FRAME_VERSION_3 = 3
};
/* Info frame size */
enum info_frame_size {
INFO_FRAME_SIZE_AVI = 13,
INFO_FRAME_SIZE_VENDOR = 25,
INFO_FRAME_SIZE_AUDIO = 10
};
struct hdmi_info_frame_header { struct hdmi_info_frame_header {
uint8_t info_frame_type; uint8_t info_frame_type;
uint8_t version; uint8_t version;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment