Hi,

* Kevin Hilman <[email protected]> [111108 16:23]:
> Ilya Yanok <[email protected]> writes:
> 
> > Bits corresponding to the IVA and ISP features in OMAP_STATUS register
> > are reserved on AM35xx and checking for them results in wrong results.
> 
> Ouch.
> 
> > So we don't want to check for this features on AM35xx.
> >
> > Signed-off-by: Ilya Yanok <[email protected]>
> 
> This "feature" selection mechanism is clearly not scaling to newer SoCs.
> While this patch works around the problem, IMO, we need a more scalable
> solution.

Agreed.
 
> For features like IVA and ISP (and SGX) which are acutally IP blocks on
> the SoC, not "features"  per-se, what we really need to be doing is
> checking for the presence of the IP block, not checking a bit in a
> register that's not consistent across various SoCs.
> 
> We already have all the knowledge about whether the IP blocks are
> present in the SoC-specific hwmod data.  So checking for the "feature"
> of a specific IP block should instead be done using an
> omap_hwmod_lookup().
> 
> However, there's a bit of a snag because this "feature" detection is
> currently done before the hwmods are registered.
> 
> As a quick-and-dirty proof of concept, the patch/hack below moves the
> feature checking after the hwmod init (omap3 only currently) and uses
> omap_hwmod_lookup() to check whether a given IP block exists.
> 
> I only did a quick test on one OMAP3 platform (3430/n900) and it seems
> to work.    The init order changes need some more thought, as I didn't
> fully validate whether the feature detection can be safely moved later
> for all platforms.
> 
> This is just to show the direction we should be taking this SoC
> detection for newer SoCs.

This should be coordinated with the splitting of feature detection
as posted by Vaibhave in thread "[RFC PATCH] arm:omap: cleanup & split
omap2/3/4_check_revision function" thread.

We no longer need the SoC detection super early, so I suggest we make
the feature detection separate from SoC detection.

The SoC specific init can then call:

        omap3_check_revision();
        ti816x_check_features();

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to