From: Stepan Moskovchenko <stepanm@codeaurora.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: dwalker@codeaurora.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm: msm: Add MSM IOMMU support.
Date: Fri, 06 Aug 2010 16:08:54 -0700 [thread overview]
Message-ID: <4C5C9606.7040304@codeaurora.org> (raw)
In-Reply-To: <20100806085941.GA15852@n2100.arm.linux.org.uk>
On 8/6/2010 1:59 AM, Russell King - ARM Linux wrote:
> On Fri, Aug 06, 2010 at 01:17:46AM -0700, stepanm@codeaurora.org wrote:
>> Thank you for your comments. I will apply the fixes you have mentioned. I
>> am flushing the cache when I update the page table because the page table
>> lives in regular RAM that is mapped as cacheable on the CPU side, and in
>> the default configuration the IOMMU reads the page table from RAM.
> That's fine, but use the right function.
>
>> So, I
>> have put in the flush call to give the IOMMU a coherent view of the page
>> tables. I realize it is more efficient to just flush that specific part of
>> L2, but this is just the basic version of the driver and that optimization
>> will be eventually put in.
> Here, you're talking about L2 again, but your code only touches the L1
> cache. I think you're confused about caching.
>
>> What did you mean by:
>>> Any reason you can't have some kind of struct device instead?
>> Are you referring to the clock line? As far as I understand it, the kernel
>> tracks the clocks by a string name, but I can look into it further.
> No.
>
> /**
> * clk_get - lookup and obtain a reference to a clock producer.
> * @dev: device for clock "consumer"
> * @id: clock comsumer ID
> *
> * Returns a struct clk corresponding to the clock producer, or
> * valid IS_ERR() condition containing errno. The implementation
> * uses @dev and @id to determine the clock consumer, and thereby
> * the clock producer. (IOW, @id may be identical strings, but
> * clk_get may return different clock producers depending on @dev.)
>
> The intention is that 'id' is specific to each 'dev', and identifies
> the connection on 'dev' that you want the clock for. It's the
> _consumer's_ name, nothing to do with the clock producer.
>
> There's also clk_get_sys() if you don't have a struct device.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Russell,
Thanks for the information. Getting the clock by the device as you
suggest should be fine. I believe I have addressed your other comments
as well. I've sent out a v2 patch. Please let me know what you think.
Thanks
Steve
WARNING: multiple messages have this Message-ID (diff)
From: stepanm@codeaurora.org (Stepan Moskovchenko)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: msm: Add MSM IOMMU support.
Date: Fri, 06 Aug 2010 16:08:54 -0700 [thread overview]
Message-ID: <4C5C9606.7040304@codeaurora.org> (raw)
In-Reply-To: <20100806085941.GA15852@n2100.arm.linux.org.uk>
On 8/6/2010 1:59 AM, Russell King - ARM Linux wrote:
> On Fri, Aug 06, 2010 at 01:17:46AM -0700, stepanm at codeaurora.org wrote:
>> Thank you for your comments. I will apply the fixes you have mentioned. I
>> am flushing the cache when I update the page table because the page table
>> lives in regular RAM that is mapped as cacheable on the CPU side, and in
>> the default configuration the IOMMU reads the page table from RAM.
> That's fine, but use the right function.
>
>> So, I
>> have put in the flush call to give the IOMMU a coherent view of the page
>> tables. I realize it is more efficient to just flush that specific part of
>> L2, but this is just the basic version of the driver and that optimization
>> will be eventually put in.
> Here, you're talking about L2 again, but your code only touches the L1
> cache. I think you're confused about caching.
>
>> What did you mean by:
>>> Any reason you can't have some kind of struct device instead?
>> Are you referring to the clock line? As far as I understand it, the kernel
>> tracks the clocks by a string name, but I can look into it further.
> No.
>
> /**
> * clk_get - lookup and obtain a reference to a clock producer.
> * @dev: device for clock "consumer"
> * @id: clock comsumer ID
> *
> * Returns a struct clk corresponding to the clock producer, or
> * valid IS_ERR() condition containing errno. The implementation
> * uses @dev and @id to determine the clock consumer, and thereby
> * the clock producer. (IOW, @id may be identical strings, but
> * clk_get may return different clock producers depending on @dev.)
>
> The intention is that 'id' is specific to each 'dev', and identifies
> the connection on 'dev' that you want the clock for. It's the
> _consumer's_ name, nothing to do with the clock producer.
>
> There's also clk_get_sys() if you don't have a struct device.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Russell,
Thanks for the information. Getting the clock by the device as you
suggest should be fine. I believe I have addressed your other comments
as well. I've sent out a v2 patch. Please let me know what you think.
Thanks
Steve
next prev parent reply other threads:[~2010-08-06 23:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-06 2:36 [PATCH] arm: msm: Add MSM IOMMU support Stepan Moskovchenko
2010-08-06 2:36 ` Stepan Moskovchenko
2010-08-06 7:33 ` Russell King - ARM Linux
2010-08-06 7:33 ` Russell King - ARM Linux
2010-08-06 8:17 ` stepanm
2010-08-06 8:17 ` stepanm at codeaurora.org
2010-08-06 8:59 ` Russell King - ARM Linux
2010-08-06 8:59 ` Russell King - ARM Linux
2010-08-06 23:08 ` Stepan Moskovchenko [this message]
2010-08-06 23:08 ` Stepan Moskovchenko
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=4C5C9606.7040304@codeaurora.org \
--to=stepanm@codeaurora.org \
--cc=dwalker@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
/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.