[PATCH] drm/amd/display: start using linux hdmi header

Cheng, Tony Tony.Cheng at amd.com
Tue Jan 10 15:20:53 UTC 2017


Ack.  Just give Harry a few days to do the require work to make sure everything still work with our other OS / environments. 

-----Original Message-----
From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of Dave Airlie
Sent: Monday, January 9, 2017 6:34 PM
To: amd-gfx at lists.freedesktop.org
Subject: [PATCH] drm/amd/display: start using linux hdmi header

From: Dave Airlie <airlied at redhat.com>

DAL has defines for things, and it doesn't even use them itself.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c  | 18 ++++++++----------
 .../gpu/drm/amd/display/include/set_mode_types.h   | 22 +---------------------
 2 files changed, 9 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 2b08f5a..0f8bb6e 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -1333,13 +1333,12 @@ static void set_avi_info_frame(
 
 	/* Initialize 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
 	* not be used in HDMI 2.0 (Section 10.1) */
-	info_frame.avi_info_packet.info_packet_hdmi.bits.header.version =
-			INFO_FRAME_VERSION_2;
+	info_frame.avi_info_packet.info_packet_hdmi.bits.header.version = 2;
 	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 @@ -1472,10 +1471,9 @@ static void set_avi_info_frame(
 	check_sum =
 		&info_frame.
 		avi_info_packet.info_packet_hdmi.packet_raw_data.sb[0];
-	*check_sum = INFO_FRAME_AVI + INFO_FRAME_SIZE_AVI
-			+ INFO_FRAME_VERSION_2;
+	*check_sum = HDMI_INFOFRAME_TYPE_AVI + HDMI_AVI_INFOFRAME_SIZE + 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.
 				packet_raw_data.sb[byte_index];
 
@@ -1586,7 +1584,7 @@ static void set_vendor_info_packet(struct core_stream *stream,
 		info_packet->sb[5] = stream->public.timing.hdmi_vic;
 
 	/* Header */
-	info_packet->hb0 = 0x81; /* VSIF packet type. */
+	info_packet->hb0 = HDMI_INFOFRAME_TYPE_VENDOR; /* VSIF packet type. */
 	info_packet->hb1 = 0x01; /* Version */
 
 	/* 4 lower bits = Length, 4 higher bits = 0 (reserved) */ @@ -1627,7 +1625,7 @@ static void set_spd_info_packet(struct core_stream *stream,
 		/* HB0  = Packet Type = 0x83 (Source Product
 		 *	  Descriptor InfoFrame)
 		 */
-		info_packet->hb0 = 0x83;
+		info_packet->hb0 = HDMI_INFOFRAME_TYPE_SPD;
 
 		/* HB1  = Version = 0x01 */
 		info_packet->hb1 = 0x01;
@@ -1649,7 +1647,7 @@ static void set_spd_info_packet(struct core_stream *stream,
 		/* HB1  = Packet Type = 0x83 (Source Product
 		 *	  Descriptor InfoFrame)
 		 */
-		info_packet->hb1 = 0x83;
+		info_packet->hb1 = HDMI_INFOFRAME_TYPE_SPD;
 
 		/* HB2  = [Bits 7:0 = Least significant eight bits -
 		 *	  For INFOFRAME, the value must be 1Bh]
diff --git a/drivers/gpu/drm/amd/display/include/set_mode_types.h b/drivers/gpu/drm/amd/display/include/set_mode_types.h
index d18210f..fee2b6f 100644
--- a/drivers/gpu/drm/amd/display/include/set_mode_types.h
+++ b/drivers/gpu/drm/amd/display/include/set_mode_types.h
@@ -27,6 +27,7 @@
 #define __DAL_SET_MODE_TYPES_H__
 
 #include "dc_types.h"
+#include <linux/hdmi.h>
 
 /* Info frame packet status */
 enum info_frame_flag {
@@ -36,27 +37,6 @@ enum info_frame_flag {
 	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 {
 	uint8_t info_frame_type;
 	uint8_t version;
--
2.9.3

_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list