Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Difference with upstream driver #118

Open
enceladus13 opened this issue Jul 5, 2024 · 3 comments
Open

Difference with upstream driver #118

enceladus13 opened this issue Jul 5, 2024 · 3 comments

Comments

@enceladus13
Copy link

Hi,

What is the main difference of this driver with the mainline/upstream driver?

Here is the subsystem: https://github.com/torvalds/linux/tree/master/drivers/dma-buf

And here is the udmabuf.c file : https://github.com/torvalds/linux/blob/master/drivers/dma-buf/udmabuf.c

Due to the size of the files, I struggle to understand what are the differences between the 2.

Thanks in advance!

@ikwzm
Copy link
Owner

ikwzm commented Jul 5, 2024

They are quite different.

@enceladus13
Copy link
Author

Hi!

Could you be a bit more specific? I have a project where I need to access from userspace DMA capable RAM and your driver seems like a good fit. I am trying to understand though what is the main difference with the already upstreamed driver.

I understand that the upstream driver is a full subsystem that can be used by other kernel subsystems. What is the main difference that makes this more suitable though? Because I saw this udmabuf.c file and I am trying to understand if in the end the kernel driver already offers what this driver offers

@ikwzm
Copy link
Owner

ikwzm commented Jul 5, 2024

Sorry, I don't know much about udmabuf that is upstreamed to the mainline.

My driver was released in 2015 under the name udmabuf.
The purpose of my driver is to allocate contiguous blocks of memory in kernel space as DMA buffers and make them available from user space.

After that, Linux Kernel 4.20, released in 2018, added udmabuf, which has the same name but a different functionality.
I don't know much about what this newly added udmabuf does.
However, having the same name is bad enough, so I renamed my driver from udmabuf to u-dma-buf.

If you want to know the difference between these two drivers, please examine the udmabuf upstreamed to the mainline yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants