↑back Search ←Prev date Next date→ Show only urls | (Click on time to select a line by its url) |
Who | What | When |
---|---|---|
*** | kbingham has quit IRC (*.net *.split)
cybrNaut has quit IRC (*.net *.split) ribalda has quit IRC (*.net *.split) mripard has quit IRC (*.net *.split) | [05:21] |
........................................... (idle for 3h34mn) | ||
smartin has quit IRC (Quit: leaving) | [08:55] | |
....................... (idle for 1h50mn) | ||
felipebalbi has left | [10:45] | |
................................... (idle for 2h53mn) | ||
awalls has left | [13:38] | |
...... (idle for 28mn) | ||
sailus | mchehab: Boa tarde! | [14:06] |
................... (idle for 1h34mn) | ||
downwater | hello, it seems that ma webcam has a random framerate... In most case, it's "average", but sometimes i got a very good framerate (Slackware64 14.2, Trust Full HD Webcam Webcam couleur audio Hi-Speed USB)
the framerate seems to change only when I boot the pc | [15:40] |
............................................................. (idle for 5h1mn) | ||
*** | hverkuil has left | [20:41] |
hverkuil has left
hverkuil_ has left | [20:49] | |
Marex | Hi, I have a proposal for a new V4L capture device here on my desk
I presume the best way to make it behave is to support DMABUF API, right ? aka. get buffers from somewhere, enqueue them into the device, let the device populate those with frames and then pass those buffers further to wherever they are needed next | [20:58] |
andrey_utkin | Hi Marex, what is your device? Do you want to develop driver by yourself? | [21:00] |
Marex | my device is a capture device design in an FPGA (still in development, so can be modified to fit)
and yes, the target is to develop a driver and upstream it this is just a good time to do the right decisions :) | [21:01] |
andrey_utkin: hehe, I am just looking for confirmation of my understanding right now | [21:07] | |
andrey_utkin | andrey_utkin, well describe your device first :) | [21:08] |
Marex | andrey_utkin: I worked with the MX6 IPU and VPU as well, so I have a general idea how things work | [21:08] |
andrey_utkin | s/andrey_utkin/Marex/ :)
if your device is USB-connected, then there's no DMA at all :) if it's PCI* - DMA makes sense :) | [21:08] |
Marex | well that is kinda difficult if the device itself is still in development and it can be adjusted such that it fits the best practice
it's mmaped and can do DMA | [21:09] |
andrey_utkin | describe what is known :) like, purpose of device
usecase, specs | [21:09] |
Marex | I'd rather get a simple answer to a question -- is DMABUF the best option for a capture device ?
andrey_utkin: think of it as a simple camera which can write to your DMA-ble DRAM areas | [21:10] |
andrey_utkin | unsure what to tell you. Maybe VB2_DMABUF or VB2_MMAP flags are of interest for you, I don't know exactly how they work, I guess they involve DMA exchange between driver and consuming process. But there's a chance that what you really want is just DMA exchange between device and your driver.
in that case you need to use functions dma_alloc_coherent(), dma_sync_single_for_cpu()/dma_sync_single_for_device() and that's it | [21:17] |
Marex | andrey_utkin: so I guess DMABUF it is, that'll provide me with a DMAble buffer which can be populated by the hardware
andrey_utkin: mind you, I do not have "remote memory" (aka. memory with frames from which I need to DMA into DRAM), I only have DRAM andrey_utkin: DMABUF should handle the cache coherency issues internally | [21:20] |
andrey_utkin | Marex, i haven't used dma_buf_* api yet, but actually you can "utilize DMA" without this api, just with functions i've mentioned above | [21:21] |
Marex | andrey_utkin: I do not need to do DMA from remote memory to local memory | [21:24] |
andrey_utkin | what's remote memory? | [21:24] |
Marex | andrey_utkin: so while yes, one can trigger DMA transfers like that, I do not need to do those at all
andrey_utkin: that's a memory on some remote device (not the CPU) | [21:25] |
andrey_utkin | i haven't talked about device's private memory | [21:25] |
Marex | andrey_utkin: what do you mean by "device's private memory" ?
you can do DMA into the device's registers as well in certain cases | [21:28] |
andrey_utkin | the same what you mean by "that's a memory on some remote device (not the CPU)"
DMA into registers... define "registers" then :) | [21:28] |
Marex | from the DMA controller's perspective, it's all the same, be it some remote memory or registers or whatnot, it just sends bursts of bus transactions
PC is a little weird in that | [21:31] |
↑back Search ←Prev date Next date→ Show only urls | (Click on time to select a line by its url) |