[Intel-gfx] [PATCH v3 3/3] drm: clean cached display info
Sharma, Shashank
shashank.sharma at intel.com
Thu Dec 29 05:53:13 UTC 2016
Regards
Shashank
On 12/27/2016 3:07 PM, Daniel Vetter wrote:
> On Thu, Dec 22, 2016 at 10:21:25AM +0000, Jose Abreu wrote:
>> Hi Shashank,
>>
>>
>> On 21-12-2016 15:29, Shashank Sharma wrote:
>>> This patch adds a small helper function, which clears the cached
>>> information about a hot-pluggable display, from connector. On event
>>> This will run on event of a hot-unplug, keeping the connector's display
>>> info up-to-date, avoiding any errors due to invalid cached data.
>>>
>>> Cc: Jose Abreu <joabreu at synopsys.com>
>>>
>>> Suggested-by: Jose Abreu <joabreu at synopsys.com>
>>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
>>> ---
>>> drivers/gpu/drm/drm_probe_helper.c | 20 ++++++++++++++++++++
>>> 1 file changed, 20 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
>>> index 7cff91e..9e97b45 100644
>>> --- a/drivers/gpu/drm/drm_probe_helper.c
>>> +++ b/drivers/gpu/drm/drm_probe_helper.c
>>> @@ -164,6 +164,18 @@ void drm_kms_helper_poll_enable_locked(struct drm_device *dev)
>>> }
>>>
>>> /**
>>> + * drm_helper_clear_display_info - clean cached display information for
>>> + * hot pluggable displays, on event of hot-unplug
>>> + * @connector: connector under event
>>> + */
>>> +void drm_helper_clear_display_info(struct drm_connector *connector)
>>> +{
>>> + struct drm_display_info *info = &connector->display_info;
>>> +
>>> + memset(info, 0, sizeof(*info));
>>> +}
>>> +
>>> +/**
>>> * drm_helper_probe_single_connector_modes - get complete set of display modes
>>> * @connector: connector to probe
>>> * @maxX: max width for modes
>>> @@ -288,6 +300,14 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
>>> DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n",
>>> connector->base.id, connector->name);
>>> drm_mode_connector_update_edid_property(connector, NULL);
>>> +
>>> + /*
>>> + * Connector status change to disconnected, time to clean
>>> + * cached display information
>>> + */
>>> + if (connector->status == connector_status_disconnected)
>>> + drm_helper_clear_display_info(connector);
>>> +
>> I don't know if this is the right place to do this because it is
>> a helper and I don't know if it is used by all the drivers. We
>> may need something more general that is always called when
>> probing modes, or force drivers that don't use the helper to use
>> the drm_helper_clear_display_info function. As I told you before,
>> I'm new to dri-devel so we need more comments.
> Seems reasonable to me, since afaik all drivers do use the probe helpers.
> -Daniel
This was my understanding too. Jose, you think there would be any
drivers who dont use this probe ?
- Shashank
>> Best regards,
>> Jose Miguel Abreu
>>
>>> verbose_prune = false;
>>> goto prune;
>>> }
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the dri-devel
mailing list