From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Sharma, Shashank" <shashank.sharma@intel.com>
Cc: Jose Abreu <Jose.Abreu@synopsys.com>,
"Lin, Jia" <lin.a.jia@intel.com>,
Akashdeep Sharma <akashdeep.sharma@intel.com>,
intel-gfx@lists.freedesktop.org,
Emil Velikov <emil.l.velikov@gmail.com>,
dri-devel@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Nautiyal Ankit <ankit.k.nautiyal@intel.com>,
Jim Bride <jim.bride@linux.intel.com>
Subject: Re: [PATCH 06/10] drm/edid: Fix cea mode aspect ratio handling
Date: Fri, 24 Nov 2017 15:22:29 +0200 [thread overview]
Message-ID: <20171124132229.GE10981@intel.com> (raw)
In-Reply-To: <5f782a25-1289-ffd3-7d73-289fed577269@intel.com>
On Fri, Nov 24, 2017 at 02:26:09PM +0530, Sharma, Shashank wrote:
> Regards
>
> Shashank
>
>
> On 11/17/2017 6:19 PM, Ville Syrjälä wrote:
> > On Fri, Nov 17, 2017 at 05:50:11PM +0530, Sharma, Shashank wrote:
> >> Regards
> >>
> >> Shashank
> >>
> >>
> >> On 11/17/2017 5:05 PM, Ville Syrjälä wrote:
> >>> On Fri, Nov 17, 2017 at 08:49:49AM +0530, Sharma, Shashank wrote:
> >>>> Regards
> >>>>
> >>>> Shashank
> >>>>
> >>>>
> >>>> On 11/16/2017 9:53 PM, Ville Syrjälä wrote:
> >>>>> On Thu, Nov 16, 2017 at 08:21:44PM +0530, Sharma, Shashank wrote:
> >>>>>> Regards
> >>>>>>
> >>>>>> Shashank
> >>>>>>
> >>>>>>
> >>>>>> On 11/13/2017 10:34 PM, Ville Syrjala wrote:
> >>>>>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>>
> >>>>>>> commit 6dffd431e229 ("drm: Add aspect ratio parsing in DRM layer")
> >>>>>>> cause us to not send out any VICs in the AVI infoframes. That commit
> >>>>>>> was since reverted, but if and when we add aspect ratio handing back
> >>>>>>> we need to be more careful.
> >>>>>>>
> >>>>>>> Let's handle this by considering the aspect ratio as a requirement
> >>>>>>> for cea mode matching only if the passed in mode actually has a
> >>>>>>> non-zero aspect ratio field. This will keep userspace that doesn't
> >>>>>>> provide an aspect ratio working as before by matching it to the
> >>>>>>> first otherwise equal cea mode. And once userspace starts to
> >>>>>>> provide the aspect ratio it will be considerd a hard requirement
> >>>>>>> for the match.
> >>>>>>>
> >>>>>>> Also change the hdmi mode matching to use drm_mode_match() for
> >>>>>>> consistency, but we don't match on aspect ratio there since the
> >>>>>>> spec doesn't list a specific aspect ratio for those modes.
> >>>>>>>
> >>>>>>> Cc: Shashank Sharma <shashank.sharma@intel.com>
> >>>>>>> Cc: "Lin, Jia" <lin.a.jia@intel.com>
> >>>>>>> Cc: Akashdeep Sharma <akashdeep.sharma@intel.com>
> >>>>>>> Cc: Jim Bride <jim.bride@linux.intel.com>
> >>>>>>> Cc: Jose Abreu <Jose.Abreu@synopsys.com>
> >>>>>>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> >>>>>>> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> >>>>>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>>>>>> ---
> >>>>>>> drivers/gpu/drm/drm_edid.c | 18 ++++++++++++++----
> >>>>>>> 1 file changed, 14 insertions(+), 4 deletions(-)
> >>>>>>>
> >>>>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> >>>>>>> index 7220b8f9a7e8..00aa98f3e55d 100644
> >>>>>>> --- a/drivers/gpu/drm/drm_edid.c
> >>>>>>> +++ b/drivers/gpu/drm/drm_edid.c
> >>>>>>> @@ -2903,11 +2903,15 @@ cea_mode_alternate_timings(u8 vic, struct drm_display_mode *mode)
> >>>>>>> static u8 drm_match_cea_mode_clock_tolerance(const struct drm_display_mode *to_match,
> >>>>>>> unsigned int clock_tolerance)
> >>>>>>> {
> >>>>>>> + unsigned int match_flags = DRM_MODE_MATCH_TIMINGS | DRM_MODE_MATCH_FLAGS;
> >>>>>>> u8 vic;
> >>>>>>>
> >>>>>>> if (!to_match->clock)
> >>>>>>> return 0;
> >>>>>>>
> >>>>>>> + if (to_match->picture_aspect_ratio)
> >>>>>>> + match_flags |= DRM_MODE_MATCH_ASPECT_RATIO;
> >>>>>> This doesn't look right. This means we are expecting a CEA mode without
> >>>>>> a pic aspect ratio field,
> >>>>>> which is invalid.
> >>>>> No, it's perfectly valid. It's what we currently get from userspace.
> >>>> Yep, but that's due to missing Aspect ratio handling in the DRM layer.
> >>>> If that's fixed, as per the list of CEA modes,
> >>>> each CEA VIC contains an aspect ratio, which is a part of its unique
> >>>> identity.
> >>>>
> >>>> I guess once we have the aspect ratio handling in DRM layer, it
> >>>> would/should look like this:
> >>>> - EDID gives you all supported modes, including CEA modes with Aspect ratio
> >>>> - Userspcae gets the mode information, with aspect ratio (for CEA modes)
> >>>> If ( Userspace picks one of the CEA modes)
> >>>> - sends a modeset
> >>>> - we find a matching CEA VIC, found one from modedb
> >>>> - we load this VIC = nonzero information in AVI IF VIC field,
> >>>> else
> >>>> - sends a modeset
> >>>> - we could not find a matching CEA VIC, as aspect ratio is 0
> >>>> - we make VIC field in AVI IF as 0
> >>> No. That would break current userspace.
> >> I guess I forgot to make it clear, that userspace will set the cap, only
> >> then we will provide aspect ratio information.
> >> So this should not break userspace, isn't it ?
> >>>> This is important, as HDMI compliance test 7-27 inspects if the VIC
> >>>> field in the AVI IF is accurate.
> >>> Complicance is secondary to not breaking things that work. Also I find
> >>> it hard to see what purpose there is in having a complicance test that
> >>> sets a CEA modes w/o aspect ratio and then expects the infoframe to have
> >>> VIC 0.
> >> Again, typically this is how these analyzers force modeset:
> >> - They send EDID with only one mode, which is the test mode, with aspect
> >> ratio.
> >> - They expect that VIC to be present in AVI IF
> >>>> - Shashank
> >>>>>> Ankit is going to publish the aspect ratio patch
> >>>>>> series again, with proper DRM cap and flags check. Would it be
> >>>>>> ok if we have a look that handling first ?
> >>>>> This patch will be needed by that work. Otherwise we're going to stop
> >>>>> sending a VIC for CEA modes with current userspace.
> >>>> I guess we should force userspaces to start bothering about aspect ratio
> >>>> field, right now we
> >>>> are doing this for Wayland based compositors, may be we should extend it
> >>>> to X based too.
> >>> Yes, I've been saying that someone should look into extending the randr
> >>> protocol with the necessary bits. But that still doesn't allow us to
> >>> change the current behaviour as old userspace would anyway linger around
> >>> for a long time.
> >> I think cap will cove this part
> > The cap is irrelevant to this discussion. It will not be set by old
> > userspace, hence it won't change anything for old userspace. Modes
> > coming from old userspace will still have aspect_ratio=0.
> Agree, and in that case, why bother about aspect ratio flags here in
> this series ? Probably let this be taken care in aspect ratio series.
If someone wants to suck these patches into the aspect ratio series that
fine by me.
I had them here because they were on the same branch where I had the
fix for the aspect ratio in the infoframe. And I was too lazy to
remove them from the series, figuring they're semi-related anyway.
--
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-11-24 13:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-13 17:04 [PATCH 00/10] drm/edid: Infoframe cleanups and fixes Ville Syrjala
2017-11-13 17:04 ` [PATCH 01/10] video/hdmi: Allow "empty" HDMI infoframes Ville Syrjala
2017-11-16 14:36 ` Sharma, Shashank
2017-11-16 16:16 ` Ville Syrjälä
2017-11-17 3:05 ` Sharma, Shashank
2017-11-13 17:04 ` [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Ville Syrjala
2017-11-16 14:40 ` Sharma, Shashank
2017-11-16 16:21 ` Ville Syrjälä
2017-11-17 3:10 ` Sharma, Shashank
2017-11-22 18:28 ` Ville Syrjälä
2017-11-13 17:04 ` [PATCH 03/10] drm/modes: Introduce drm_mode_match() Ville Syrjala
2017-11-13 17:04 ` [PATCH 04/10] drm/edid: Use drm_mode_match_no_clocks_no_stereo() for consistentcy Ville Syrjala
2017-11-13 17:04 ` [PATCH 05/10] drm/edid: Fix up edid_cea_modes[] formatting Ville Syrjala
2017-11-13 17:04 ` [PATCH 06/10] drm/edid: Fix cea mode aspect ratio handling Ville Syrjala
2017-11-13 18:13 ` Jose Abreu
2017-11-13 18:53 ` Ville Syrjälä
2017-11-16 14:51 ` Sharma, Shashank
2017-11-16 16:23 ` Ville Syrjälä
2017-11-17 3:19 ` Sharma, Shashank
2017-11-17 11:35 ` Ville Syrjälä
2017-11-17 12:20 ` Sharma, Shashank
2017-11-17 12:49 ` Ville Syrjälä
2017-11-24 8:56 ` Sharma, Shashank
2017-11-24 13:22 ` Ville Syrjälä [this message]
2017-11-13 17:04 ` [PATCH 07/10] drm/edid: Don't send bogus aspect ratios in AVI infoframes Ville Syrjala
2017-11-13 18:30 ` Jose Abreu
2017-11-13 19:00 ` Ville Syrjälä
2017-11-16 15:01 ` Sharma, Shashank
2017-11-16 16:26 ` Ville Syrjälä
2017-11-17 3:23 ` Sharma, Shashank
2017-11-17 11:38 ` Ville Syrjälä
2017-11-24 8:55 ` Sharma, Shashank
2017-11-13 17:04 ` [PATCH 08/10] video/hdmi: Reject illegal picture aspect ratios Ville Syrjala
2017-11-13 18:33 ` Jose Abreu
2017-11-13 17:04 ` [PATCH 09/10] video/hdmi: Constify 'buffer' to the unpack functions Ville Syrjala
2017-11-13 17:04 ` [PATCH 10/10] video/hdmi: Pass buffer size to infoframe " Ville Syrjala
2017-11-20 13:36 ` Hans Verkuil
2017-11-20 14:55 ` Ville Syrjälä
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=20171124132229.GE10981@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=Jose.Abreu@synopsys.com \
--cc=akashdeep.sharma@intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jim.bride@linux.intel.com \
--cc=lin.a.jia@intel.com \
--cc=shashank.sharma@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).