Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
On Friday 13 September 2013 07:44 PM, Rob Clark wrote: On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja arc...@ti.com wrote: Enable use of DT for DMM/Tiler. Originally worked on by Andy Gross. looks good.. but do we want to get information about # of LUT's, etc, from DT? Or did we decide that we can reliably get this from the hw? I lost track of that discussion (I guess Andy would remember).. I am not aware of the discussion either. But looks like we get the LUT info from the HW registers in omap_dmm_probe: hwinfo = readl(omap_dmm-base + DMM_PAT_HWINFO); omap_dmm-num_engines = (hwinfo 24) 0x1F; omap_dmm-num_lut = (hwinfo 16) 0x1F; omap_dmm-container_width = 256; omap_dmm-container_height = 128; atomic_set(omap_dmm-engine_counter, omap_dmm-num_engines); /* read out actual LUT width and height */ pat_geom = readl(omap_dmm-base + DMM_PAT_GEOMETRY); omap_dmm-lut_width = ((pat_geom 16) 0xF) 5; omap_dmm-lut_height = ((pat_geom 24) 0xF) 5; /* increment LUT by one if on OMAP5 */ /* LUT has twice the height, and is split into a separate container */ if (omap_dmm-lut_height != omap_dmm-container_height) omap_dmm-num_lut++; Archit ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
On Mon, Sep 16, 2013 at 2:28 AM, Archit Taneja arc...@ti.com wrote: On Friday 13 September 2013 07:44 PM, Rob Clark wrote: On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja arc...@ti.com wrote: Enable use of DT for DMM/Tiler. Originally worked on by Andy Gross. looks good.. but do we want to get information about # of LUT's, etc, from DT? Or did we decide that we can reliably get this from the hw? I lost track of that discussion (I guess Andy would remember).. I am not aware of the discussion either. But looks like we get the LUT info from the HW registers in omap_dmm_probe: right.. I'm possibly mis-remembering, but I thought I remember Andy worried that this was not reliable for some reason or another, but I can't really remember the details. The issue may have only been related to a pre-Si simulation environment, so it could be nothing. I suppose if it becomes an issue in the future we could always add DT bindings to override what we would read from the hw, so I guess if this works on all the current devices, maybe it isn't worth worrying about right now. BR, -R hwinfo = readl(omap_dmm-base + DMM_PAT_HWINFO); omap_dmm-num_engines = (hwinfo 24) 0x1F; omap_dmm-num_lut = (hwinfo 16) 0x1F; omap_dmm-container_width = 256; omap_dmm-container_height = 128; atomic_set(omap_dmm-engine_counter, omap_dmm-num_engines); /* read out actual LUT width and height */ pat_geom = readl(omap_dmm-base + DMM_PAT_GEOMETRY); omap_dmm-lut_width = ((pat_geom 16) 0xF) 5; omap_dmm-lut_height = ((pat_geom 24) 0xF) 5; /* increment LUT by one if on OMAP5 */ /* LUT has twice the height, and is split into a separate container */ if (omap_dmm-lut_height != omap_dmm-container_height) omap_dmm-num_lut++; Archit ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja arc...@ti.com wrote: Enable use of DT for DMM/Tiler. Originally worked on by Andy Gross. looks good.. but do we want to get information about # of LUT's, etc, from DT? Or did we decide that we can reliably get this from the hw? I lost track of that discussion (I guess Andy would remember).. BR, -R Cc: Andy Gross andy...@gmail.com Cc: DRI Development dri-devel@lists.freedesktop.org Signed-off-by: Archit Taneja arc...@ti.com --- drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c index acf6678..59f17de 100644 --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c @@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = { }; #endif +#if defined(CONFIG_OF) +static const struct of_device_id dmm_of_match[] = { + { .compatible = ti,omap4-dmm, }, + { .compatible = ti,omap5-dmm, }, + {}, +}; +#else +#define dmm_of_match NULL +#endif + struct platform_driver omap_dmm_driver = { .probe = omap_dmm_probe, .remove = omap_dmm_remove, .driver = { .owner = THIS_MODULE, .name = DMM_DRIVER_NAME, + .of_match_table = dmm_of_match, #ifdef CONFIG_PM .pm = omap_dmm_pm_ops, #endif -- 1.8.1.2 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel