Commit ae84b900 authored by Lespiau, Damien's avatar Lespiau, Damien Committed by Dave Airlie

video/hdmi: Use hdmi_vendor_infoframe for the HDMI specific infoframe

We just got rid of the version of hdmi_vendor_infoframe that had a byte
array for anyone to poke at. It's now time to shuffle around the naming
of hdmi_hdmi_infoframe to make hdmi_vendor_infoframe become the HDMI
vendor specific structure.

Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarDave Airlie <airlied@gmail.com>
parent af3e95b4
...@@ -539,7 +539,7 @@ static void tegra_hdmi_setup_audio_infoframe(struct tegra_hdmi *hdmi) ...@@ -539,7 +539,7 @@ static void tegra_hdmi_setup_audio_infoframe(struct tegra_hdmi *hdmi)
static void tegra_hdmi_setup_stereo_infoframe(struct tegra_hdmi *hdmi) static void tegra_hdmi_setup_stereo_infoframe(struct tegra_hdmi *hdmi)
{ {
struct hdmi_hdmi_infoframe frame; struct hdmi_vendor_infoframe frame;
unsigned long value; unsigned long value;
u8 buffer[10]; u8 buffer[10];
ssize_t err; ssize_t err;
...@@ -551,10 +551,10 @@ static void tegra_hdmi_setup_stereo_infoframe(struct tegra_hdmi *hdmi) ...@@ -551,10 +551,10 @@ static void tegra_hdmi_setup_stereo_infoframe(struct tegra_hdmi *hdmi)
return; return;
} }
hdmi_hdmi_infoframe_init(&frame); hdmi_vendor_infoframe_init(&frame);
frame.s3d_struct = HDMI_3D_STRUCTURE_FRAME_PACKING; frame.s3d_struct = HDMI_3D_STRUCTURE_FRAME_PACKING;
err = hdmi_hdmi_infoframe_pack(&frame, buffer, sizeof(buffer)); err = hdmi_vendor_infoframe_pack(&frame, buffer, sizeof(buffer));
if (err < 0) { if (err < 0) {
dev_err(hdmi->dev, "failed to pack vendor infoframe: %zd\n", dev_err(hdmi->dev, "failed to pack vendor infoframe: %zd\n",
err); err);
......
...@@ -288,12 +288,12 @@ ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame, ...@@ -288,12 +288,12 @@ ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
EXPORT_SYMBOL(hdmi_audio_infoframe_pack); EXPORT_SYMBOL(hdmi_audio_infoframe_pack);
/** /**
* hdmi_hdmi_infoframe_init() - initialize an HDMI vendor infoframe * hdmi_vendor_infoframe_init() - initialize an HDMI vendor infoframe
* @frame: HDMI vendor infoframe * @frame: HDMI vendor infoframe
* *
* Returns 0 on success or a negative error code on failure. * Returns 0 on success or a negative error code on failure.
*/ */
int hdmi_hdmi_infoframe_init(struct hdmi_hdmi_infoframe *frame) int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame)
{ {
memset(frame, 0, sizeof(*frame)); memset(frame, 0, sizeof(*frame));
...@@ -310,10 +310,10 @@ int hdmi_hdmi_infoframe_init(struct hdmi_hdmi_infoframe *frame) ...@@ -310,10 +310,10 @@ int hdmi_hdmi_infoframe_init(struct hdmi_hdmi_infoframe *frame)
return 0; return 0;
} }
EXPORT_SYMBOL(hdmi_hdmi_infoframe_init); EXPORT_SYMBOL(hdmi_vendor_infoframe_init);
/** /**
* hdmi_hdmi_infoframe_pack() - write a HDMI vendor infoframe to binary buffer * hdmi_vendor_infoframe_pack() - write a HDMI vendor infoframe to binary buffer
* @frame: HDMI infoframe * @frame: HDMI infoframe
* @buffer: destination buffer * @buffer: destination buffer
* @size: size of buffer * @size: size of buffer
...@@ -326,7 +326,7 @@ EXPORT_SYMBOL(hdmi_hdmi_infoframe_init); ...@@ -326,7 +326,7 @@ EXPORT_SYMBOL(hdmi_hdmi_infoframe_init);
* Returns the number of bytes packed into the binary buffer or a negative * Returns the number of bytes packed into the binary buffer or a negative
* error code on failure. * error code on failure.
*/ */
ssize_t hdmi_hdmi_infoframe_pack(struct hdmi_hdmi_infoframe *frame, ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
void *buffer, size_t size) void *buffer, size_t size)
{ {
u8 *ptr = buffer; u8 *ptr = buffer;
...@@ -377,19 +377,20 @@ ssize_t hdmi_hdmi_infoframe_pack(struct hdmi_hdmi_infoframe *frame, ...@@ -377,19 +377,20 @@ ssize_t hdmi_hdmi_infoframe_pack(struct hdmi_hdmi_infoframe *frame,
return length; return length;
} }
EXPORT_SYMBOL(hdmi_hdmi_infoframe_pack); EXPORT_SYMBOL(hdmi_vendor_infoframe_pack);
/* /*
* hdmi_vendor_infoframe_pack() - write a vendor infoframe to binary buffer * hdmi_vendor_any_infoframe_pack() - write a vendor infoframe to binary buffer
*/ */
static ssize_t hdmi_vendor_infoframe_pack(union hdmi_vendor_infoframe *frame, static ssize_t
void *buffer, size_t size) hdmi_vendor_any_infoframe_pack(union hdmi_vendor_any_infoframe *frame,
void *buffer, size_t size)
{ {
/* we only know about HDMI vendor infoframes */ /* we only know about HDMI vendor infoframes */
if (frame->any.oui != HDMI_IDENTIFIER) if (frame->any.oui != HDMI_IDENTIFIER)
return -EINVAL; return -EINVAL;
return hdmi_hdmi_infoframe_pack(&frame->hdmi, buffer, size); return hdmi_vendor_infoframe_pack(&frame->hdmi, buffer, size);
} }
/** /**
...@@ -422,8 +423,8 @@ hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size) ...@@ -422,8 +423,8 @@ hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size)
length = hdmi_audio_infoframe_pack(&frame->audio, buffer, size); length = hdmi_audio_infoframe_pack(&frame->audio, buffer, size);
break; break;
case HDMI_INFOFRAME_TYPE_VENDOR: case HDMI_INFOFRAME_TYPE_VENDOR:
length = hdmi_vendor_infoframe_pack(&frame->vendor, length = hdmi_vendor_any_infoframe_pack(&frame->vendor,
buffer, size); buffer, size);
break; break;
default: default:
WARN(1, "Bad infoframe type %d\n", frame->any.type); WARN(1, "Bad infoframe type %d\n", frame->any.type);
......
...@@ -237,7 +237,8 @@ enum hdmi_3d_structure { ...@@ -237,7 +237,8 @@ enum hdmi_3d_structure {
HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8, HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,
}; };
struct hdmi_hdmi_infoframe {
struct hdmi_vendor_infoframe {
enum hdmi_infoframe_type type; enum hdmi_infoframe_type type;
unsigned char version; unsigned char version;
unsigned char length; unsigned char length;
...@@ -247,25 +248,25 @@ struct hdmi_hdmi_infoframe { ...@@ -247,25 +248,25 @@ struct hdmi_hdmi_infoframe {
unsigned int s3d_ext_data; unsigned int s3d_ext_data;
}; };
int hdmi_hdmi_infoframe_init(struct hdmi_hdmi_infoframe *frame); int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame);
ssize_t hdmi_hdmi_infoframe_pack(struct hdmi_hdmi_infoframe *frame, ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
void *buffer, size_t size); void *buffer, size_t size);
union hdmi_vendor_infoframe { union hdmi_vendor_any_infoframe {
struct { struct {
enum hdmi_infoframe_type type; enum hdmi_infoframe_type type;
unsigned char version; unsigned char version;
unsigned char length; unsigned char length;
unsigned int oui; unsigned int oui;
} any; } any;
struct hdmi_hdmi_infoframe hdmi; struct hdmi_vendor_infoframe hdmi;
}; };
union hdmi_infoframe { union hdmi_infoframe {
struct hdmi_any_infoframe any; struct hdmi_any_infoframe any;
struct hdmi_avi_infoframe avi; struct hdmi_avi_infoframe avi;
struct hdmi_spd_infoframe spd; struct hdmi_spd_infoframe spd;
union hdmi_vendor_infoframe vendor; union hdmi_vendor_any_infoframe vendor;
struct hdmi_audio_infoframe audio; struct hdmi_audio_infoframe audio;
}; };
......
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