[PATCH v2 1/2] drm: Create new structure for HDMI info

Jose Abreu Jose.Abreu at synopsys.com
Wed Dec 21 09:32:27 UTC 2016


Hi Shashank,


On 21-12-2016 03:49, Sharma, Shashank wrote:
> Thanks for the review Jose.
>
> My comments, inline.
>
> Regards
> Shashank
> On 12/20/2016 7:49 PM, Jose Abreu wrote:
>> Hi Shashank,
>>
>>
>> On 20-12-2016 13:47, Shashank Sharma wrote:
>>> This patch creates a new structure drm_hdmi_info (inspired from
>>> drm_display_info). Driver will parse HDMI sink's advance
>>> capabilities
>>> from HF-VSDB and populate this structure. This structure will
>>> be kept
>>> and used as a sub-class within drm_display_info.
>> You populate the structure but I think you should add a helper to
>> reset it when there is a new EDID or when the previous EDID is no
>> longer valid. The same applies to other fields in
>> drm_display_info structure. I've had problems before because of
>> incorrect values in this structure.
> I agree, will add a clean-up function too, and will attach it
> with hot-unplug.
>>> We are adding parsing of HF-VSDB In the next patch.
>>>
>>> Cc: Thierry Reding <treding at nvidia.com>
>>> Cc: Daniel Vetter <daniel.vetter at intel.com>
>>> Cc: Jose Abreu <joabreu at synopsys.com>
>>> Suggested-by: Thierry Reding <thierry.reding at gmail.com>
>>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
>>> ---
>>>   drivers/gpu/drm/drm_edid.c  |  6 ++--
>>>   include/drm/drm_connector.h | 79
>>> ++++++++++++++++++++++++++++++++++++++++++---
>>>   2 files changed, 77 insertions(+), 8 deletions(-)
>>>
>> [snip]
>>
>>>     /**
>>> + * struct drm_hdmi_info - runtime data specific to a
>>> connected hdmi sink
>>> + *
>>> + * Describes a given hdmi display (e.g. CRT or flat panel)
>>> and its capabilities.
>>> + * Mostly refects the advanced features added in HDMI 2.0
>>> specs and the deep
>>> + * color support. This is a sub-segment of struct
>>> drm_display_info and should be
>>> + * used within.
>>> + *
>>> + * For sinks which provide an EDID this can be filled out by
>>> calling
>>> + * drm_add_edid_modes().
>>> + */
>>> +
>>> +struct drm_hdmi_info {
>> [snip]
>>
>>> +
>>> +    /**
>>> +     * @edid_yuv420_dc_modes: bpc for deep color yuv420
>>> encoding.
>>> +     * various sinks can support 10/12/16 bit per channel deep
>>> +     * color encoding. edid_yuv420_dc_modes = 0 means sink
>>> doesn't
>>> +     * support deep color yuv420 encoding.
>>> +     */
>>> +    u8 edid_yuv420_dc_modes;
>>> +
>>> +
>>> +#define DRM_HFVSDB_SCDC_SUPPORT    (1<<7)
>>> +#define DRM_HFVSDB_SCDC_RR_CAP        (1<<6)
>>> +#define DRM_HFVSDB_SCRAMBLING        (1<<3)
>>> +#define DRM_HFVSDB_INDEPENDENT_VIEW    (1<<2)
>>> +#define DRM_HFVSDB_DUAL_VIEW        (1<<1)
>>> +#define DRM_HFVSDB_3D_OSD        (1<<0)
>>> +
>>> +    /**
>>> +     * @scdc_supported: Sink supports SCDC functionality.
>>> +     */
>>> +    bool scdc_supported;
>>> +
>>> +    /**
>>> +     * @scdc_rr_cap: Sink has SCDC read request capability.
>>> +     */
>>> +    bool scdc_rr_cap;
>>> +
>>> +    /**
>>> +     * @scrambling: Sync supports scrambling for <=340 Mcsc
>>> TMDS
>>> +     * char rates. Above 340 Mcsc rates, scrambling is
>>> always reqd.
>>> +     */
>>> +    bool scrambling;
>>> +
>>> +    /**
>>> +     * @independent_view_3d: Sink supports 3d independent
>>> view signaling
>>> +     * in HF-VSIF.
>>> +     */
>>> +    bool independent_view_3d;
>>> +
>>> +    /**
>>> +     * @dual_view_3d: Sink supports 3d dual view signaling
>>> in HF-VSIF.
>>> +     */
>>> +    bool dual_view_3d;
>>> +
>>> +    /**
>>> +     * @osd_disparity_3d: Sink supports 3d osd disparity
>>> indication
>>> +     * in HF-VSIF.
>>> +     */
>>> +    bool osd_disparity_3d;
>> Maybe you should only add these fields in the second patch.
> I thought it was a good idea to introduce the new fields for
> which we are adding this new structure all together. Else this
> patch would just contain movement of few parameters from main
> structure to new one, and would look unnecessary.  Do you think
> so ?

Yes, I think it is better. And besides, in this patch you also
have to change the drivers that use drm_display_info structure to
use the newly created drm_hdmi_info instead so, the diff will be
bigger. If you don't do so we'll have build errors.

Best regards,
Jose Miguel Abreu

>>
>> Best regards,
>> Jose Miguel Abreu
>



More information about the dri-devel mailing list