After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 783417 - Add physical memory allocator base class in badallocator
Add physical memory allocator base class in badallocator
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-06-05 05:25 UTC by Haihua Hu
Modified: 2018-11-03 14:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add physical memory allocator base class (12.92 KB, patch)
2017-06-05 05:26 UTC, Haihua Hu
reviewed Details | Review
Add implement of interface "get_phys_addr" to support directviv upload (1.51 KB, patch)
2017-06-05 05:26 UTC, Haihua Hu
none Details | Review

Description Haihua Hu 2017-06-05 05:25:18 UTC
These patch can provide a base framework of physical memory allocator which can be used in eg imx6 soc for vpu allocator or g2d allocator.
Comment 1 Haihua Hu 2017-06-05 05:26:07 UTC
Created attachment 353161 [details] [review]
Add physical memory allocator base class
Comment 2 Haihua Hu 2017-06-05 05:26:48 UTC
Created attachment 353162 [details] [review]
Add implement of interface "get_phys_addr" to support directviv upload
Comment 3 Sebastian Dröge (slomo) 2017-06-06 06:49:50 UTC
Review of attachment 353161 [details] [review]:

::: gst-libs/gst/allocators/gstallocatorphymem.h
@@ +40,3 @@
+  guint8 *caddr;
+  gsize size;
+  gpointer *user_data;

This is all very specific to how things work on imx6. As such it should live in some imx6 specific library, probably just stay in the gstreamer-imx ( https://github.com/Freescale/gstreamer-imx/ ) repository and be installed as a library from there. The reason why I went with an interface instead of an actual allocator is that this is always going to be very platform specific, and there's probably not going to be much common functionality to share.
Comment 4 Haihua Hu 2017-06-22 06:17:07 UTC
(In reply to Sebastian Dröge (slomo) from comment #3)
> Review of attachment 353161 [details] [review] [review]:
> 
> ::: gst-libs/gst/allocators/gstallocatorphymem.h
> @@ +40,3 @@
> +  guint8 *caddr;
> +  gsize size;
> +  gpointer *user_data;
> 
> This is all very specific to how things work on imx6. As such it should live
> in some imx6 specific library, probably just stay in the gstreamer-imx (
> https://github.com/Freescale/gstreamer-imx/ ) repository and be installed as
> a library from there. The reason why I went with an interface instead of an
> actual allocator is that this is always going to be very platform specific,
> and there's probably not going to be much common functionality to share.

It's not specific usage. This is an abstract class for phymem allocator, we derived some phymem allocator from this class such VPU allocator and g2d allocator. These two allocators are specific usage.
Comment 5 Sebastian Dröge (slomo) 2017-06-22 08:55:00 UTC
Those are all on imx6, so the same hardware in the end. Why would everything using some form of physical memory have 3 pointers, vaddr/paddr/caddr, and what do they mean? For the imx6 you also only have the virtual address and physical address, or also the 3rd? Generally the kernel should also be able to map between virtual and physical address, so having all in there could be redundant on other platforms.
Comment 6 GStreamer system administrator 2018-11-03 14:09:13 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/563.