[RFC 5/7] drm/omap: Do dss_device (display) ordering in omap_drv.c
Peter Ujfalusi
peter.ujfalusi at ti.com
Mon Sep 4 09:26:08 UTC 2017
Hi Laurent,
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
On 2017-09-01 14:32, Laurent Pinchart wrote:
>> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
>> b/drivers/gpu/drm/omapdrm/omap_drv.c index 32dc0e88220f..0e100a359d26
>> 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
>> @@ -18,6 +18,8 @@
>> */
>>
>> #include <linux/sys_soc.h>
>> +#include <linux/sort.h>
>> +#include <linux/of.h>
>
> Please keep this list alphabetically sorted.
OK.
>
>> #include <drm/drm_atomic.h>
>> #include <drm/drm_atomic_helper.h>
>> @@ -162,6 +164,22 @@ static void omap_disconnect_dssdevs(struct drm_device
>> *ddev) priv->num_dssdevs = 0;
>> }
>>
>> +static int omap_compare_dssdevs(const void *a, const void *b)
>> +{
>> + const struct omap_dss_device *dssdev1 = *(struct omap_dss_device **)a;
>> + const struct omap_dss_device *dssdev2 = *(struct omap_dss_device **)b;
>> + int id1, id2;
>> +
>> + id1 = of_alias_get_id(dssdev1->dev->of_node, "display");
>> + id2 = of_alias_get_id(dssdev2->dev->of_node, "display");
>
> Getting the alias id is a bit costly, how about caching them ?
This is going to be done once and the ID will be never used after this.
We could add the ID to 'struct omap_dss_device' and initialize it in
omapdss_register_display, if that's what you are referring to.
- Péter
More information about the dri-devel
mailing list