[lkml]   [2010]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRE: [PATCH 8/9] dspbridge: add map support for big buffers

    Hi Hari,

    > -----Original Message-----
    > From: Kanigeri, Hari
    > Sent: Thursday, July 01, 2010 6:36 PM
    > To: Guzman Lugo, Fernando;; linux-
    > Cc:;;;
    >; Guzman Lugo, Fernando
    > Subject: RE: [PATCH 8/9] dspbridge: add map support for big buffers
    > Fernando,
    > > - for_each_sg(sgt->sgl, sg, sgt->nents, i)
    > > - sg_set_page(sg, usr_pgs[i], PAGE_SIZE, 0);
    > > + da = iommu_vmap(mmu, da, sgt, IOVMF_ENDIAN_LITTLE |
    > > + IOVMF_ELSZ_32);
    > -- iommu_vmap does the Kernel mapping to the buffers you are mapping to
    > DSP MMU. Why do you need Kernel mappings ?
    > If there is no benefit in maintaining Kernel mapping I would rather call
    > iopgtable_store_entry directly to map the entries.

    Where inside iommu_vmap is the mapping done? I thought the kernel can access to that buffer after get_user_pages() where the user pages are pin and we can get a kernel address. The intention using iommu_vmap was to use api's proved by the iovmmu module. iommu_vmap() it is also tracking the mapped areas, so maybe the next step could be: remove dmm.c/h files and also proc_reserve/unreserved functions. If you think the function is unneeded steps and could affect the performance I can do the change to use only iopgtable_store_entry().

    I think a kernel mapping is needed for flush/invalidate api's, please correct me if I am wrong.


    > Thank you,
    > Best regards, Hari

     \ /
      Last update: 2010-07-02 18:29    [W:0.024 / U:6.116 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site