Hi Hiroshi, Fernando, On Tue, Mar 8, 2011 at 8:53 PM, Guzman Lugo, Fernando <fernando.lugo@xxxxxx> wrote: > On Tue, Mar 8, 2011 at 12:09 PM, Hiroshi DOYU <Hiroshi.DOYU@xxxxxxxxx> wrote: >> From: "ext Guzman Lugo, Fernando" <fernando.lugo@xxxxxx> >> Subject: Re: [PATCH 3/3] omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED/IOVMF_DA_ANON flags >> Date: Tue, 8 Mar 2011 11:59:43 -0600 >> >>> On Tue, Mar 8, 2011 at 6:46 AM, David Cohen <dacohen@xxxxxxxxx> wrote: >>>> Currently IOVMM driver sets IOVMF_DA_FIXED/IOVMF_DA_ANON flags according >>>> to input 'da' address when mapping memory: >>>> da == 0: IOVMF_DA_ANON >>>> da != 0: IOVMF_DA_FIXED >>>> >>>> It prevents IOMMU to map first page with fixed 'da'. To avoid such >>>> issue, IOVMM will not automatically set IOVMF_DA_FIXED. It should now >>>> come from the user. IOVMF_DA_ANON will be automatically set if >>>> IOVMF_DA_FIXED isn't set. >>>> >>>> Signed-off-by: David Cohen <dacohen@xxxxxxxxx> >>>> --- >>>> Âarch/arm/plat-omap/iovmm.c | Â 12 ++++++++---- >>>> Â1 files changed, 8 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c >>>> index 11c9b76..dde9cb0 100644 >>>> --- a/arch/arm/plat-omap/iovmm.c >>>> +++ b/arch/arm/plat-omap/iovmm.c >>>> @@ -654,7 +654,8 @@ u32 iommu_vmap(struct iommu *obj, u32 da, const struct sg_table *sgt, >>>> Â Â Â Âflags &= IOVMF_HW_MASK; >>>> Â Â Â Âflags |= IOVMF_DISCONT; >>>> Â Â Â Âflags |= IOVMF_MMIO; >>>> - Â Â Â flags |= (da ? IOVMF_DA_FIXED : IOVMF_DA_ANON); >>>> + Â Â Â if (~flags & IOVMF_DA_FIXED) >>>> + Â Â Â Â Â Â Â flags |= IOVMF_DA_ANON; >>> >>> could we use only one? both are mutual exclusive, what happen if flag >>> is IOVMF_DA_FIXED | IOVMF_DA_ANON? so, I suggest to get rid of >>> IOVMF_DA_ANON. >> >> Then, what about introducing some MACRO? Better names? >> >> #define set_iovmf_da_anon(flags) >> #define set_iovmf_da_fix(flags) >> #define set_iovmf_mmio(flags) > > will they be used by the users? > > I think people are more used to use > > iommu_vmap(obj, da, sgt, IOVMF_MMIO | IOVMF_DA_ANON); I'd be happier with this approach, instead of the macros. :) It's intuitive and very common on kernel. > > than > > set_iovmf_da_anon(flags) > set_iovmf_mmio(flags) > iommu_vmap(obj, da, sgt, flags); > > I don't have problem with the change, but I think how it is now is ok, > just that we don't we two bits to handle anon/fixed da, it can be > managed it only 1 bit (one flag), or is there a issue? We can exclude IOVMF_DA_ANON and stick with IOVMF_DA_FIXED only. I can resend my patch if we agree it's OK. Regards, David > > Regards, > Fernando. >> ...... >> > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html