Displaying 19 results from an estimated 19 matches for "hdmi_infofram".
Did you mean:
hdmi_infoframe
2017 Jan 17
0
[PATCH 2/6] drm/nouveau: Pass mode-dependent AVI and Vendor HDMI InfoFrames to NVKM
...#include <nvif/cl0002.h>
@@ -2772,6 +2774,28 @@ nv50_hdmi_disable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc)
nvif_mthd(disp->disp, 0, &args, sizeof(args));
}
+static ssize_t
+nv50_hdmi_pack_infoframe(struct nv50_disp_sor_hdmi_pwr_v0_infoframe *frame_out,
+ union hdmi_infoframe *frame_in)
+{
+ uint8_t buffer[17]; /* The header plus two "subpacks" */
+ ssize_t len;
+
+ len = hdmi_infoframe_pack(frame_in, buffer, sizeof(buffer));
+
+ frame_out->header = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16);
+ frame_out->subpack0_low = buffer[3] | (bu...
2019 Jan 08
0
[PATCH 1/4] drm/edid: Pass connector to AVI infoframe functions
...evice *adev = dev->dev_private;
struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv;
+ struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
struct hdmi_avi_infoframe frame;
u8 buffer[HDMI_INFOFRAME_HEADER_SIZE + HDMI_AVI_INFOFRAME_SIZE];
uint8_t *payload = buffer + 3;
@@ -1430,7 +1431,7 @@ static void dce_v6_0_audio_set_avi_infoframe(struct drm_encoder *encoder,
ssize_t err;
u32 tmp;
- err = drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false);
+ err = drm_hdmi_avi_infof...
2018 Nov 21
0
[PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
..._private;
> struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
> struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv;
> + struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
> struct hdmi_avi_infoframe frame;
> u8 buffer[HDMI_INFOFRAME_HEADER_SIZE + HDMI_AVI_INFOFRAME_SIZE];
> uint8_t *payload = buffer + 3;
> @@ -1430,7 +1431,7 @@ static void dce_v6_0_audio_set_avi_infoframe(struct drm_encoder *encoder,
> ssize_t err;
> u32 tmp;
>
> - err = drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, fals...
2017 Jan 17
32
[PATCH 0/6] drm/nouveau: Enable HDMI Stereoscopy
This is an initial implementation of HDMI 3D mode support for the
nouveau kernel driver. It works on all of the hardware that I have
available to test at the moment, but I am unsure as to the overall
approach taken for setting HDMI InfoFrames, there's no support for g84
or gf119 disps, and the criteria for enabling stereo support for an
output seems a bit iffy.
The first four patches arrange
2018 Nov 20
6
[PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
...evice *adev = dev->dev_private;
struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv;
+ struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
struct hdmi_avi_infoframe frame;
u8 buffer[HDMI_INFOFRAME_HEADER_SIZE + HDMI_AVI_INFOFRAME_SIZE];
uint8_t *payload = buffer + 3;
@@ -1430,7 +1431,7 @@ static void dce_v6_0_audio_set_avi_infoframe(struct drm_encoder *encoder,
ssize_t err;
u32 tmp;
- err = drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false);
+ err = drm_hdmi_avi_infof...
2024 Aug 21
2
[PATCH][next] drm/nouveau: Avoid -Wflex-array-member-not-at-end warning
...c858..ddddc69640be 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -774,11 +774,9 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc,
struct drm_hdmi_info *hdmi = &nv_connector->base.display_info.hdmi;
union hdmi_infoframe infoframe = { 0 };
const u8 rekey = 56; /* binary driver, and tegra, constant */
+ DEFINE_RAW_FLEX(struct nvif_outp_infoframe_v0, args, data, 17);
+ const u8 data_len = 17; /* same length as in DEFINE_RAW_FLEX above. */
u32 max_ac_packet;
- struct {
- struct nvif_outp_infoframe_v0 infoframe;...
2017 Apr 11
0
[PATCH v3 00/10] drm/nouveau Enable HDMI Stereoscopy
...HDMI
drivers/gpu/drm/nouveau/include/nvif/cl5070.h | 4 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 10 +++
drivers/gpu/drm/nouveau/nv50_display.c | 93 +++++++++++++++-------
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 +
.../drm/nouveau/nvkm/engine/disp/hdmi_infoframe.c | 66 +++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c | 46 +++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigf119.c | 49 ++++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c | 45 +++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c | 46 +++++++++...
2017 Mar 27
0
[PATCH v2 00/10] Enable HDMI Stereoscopy
...HDMI
drivers/gpu/drm/nouveau/include/nvif/cl5070.h | 4 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 10 +++
drivers/gpu/drm/nouveau/nv50_display.c | 80 ++++++++++++++++------
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 +
.../drm/nouveau/nvkm/engine/disp/hdmi_infoframe.c | 66 ++++++++++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c | 46 +++++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigf119.c | 49 +++++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c | 45 ++++++++++--
.../gpu/drm/nouveau/nvkm/engine/disp/hdmigt215.c | 46 ++...
2024 Aug 22
1
[PATCH][next] drm/nouveau: Avoid -Wflex-array-member-not-at-end warning
...> --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -774,11 +774,9 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc,
> struct drm_hdmi_info *hdmi = &nv_connector->base.display_info.hdmi;
> union hdmi_infoframe infoframe = { 0 };
> const u8 rekey = 56; /* binary driver, and tegra, constant */
> + DEFINE_RAW_FLEX(struct nvif_outp_infoframe_v0, args, data, 17);
> + const u8 data_len = 17; /* same length as in DEFINE_RAW_FLEX above. */
To avoid repeating the open-coded "17", this could...
2024 Sep 13
1
[PATCH][next] drm/nouveau: Avoid -Wflex-array-member-not-at-end warning
...gt; --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -774,11 +774,9 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc,
> struct drm_hdmi_info *hdmi = &nv_connector->base.display_info.hdmi;
> union hdmi_infoframe infoframe = { 0 };
> const u8 rekey = 56; /* binary driver, and tegra, constant */
> + DEFINE_RAW_FLEX(struct nvif_outp_infoframe_v0, args, data, 17);
> + const u8 data_len = 17; /* same length as in DEFINE_RAW_FLEX above. */
> u32 max_ac_packet;
> - struct {
> - struct nv...
2017 Mar 29
3
[PATCH v2 00/10] Enable HDMI Stereoscopy
...rm/nouveau/include/nvif/cl5070.h | 4 +-
> drivers/gpu/drm/nouveau/nouveau_connector.c | 10 +++
> drivers/gpu/drm/nouveau/nv50_display.c | 80 ++++++++++++++++------
> drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 +
> .../drm/nouveau/nvkm/engine/disp/hdmi_infoframe.c | 66 ++++++++++++++++++
> drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmig84.c | 46 +++++++++++--
> .../gpu/drm/nouveau/nvkm/engine/disp/hdmigf119.c | 49 +++++++++++--
> .../gpu/drm/nouveau/nvkm/engine/disp/hdmigk104.c | 45 ++++++++++--
> .../gpu/drm/nouveau/nvkm/engine/disp/h...
2018 May 07
0
[PATCH 3/3] drm/vc4: Attach underscan props to the HDMI connector
...);
+ struct vc4_dev *vc4 = encoder->dev->dev_private;
+ struct vc4_hdmi *hdmi = vc4->hdmi;
+ struct drm_connector_state *cstate = hdmi->connector->state;
struct drm_crtc *crtc = encoder->crtc;
const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
union hdmi_infoframe frame;
@@ -426,6 +439,18 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
vc4_encoder->rgb_range_selectable,
false);
+ if (cstate->underscan.mode == DRM_UNDERSCAN_ON) {
+ if (cstate->underscan.hborder) {
+ frame.avi.right_bar = cstate->under...
2018 Nov 22
0
[PATCH v3 3/3] drm/vc4: Attach underscan props to the HDMI connector
...);
+ struct vc4_dev *vc4 = encoder->dev->dev_private;
+ struct vc4_hdmi *hdmi = vc4->hdmi;
+ struct drm_connector_state *cstate = hdmi->connector->state;
struct drm_crtc *crtc = encoder->crtc;
const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
union hdmi_infoframe frame;
@@ -426,6 +439,18 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
vc4_encoder->rgb_range_selectable,
false);
+ if (cstate->underscan.mode == DRM_UNDERSCAN_ON) {
+ if (cstate->underscan.hborder) {
+ frame.avi.right_bar = cstate->under...
2018 May 07
2
[PATCH 3/3] drm/vc4: Attach underscan props to the HDMI connector
...= encoder->dev->dev_private;
> + struct vc4_hdmi *hdmi = vc4->hdmi;
> + struct drm_connector_state *cstate = hdmi->connector->state;
> struct drm_crtc *crtc = encoder->crtc;
> const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
> union hdmi_infoframe frame;
> @@ -426,6 +439,18 @@ static void vc4_hdmi_set_avi_infoframe(struct drm_encoder *encoder)
> vc4_encoder->rgb_range_selectable,
> false);
>
> + if (cstate->underscan.mode == DRM_UNDERSCAN_ON) {
> + if (cstate->underscan.hborder) {
> + fra...
2020 Nov 14
0
[PATCH 6/8] drm/nouveau/kms/nv50-: Lookup current encoder/crtc from atomic state
...p_mthd_v1 base;
@@ -798,7 +813,6 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
.pwr.state = 1,
.pwr.rekey = 56, /* binary driver, and tegra, constant */
};
- struct nouveau_connector *nv_connector;
struct drm_hdmi_info *hdmi;
u32 max_ac_packet;
union hdmi_infoframe avi_frame;
@@ -808,7 +822,6 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
int ret;
int size;
- nv_connector = nv50_outp_get_new_connector(state, nv_encoder);
if (!drm_detect_hdmi_monitor(nv_connector->edid))
return;
@@ -854,7 +867,7 @@ nv50_hdmi_e...
2018 Sep 04
6
[PATCH 0/5] drm/nouveau: add basic HDMI 2.0 support
This is the beginnings of HDMI 2.0 support. All of the "extra"
features are left out, such as 12/16bpc, YUV420, etc.
I've verified that with this code, a GP108 (GT1030) can switch between
4k at 60 and 1920x1080 at 60 on a LG 4K TV. Further, I've verified via i2c
tools, that the SCDC writes really do happen.
I suspect that the patch for keeping track of the high-speed TMDS
2018 May 07
8
[PATCH 0/3] drm/connector: Provide generic support for underscan
Hello,
This is an attempt at providing generic support for underscan connector
props. We already have 3 drivers defining the same underscan, underscan
vborder and underscan hborder properties (amd, radeon and nouveau) and
I am about to add a new one, hence my proposal to put the prop parsing
code in the core and add ->underscan fields to drm_connector_state.
Note that I use this new
2018 May 11
5
[PATCH v2 0/4] drm/connector: Provide generic support for underscan
Hello,
This is an attempt at providing generic support for underscan connector
props. We already have 3 drivers defining the same underscan, underscan
vborder and underscan hborder properties (amd, radeon and nouveau) and
I am about to add a new one, hence my proposal to put the prop parsing
code in the core and add ->underscan fields to drm_connector_state.
In this v2, I also converted the
2018 Nov 22
5
[PATCH v3 0/3] drm/connector: Provide generic support for underscan
Hello,
This is an attempt at providing generic support for underscan connector
props. We already have 3 drivers defining the same underscan, underscan
vborder and underscan hborder properties (amd, radeon and nouveau) and
I am about to add a new one, hence my proposal to put the prop parsing
code in the core and add ->underscan fields to drm_connector_state.
This v3 was based on the "VC4