On 05/31/2018 10:41 AM, Oleksandr Andrushchenko wrote: > On 05/31/2018 08:51 AM, Oleksandr Andrushchenko wrote: >> On 05/31/2018 04:46 AM, Boris Ostrovsky wrote: >>> >>> >>> On 05/25/2018 11:33 AM, Oleksandr Andrushchenko wrote: >>> >>>> >>>> Oleksandr Andrushchenko (8): >>>> xen/grant-table: Make set/clear page private code shared >>>> xen/balloon: Move common memory reservation routines to a module >>>> xen/grant-table: Allow allocating buffers suitable for DMA >>>> xen/gntdev: Allow mappings for DMA buffers >>>> xen/gntdev: Add initial support for dma-buf UAPI >>>> xen/gntdev: Implement dma-buf export functionality >>>> xen/gntdev: Implement dma-buf import functionality >>>> xen/gntdev: Expose gntdev's dma-buf API for in-kernel use >>>> >>>> drivers/xen/Kconfig | 23 + >>>> drivers/xen/Makefile | 1 + >>>> drivers/xen/balloon.c | 71 +-- >>>> drivers/xen/gntdev.c | 1025 >>>> ++++++++++++++++++++++++++++++++- >>> >>> >>> I think this calls for gntdev_dma.c. >> I assume you mean as a separate file (part of gntdev driver)? >>> I only had a quick look over gntdev changes but they very much are >>> concentrated in dma-specific routines. >>> >> I tried to do that, but there are some dependencies between the >> gntdev.c and gntdev_dma.c, >> so finally I decided to put it all together. >>> You essentially only share file_operations entry points with >>> original gntdev code, right? >>> >> fops + mappings done by gntdev (struct grant_map) and I need to >> release map on dma_buf .release >> callback which makes some cross-dependencies between modules which >> seemed to be not cute >> (gntdev keeps its all structs and functions inside, so I cannot >> easily access those w/o >> helpers). >> >> But I'll try one more time and move all DMA specific stuff into >> gntdev_dma.c > Could you please take a quick look at the way I re-structured the > sources here [1]? > If this is what you meant. I looked at final gntdev.c code and I think at least one of the chunks there ("DMA buffer export support. ") can also be moved out. It still have a bit too many ifdefs but it looks better to my eye than jamming everything into a single file (and I think more code can be moved out, but we can talk about it when you post the patches so that we can see context). BTW, I believe it won't build with !CONFIG_XEN_GNTDEV_DMABUF --- gntdev_remove_map() is defined under this option and is referenced later without it. -boris > > Thank you, > Oleksandr >>> -boris >>> >> Thank you, >> Oleksandr >>> >>>> drivers/xen/grant-table.c | 176 +++++- >>>> drivers/xen/mem-reservation.c | 134 +++++ >>>> include/uapi/xen/gntdev.h | 106 ++++ >>>> include/xen/grant_dev.h | 37 ++ >>>> include/xen/grant_table.h | 28 + >>>> include/xen/mem_reservation.h | 29 + >>>> 10 files changed, 1527 insertions(+), 103 deletions(-) >>>> create mode 100644 drivers/xen/mem-reservation.c >>>> create mode 100644 include/xen/grant_dev.h >>>> create mode 100644 include/xen/mem_reservation.h >>>> >> > [1] > https://github.com/andr2000/linux/commits/xen_tip_linux_next_xen_dma_buf_v2 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel