vme_dma_request(9)
π vme_dma_request(9) β like, the VME DMA controller request page, bestie β¨
okay so real talk, this one lives in the Kernel API Manual, and it's the page for vme_dma_request(9). it's short, it's sweet, and it's literally the "hey kernel, can I borrow a DMA controller please π₯Ί" call. let's get into it πΈ
β¨ NAME β¨
vme_dma_request β request a DMA controller. that's it, that's the whole vibe π
π¦ SYNOPSIS π¦
struct vme_resource * vme_dma_request (struct vme_dev *vdev , u32 route );
she takes two things and gives you back a pointer to a struct vme_resource β or nothing at all. no cap π
π ARGUMENTS π
vdevβ pointer to the VME devicestruct vme_devthat's been assigned to your driver instance. like, your device. the one you're claiming π«Άrouteβ the required src/destination combination. so basically you tell her which two things you want to move data between, and she checks that combo is even a thing π
π DESCRIPTION π
okay so here's the deal: you call this when you want a VME DMA controller that actually has the capability to perform transfers between the source/destination combination you asked for in route. it's giving "matchmaker but for hardware" π
you're not configuring anything yet, you're not moving any bytes yet β you're just requesting the controller that can do the combo you want. main character energy, honestly β¨
π₯ RETURN π₯
- pointer to a VME DMA resource on success π slay
NULLon failure π (and yes, bestie, you must check for theNULLβ do not just raw-dog that pointer, i'm begging π)
π SEE ALSO π
kernel file ./drivers/staging/vme_user/vme.c, plus the whole friend group of VME functions, fr fr:
vme_alloc_consistent(9)vme_free_consistent(9)vme_get_size(9)vme_slave_request(9)vme_slave_set(9)vme_slave_get(9)vme_slave_free(9)vme_master_request(9)vme_master_set(9)vme_master_get(9)vme_master_read(9)vme_master_write(9)vme_master_rmw(9)vme_master_mmap_prepare(9)vme_master_free(9)vme_new_dma_list(9)vme_dma_pattern_attribute(9)vme_dma_pci_attribute(9)vme_dma_vme_attribute(9)vme_dma_free_attribute(9)vme_dma_list_add(9)vme_dma_list_exec(9)vme_dma_list_free(9)vme_dma_free(9)vme_irq_request(9)vme_irq_free(9)vme_irq_generate(9)vme_lm_request(9)vme_lm_count(9)vme_lm_set(9)vme_lm_get(9)vme_lm_attach(9)vme_lm_detach(9)vme_lm_free(9)vme_slot_num(9)vme_bus_num(9)vme_register_driver(9)vme_unregister_driver(9)
π‘ tiny note bestie: don't forgetvme_dma_free(9)exists for when you're done with whatevervme_dma_requesthanded you π§ that's just the list being a good friend, i'm not adding anything, promise π
and that's the page!! mwah π this one comes out of ./drivers/staging/vme_user, dated October 2026 β screenshot it, cite it, cite it in your commit message, idc, go off ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms