[PATCH 3/4] drm: omap: Enable DT support for DMM
Rob Clark
robdclark at gmail.com
Mon Sep 16 04:56:49 PDT 2013
On Mon, Sep 16, 2013 at 2:28 AM, Archit Taneja <archit at 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 <archit at 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
More information about the dri-devel
mailing list