[REBASE 3/5] drm: Expose modes with aspect ratio, only if requested
Sharma, Shashank
shashank.sharma at intel.com
Fri Nov 24 09:06:17 UTC 2017
Regards
Shashank
On 11/21/2017 10:41 PM, Ville Syrjälä wrote:
> On Fri, Nov 17, 2017 at 03:00:30PM +0530, Shashank Sharma wrote:
>> From: aknautiy <ankit.k.nautiyal at intel.com>
>>
>> We parse the EDID and add all the modes in the connector's
>> modelist. This adds CEA modes with aspect ratio information
>> too, regadless of if user space requested this information or
>> not.
>>
>> This patch prunes the modes with aspect-ratio information, from
>> a connector's modelist, if the user-space has not set the aspect
>> ratio DRM client cap.
>>
>> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
>> Cc: Shashank Sharma <shashank.sharma at intel.com>
>> Cc: Jose Abreu <jose.abreu at synopsys.com>
>>
>> Signed-off-by: aknautiy <ankit.k.nautiyal at intel.com>
>> ---
>> drivers/gpu/drm/drm_connector.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
>> index 704fc89..a246bb5 100644
>> --- a/drivers/gpu/drm/drm_connector.c
>> +++ b/drivers/gpu/drm/drm_connector.c
>> @@ -1285,6 +1285,13 @@ static bool drm_mode_expose_to_userspace(const struct drm_display_mode *mode,
>> */
>> if (!file_priv->stereo_allowed && drm_mode_is_stereo(mode))
>> return false;
>> + /*
>> + * If user-space hasn't configured the driver to expose the modes
>> + * with aspect-ratio, don't expose them.
>> + */
>> + if (!file_priv->aspect_ratio_allowed &&
>> + mode->picture_aspect_ratio != HDMI_PICTURE_ASPECT_NONE)
>> + return false;
> I don't think we can just blindly drop the modes. We would have to
> expose them with the aspect ratio cleared. That could lead to
> duplicates, but I'm thinking that shouldn't be a real problem for
> userspace. Having to filteri out the duplicates would certainly
> complicate things a bit.
Yes, Agree. Even I was thinking that the right way should be to:
- add a drm_mode_equal_no_aspect function (like
drm_mode_equal_no_clock_no_stereo).
- clear the aspect ratio information from the mode, when not asked for.
- check the sorted connector->modes list for duplicates for this mode,
using above function.
- if mode exists, remove it from the list
- if not, keep it in the list
Sounds like a plan ?
- Shashank
>>
>> return true;
>> }
>> --
>> 2.7.4
More information about the dri-devel
mailing list