All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Andrzej Hajda <a.hajda@samsung.com>
Cc: nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Russell King" <linux@armlinux.org.uk>,
	amd-gfx@lists.freedesktop.org,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	linux-tegra@vger.kernel.org,
	"Vincent Abriou" <vincent.abriou@st.com>,
	freedreno@lists.freedesktop.org,
	"Seung-Woo Kim" <sw0312.kim@samsung.com>,
	"Kyungmin Park" <kyungmin.park@samsung.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Christian König" <christian.koenig@amd.com>
Subject: Re: [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions
Date: Wed, 5 Dec 2018 16:43:58 +0200	[thread overview]
Message-ID: <20181205144358.GR9144@intel.com> (raw)
In-Reply-To: <6da15ecc-d89a-952c-4a70-9d26e02ee58e@samsung.com>

On Wed, Dec 05, 2018 at 09:46:40AM +0100, Andrzej Hajda wrote:
> On 05.12.2018 07:32, Laurent Pinchart wrote:
> > Hi Ville,
> >
> > On Tuesday, 4 December 2018 21:13:20 EET Ville Syrjälä wrote:
> >> On Tue, Dec 04, 2018 at 08:46:53AM +0100, Andrzej Hajda wrote:
> >>> On 03.12.2018 22:38, Ville Syrjälä wrote:
> >>>> On Thu, Nov 29, 2018 at 10:08:07AM +0100, Andrzej Hajda wrote:
> >>>>> On 21.11.2018 19:19, Laurent Pinchart wrote:
> >>>>>> On Tuesday, 20 November 2018 18:13:42 EET Ville Syrjala wrote:
> >>>>>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>
> >>>>>>> Make life easier for drivers by simply passing the connector
> >>>>>>> to drm_hdmi_avi_infoframe_from_display_mode() and
> >>>>>>> drm_hdmi_avi_infoframe_quant_range(). That way drivers don't
> >>>>>>> need to worry about is_hdmi2_sink mess.
> >>>>>> While this is good for display controller drivers, the change isn't
> >>>>>> great for bridge drivers. Down the road we're looking at moving
> >>>>>> connector support out of the bridge drivers. Adding an additional
> >>>>>> dependency to connectors in the bridges will make that more
> >>>>>> difficult. Ideally bridges should retrieve the information from their
> >>>>>> sink, regardless of whether it is a connector or another bridge.
> >>>>> I agree with it, and case of sii8620 shows that there are cases where
> >>>>> bridge has no direct access to the connector.
> >>>> It's just a matter of plumbing it through.
> >>> What do you mean exactly?
> >> void bridge_foo(...
> >> +               ,struct drm_connector *connector);
> >>
> >>>>> On the other side,  since you are passing connector to
> >>>>> drm_hdmi_avi_infoframe_from_display_mode(), you could drop mode
> >>>>> parameter and rename the function to
> >>>>> drm_hdmi_avi_infoframe_from_connector() then, unless mode passed and
> >>>>> mode set on the connector differs?
> >>>> Connectors don't have a mode.
> >>> As they are passing video stream they should have it, even if not
> >>> directly, for example:
> >>>
> >>> connector->state->crtc->mode
> >> That's not really how atomic works. One shouldn't go digging
> >> through the obj->state pointers when we're not holding the
> >> relevant locks anymore. The atomic way would be to pass either
> >> both crtc state and connector state, or drm_atomic_state +
> >> crtc/connector.
> 
> 
> Usually infoframe contents is generated in modesetting/enable callbacks
> so the locks should be in place.

Not when doing a nonblocking modeset.

> 
> And the locks should be hold for
> drm_hdmi_avi_infoframe_from_display_mode as well - it wouldn't be correct if
> 
> generated infoframe is not relevant to actual video mode. I guess that
> if connector->state->crtc->mode
> 
> differs from mode passed to drm_hdmi_avi_infoframe_from_display_mode it
> is a sign of possible problem.
> 
> And if they do not differ passing mode as an extra argument is redundant.
> 
> 
> > Or a bridge state ? With chained bridges the mode can vary along the pipeline, 
> > the CRTC adjusted mode will only cover the link between the CRTC and the first 
> > bridge. It's only a matter of time until we need to store other intermediate 
> > modes in states. I'd rather prepare for that instead of passing the CRTC state 
> > to bridges.
> 
> 
> Yes, optional bridge states seems reasonable, volunteers needed :)
> 
> 
> Regards
> 
> Andrzej
> 
> 
> >
> >>> In moment of creating infoframe it should be set properly.
> >>>
> >>>>>> Please see below for an additional comment.
> >>>>>>
> >>>>>>> Cc: Alex Deucher <alexander.deucher@amd.com>
> >>>>>>> Cc: "Christian König" <christian.koenig@amd.com>
> >>>>>>> Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
> >>>>>>> Cc: Archit Taneja <architt@codeaurora.org>
> >>>>>>> Cc: Andrzej Hajda <a.hajda@samsung.com>
> >>>>>>> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> >>>>>>> Cc: Inki Dae <inki.dae@samsung.com>
> >>>>>>> Cc: Joonyoung Shim <jy0922.shim@samsung.com>
> >>>>>> Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
> >>>>>>> Cc: Kyungmin Park <kyungmin.park@samsung.com>
> >>>>>>> Cc: Russell King <linux@armlinux.org.uk>
> >>>>>>> Cc: CK Hu <ck.hu@mediatek.com>
> >>>>>>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> >>>>>>> Cc: Rob Clark <robdclark@gmail.com>
> >>>>>>> Cc: Ben Skeggs <bskeggs@redhat.com>
> >>>>>>> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> >>>>>>> Cc: Sandy Huang <hjc@rock-chips.com>
> >>>>>>> Cc: "Heiko Stübner" <heiko@sntech.de>
> >>>>>>> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> >>>>>>> Cc: Vincent Abriou <vincent.abriou@st.com>
> >>>>>>> Cc: Thierry Reding <thierry.reding@gmail.com>
> >>>>>>> Cc: Eric Anholt <eric@anholt.net>
> >>>>>>> Cc: Shawn Guo <shawnguo@kernel.org>
> >>>>>>> Cc: Ilia Mirkin <imirkin@alum.mit.edu>
> >>>>>>> Cc: amd-gfx@lists.freedesktop.org
> >>>>>>> Cc: linux-arm-msm@vger.kernel.org
> >>>>>>> Cc: freedreno@lists.freedesktop.org
> >>>>>>> Cc: nouveau@lists.freedesktop.org
> >>>>>>> Cc: linux-tegra@vger.kernel.org
> >>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>> ---
> >>>>>>>
> >>>>>>>  drivers/gpu/drm/amd/amdgpu/dce_v10_0.c    |  2 +-
> >>>>>>>  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c    |  2 +-
> >>>>>>>  drivers/gpu/drm/amd/amdgpu/dce_v6_0.c     |  3 ++-
> >>>>>>>  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c     |  2 +-
> >>>>>>>  drivers/gpu/drm/bridge/analogix-anx78xx.c |  5 ++--
> >>>>>>>  drivers/gpu/drm/bridge/sii902x.c          |  3 ++-
> >>>>>>>  drivers/gpu/drm/bridge/sil-sii8620.c      |  3 +--
> >>>>>>>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c |  3 ++-
> >>>>>>>  drivers/gpu/drm/drm_edid.c                | 33 ++++++++++++--------
> >>>>>>>  drivers/gpu/drm/exynos/exynos_hdmi.c      |  3 ++-
> >>>>>>>  drivers/gpu/drm/i2c/tda998x_drv.c         |  3 ++-
> >>>>>>>  drivers/gpu/drm/i915/intel_hdmi.c         | 14 +++++-----
> >>>>>>>  drivers/gpu/drm/i915/intel_lspcon.c       | 15 ++++++-----
> >>>>>>>  drivers/gpu/drm/i915/intel_sdvo.c         | 10 ++++---
> >>>>>>>  drivers/gpu/drm/mediatek/mtk_hdmi.c       |  3 ++-
> >>>>>>>  drivers/gpu/drm/msm/hdmi/hdmi_bridge.c    |  3 ++-
> >>>>>>>  drivers/gpu/drm/nouveau/dispnv50/disp.c   |  7 +++--
> >>>>>>>  drivers/gpu/drm/omapdrm/omap_encoder.c    |  5 ++--
> >>>>>>>  drivers/gpu/drm/radeon/radeon_audio.c     |  2 +-
> >>>>>>>  drivers/gpu/drm/rockchip/inno_hdmi.c      |  4 ++-
> >>>>>>>  drivers/gpu/drm/sti/sti_hdmi.c            |  3 ++-
> >>>>>>>  drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c    |  3 ++-
> >>>>>>>  drivers/gpu/drm/tegra/hdmi.c              |  3 ++-
> >>>>>>>  drivers/gpu/drm/tegra/sor.c               |  3 ++-
> >>>>>>>  drivers/gpu/drm/vc4/vc4_hdmi.c            | 11 +++++---
> >>>>>>>  drivers/gpu/drm/zte/zx_hdmi.c             |  4 ++-
> >>>>>>>  include/drm/drm_edid.h                    |  8 +++---
> >>>>>>>  27 files changed, 94 insertions(+), 66 deletions(-)
> >>>>>> For dw-hdmi and omapdrm,
> >>>>>>
> >>>>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-12-05 14:43 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-20 16:13 [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions Ville Syrjala
2018-11-20 16:13 ` [PATCH 2/4] drm/i915: Use drm_hdmi_avi_infoframe_quant_range() for SDVO HDMI as well Ville Syrjala
2018-12-13  0:32   ` Dhinakaran Pandiyan
2018-12-13  5:18     ` Ville Syrjälä
2018-12-13 23:09       ` Dhinakaran Pandiyan
2018-12-18  1:33         ` [Intel-gfx] " Dhinakaran Pandiyan
2018-11-20 16:13 ` [PATCH 4/4] drm/edid: Add display_info.rgb_quant_range_selectable Ville Syrjala
     [not found]   ` <20181120161345.15440-4-ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-11-28 17:19     ` Eric Anholt
2018-11-28 20:37       ` Alex Deucher
     [not found] ` <20181120161345.15440-1-ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2018-11-20 16:13   ` [PATCH 3/4] drm/radeon: Use drm_hdmi_avi_infoframe_quant_range() Ville Syrjala
2018-11-20 16:27   ` [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions Thierry Reding
2018-11-21 11:40   ` Jani Nikula
     [not found]     ` <87muq2ek04.fsf-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-11-21 11:51       ` Ville Syrjälä
2018-11-29  8:46         ` Andrzej Hajda
     [not found]           ` <d0e34bab-de8b-1005-b9e8-72afe66576ac-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-03 21:48             ` Ville Syrjälä
     [not found]               ` <20181203214844.GK9144-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-12-04  7:03                 ` Andrzej Hajda
     [not found]                   ` <aee2cad8-ef93-72d5-986f-b33aabd2c3d2-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-04 19:02                     ` Ville Syrjälä
2018-12-05  7:40                       ` Andrzej Hajda
     [not found]                         ` <239ce5d3-3959-7926-7c0e-26997ec4e5ee-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-05 15:06                           ` Ville Syrjälä
2018-11-21 18:19   ` Laurent Pinchart
2018-11-20 16:30 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/4] " Patchwork
2018-11-20 16:51 ` ✓ Fi.CI.BAT: success " Patchwork
2018-11-21 18:19 ` [PATCH 1/4] " Laurent Pinchart
2018-11-29  9:08   ` Andrzej Hajda
     [not found]     ` <6147ea2d-8044-45d5-7a64-9d632ff41b95-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-03 21:38       ` Ville Syrjälä
2018-12-04  7:46         ` Andrzej Hajda
     [not found]           ` <64018e44-9a5e-5b28-63db-f35b97dafb26-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-04 19:13             ` Ville Syrjälä
     [not found]               ` <20181204191320.GM9144-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-12-05  6:32                 ` Laurent Pinchart
2018-12-05  6:32                 ` Laurent Pinchart
2018-12-05  8:46                   ` Andrzej Hajda
     [not found]                     ` <6da15ecc-d89a-952c-4a70-9d26e02ee58e-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2018-12-05  8:55                       ` Laurent Pinchart
2018-12-05 14:43                     ` Ville Syrjälä [this message]
2018-12-05 10:19 ` Russell King - ARM Linux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181205144358.GR9144@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=a.hajda@samsung.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=nouveau@lists.freedesktop.org \
    --cc=shawnguo@kernel.org \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=tomi.valkeinen@ti.com \
    --cc=vincent.abriou@st.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.