From: Suman Anna <s-anna-l0cyMroinI0@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH 2/2] iommu/omap: Add support for configuring dsp iommus on DRA7xx
Date: Wed, 22 Jul 2015 11:22:38 -0500 [thread overview]
Message-ID: <55AFC34E.4000603@ti.com> (raw)
In-Reply-To: <20150722052600.GF17550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Hi Tony,
On 07/22/2015 12:26 AM, Tony Lindgren wrote:
> * Suman Anna <s-anna-l0cyMroinI0@public.gmane.org> [150721 16:58]:
>> --- a/drivers/iommu/omap-iommu.c
>> +++ b/drivers/iommu/omap-iommu.c
>> @@ -26,6 +26,8 @@
>> #include <linux/of_iommu.h>
>> #include <linux/of_irq.h>
>> #include <linux/of_platform.h>
>> +#include <linux/regmap.h>
>> +#include <linux/mfd/syscon.h>
>>
>> #include <asm/cacheflush.h>
>>
>> @@ -112,6 +114,18 @@ void omap_iommu_restore_ctx(struct device *dev)
>> }
>> EXPORT_SYMBOL_GPL(omap_iommu_restore_ctx);
>>
>> +static void dra7_cfg_dspsys_mmu(struct omap_iommu *obj, bool enable)
>> +{
>> + u32 val, mask;
>> +
>> + if (!obj->syscfg)
>> + return;
>> +
>> + mask = (1 << (obj->id * DSP_SYS_MMU_CONFIG_EN_SHIFT));
>> + val = enable ? mask : 0;
>> + regmap_update_bits(obj->syscfg, DSP_SYS_MMU_CONFIG, mask, val);
>> +}
>> +
>> static void __iommu_set_twl(struct omap_iommu *obj, bool on)
>
> I don't like using syscon for tinkering directly with SoC registers.
This is not a SoC-level register, but a register within a sub-module of
the DSP processor sub-system. The DSP_SYSTEM sub-module in general is
described in Section 5.3.3 of the TRM [1], and it implements different
functionalities like the PRCM handshaking, wakeup logic and DSP
subsystem top-level configuration. It is a module present within the DSP
processor sub-system, so can only be accessed when the sub-system is
clocked and the appropriate reset is released.
> We should use some Linux generic framework for configuring these
> bits to avoid nasty dependencies between various hardware modules
> on the SoC.
>
> What does DSP_SYS_MMU_CONFIG register do? It seems it's probably
> a regulator or a gate clock? If so, it should be set up as a
> regulator or a clock and then the omap-iommu driver can just
> use regulator or clcok framework to request the resource.
No, its neither. It is a control bit that dictates whether the
processor/EDMA addresses go through the respective MMU or not. The
register currently has 4 bits (bit 0 in each nibble), one each for
enabling each MMU and requesting an MMU abort on each. The MMU
integration and enablement notes are detailed in Section 5.3.6 of the
TRM [1], and the DSP_SYS_MMU_CONFIG register layout is in Table 5-28
(Page 1641).
regards
Suman
[1] http://www.ti.com/lit/ug/spruhz6/spruhz6.pdf
next prev parent reply other threads:[~2015-07-22 16:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-21 23:55 [PATCH 0/2] DRA7 DSP MMU config support Suman Anna
[not found] ` <1437522936-19758-1-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2015-07-21 23:55 ` [PATCH 1/2] Documentation: dt: Update OMAP iommu bindings for DRA7 DSPs Suman Anna
2015-07-21 23:55 ` [PATCH 2/2] iommu/omap: Add support for configuring dsp iommus on DRA7xx Suman Anna
[not found] ` <1437522936-19758-3-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2015-07-22 5:26 ` Tony Lindgren
[not found] ` <20150722052600.GF17550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-07-22 16:22 ` Suman Anna [this message]
[not found] ` <55AFC34E.4000603-l0cyMroinI0@public.gmane.org>
2015-07-23 7:24 ` Tony Lindgren
[not found] ` <20150723072455.GC16878-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-07-23 16:22 ` Suman Anna
[not found] ` <55B114DF.8070800-l0cyMroinI0@public.gmane.org>
2015-07-24 4:30 ` Tony Lindgren
[not found] ` <20150724043056.GG16878-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-07-24 16:24 ` Suman Anna
[not found] ` <55B266CE.9070202-l0cyMroinI0@public.gmane.org>
2015-07-28 6:14 ` Tony Lindgren
[not found] ` <20150728061426.GL16878-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-09-03 22:57 ` Suman Anna
[not found] ` <55E8D077.3050108-l0cyMroinI0@public.gmane.org>
2015-09-23 17:53 ` Tony Lindgren
2015-08-03 16:31 ` [PATCH 0/2] DRA7 DSP MMU config support Joerg Roedel
[not found] ` <20150803163106.GL14980-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-08-03 16:40 ` Suman Anna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55AFC34E.4000603@ti.com \
--to=s-anna-l0cymroini0@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.