aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/virtio/virtio_ring.c
AgeCommit message (Expand)AuthorFilesLines
10 daysvirtio_ring: enable premapped mode whatever use_dma_apiXuan Zhuo1-6/+1
2024-03-19virtio: packed: fix unmap leak for indirect desc tableXuan Zhuo1-3/+3
2023-12-04virtio_ring: fix syncs DMA memory with different directionXuan Zhuo1-4/+2
2023-09-03virtio_ring: fix avail_wrap_counter in virtqueue_add_packedYuan Yao1-1/+1
2023-09-03virtio_ring: introduce dma sync api for virtqueueXuan Zhuo1-0/+76
2023-09-03virtio_ring: introduce dma map api for virtqueueXuan Zhuo1-0/+69
2023-09-03virtio_ring: introduce virtqueue_reset()Xuan Zhuo1-0/+33
2023-09-03virtio_ring: separate the logic of reset/enable from virtqueue_resizeXuan Zhuo1-19/+39
2023-09-03virtio_ring: correct the expression of the description of virtqueue_resize()Xuan Zhuo1-1/+1
2023-09-03virtio_ring: skip unmap for premappedXuan Zhuo1-14/+28
2023-09-03virtio_ring: introduce virtqueue_dma_dev()Xuan Zhuo1-0/+17
2023-09-03virtio_ring: support add premapped bufXuan Zhuo1-2/+17
2023-09-03virtio_ring: introduce virtqueue_set_dma_premapped()Xuan Zhuo1-0/+53
2023-09-03virtio_ring: put mapping error check in vring_map_one_sgXuan Zhuo1-15/+22
2023-09-03virtio_ring: check use_dma_api before unmap desc for indirectXuan Zhuo1-2/+4
2023-04-21virtio: add VIRTIO_F_NOTIFICATION_DATA feature supportViktor Prutyanov1-0/+19
2023-04-21virtio_ring: don't update event idx on get_bufAlbert Huang1-6/+16
2023-04-21virtio_ring: Use const to annotate read-only pointer paramsFeng Liu1-18/+18
2023-04-21virtio_ring: Avoid using inline for small functionsFeng Liu1-7/+7
2023-02-20virtio_ring: per virtqueue dma deviceJason Wang1-40/+93
2022-12-28virtio_ring: use helper function is_power_of_2()Shaoqin Huang1-1/+1
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+9
2022-10-07virtio_ring: make vring_alloc_queue_packed prettierDeming Wang1-3/+3
2022-10-07virtio_ring: split: Operators use unified styleDeming Wang1-1/+1
2022-10-03virtio: kmsan: check/unpoison scatterlist in vring_map_one_sg()Alexander Potapenko1-1/+9
2022-08-16virtio: kerneldocs fixes and enhancementsRicardo CaƱuelo1-0/+8
2022-08-11virtio_ring: struct virtqueue introduce resetXuan Zhuo1-0/+2
2022-08-11virtio: allow to unbreak/break virtqueue individuallyXuan Zhuo1-0/+24
2022-08-11virtio_ring: introduce virtqueue_resize()Xuan Zhuo1-0/+69
2022-08-11virtio_ring: packed: introduce virtqueue_resize_packed()Xuan Zhuo1-0/+30
2022-08-11virtio_ring: packed: introduce virtqueue_reinit_packed()Xuan Zhuo1-0/+12
2022-08-11virtio_ring: packed: extract the logic of attach vringXuan Zhuo1-15/+10
2022-08-11virtio_ring: packed: extract the logic of vring initXuan Zhuo1-11/+17
2022-08-11virtio_ring: packed: extract the logic of alloc state and extraXuan Zhuo1-14/+34
2022-08-11virtio_ring: packed: extract the logic of alloc queueXuan Zhuo1-29/+51
2022-08-11virtio_ring: packed: introduce vring_free_packedXuan Zhuo1-0/+22
2022-08-11virtio_ring: split: introduce virtqueue_resize_split()Xuan Zhuo1-0/+34
2022-08-11virtio_ring: split: reserve vring_align, may_reduce_numXuan Zhuo1-0/+10
2022-08-11virtio_ring: split: introduce virtqueue_reinit_split()Xuan Zhuo1-0/+23
2022-08-11virtio_ring: split: extract the logic of attach vringXuan Zhuo1-13/+10
2022-08-11virtio_ring: split: extract the logic of vring initXuan Zhuo1-10/+21
2022-08-11virtio_ring: split: extract the logic of alloc state and extraXuan Zhuo1-16/+36
2022-08-11virtio_ring: split: extract the logic of alloc queueXuan Zhuo1-25/+40
2022-08-11virtio_ring: split: introduce vring_free_split()Xuan Zhuo1-0/+11
2022-08-11virtio_ring: split: __vring_new_virtqueue() accept struct vring_virtqueue_splitXuan Zhuo1-14/+15
2022-08-11virtio_ring: split: stop __vring_new_virtqueue as export symbolXuan Zhuo1-9/+16
2022-08-11virtio_ring: introduce virtqueue_init()Xuan Zhuo1-16/+22
2022-08-11virtio_ring: split vring_virtqueueXuan Zhuo1-56/+60
2022-08-11virtio_ring: extract the logic of freeing vringXuan Zhuo1-5/+13
2022-08-11virtio_ring: update the document of the virtqueue_detach_unused_buf for queue...Xuan Zhuo1-2/+2
2022-08-11virtio_ring: remove the arg vq of vring_alloc_desc_extra()Xuan Zhuo1-4/+3
2022-06-27virtio_ring: make vring_create_virtqueue_split prettierDeming Wang1-1/+1
2022-06-24virtio: disable notification hardening by defaultJason Wang1-0/+12
2022-06-24virtio_ring : keep used_wrap_counter in vq->last_used_idxhuangjie.albert1-28/+47
2022-05-31virtio: harden vring IRQJason Wang1-4/+7
2022-05-31virtio: allow to unbreak virtqueueJason Wang1-0/+22
2022-05-31virtio: Replace unsigned with unsigned intSolomon Tan1-6/+6
2022-05-31virtio_ring: add unlikely annotation for free descs checkXianting Tian1-1/+1
2022-05-31virtio_ring: remove unnecessary to_vvq call in vring hot pathXianting Tian1-5/+3
2022-03-28virtio_ring: remove flags check for unmap packed indirect descXuan Zhuo1-13/+5
2022-03-28virtio_ring: remove flags check for unmap split indirect descXuan Zhuo1-13/+5
2022-03-28virtio_ring: rename vring_unmap_state_packed() to vring_unmap_extra_packed()Xuan Zhuo1-9/+8
2022-01-14virtio_ring: mark ring unused on errorMichael S. Tsirkin1-1/+3
2021-12-08virtio_ring: Fix querying of maximum DMA mapping size for virtio deviceWill Deacon1-1/+1
2021-11-24Revert "virtio_ring: validate used buffer length"Michael S. Tsirkin1-60/+0
2021-11-01virtio_ring: validate used buffer lengthJason Wang1-0/+60
2021-11-01virtio_ring: fix typos in vring_desc_extraJason Wang1-2/+2
2021-11-01virtio_ring: check desc == NULL when using indirect with packedXuan Zhuo1-3/+11
2021-11-01virtio_ring: make virtqueue_add_indirect_packed prettierXuan Zhuo1-6/+6
2021-10-27virtio-ring: fix DMA metadata flagsVincent Whitchurch1-1/+1
2021-08-11virtio_ring: pull in spinlock headerMichael S. Tsirkin1-0/+1
2021-08-10virtio: Protect vqs list accessParav Pandit1-0/+8
2021-08-10virtio: Keep vring_del_virtqueue() mirror of VQ createParav Pandit1-1/+2
2021-08-10virtio: Improve vq->broken access to avoid any compiler optimizationParav Pandit1-2/+4
2021-07-08virtio-ring: store DMA metadata in desc_extra for split virtqueueJason Wang1-25/+87
2021-07-08virtio: use err label in __vring_new_virtqueue()Jason Wang1-4/+6
2021-07-08virtio_ring: introduce virtqueue_desc_add_split()Jason Wang1-15/+24
2021-07-08virtio_ring: secure handling of mapping errorsJason Wang1-1/+4
2021-07-08virtio-ring: factor out desc_extra allocationJason Wang1-10/+20
2021-07-08virtio_ring: rename vring_desc_extra_packedJason Wang1-5/+5
2021-07-08virtio-ring: maintain next in extra state for packed virtqueueJason Wang1-7/+8
2021-07-03virtio: fix up virtio_disable_cbMichael S. Tsirkin1-1/+25
2021-07-03virtio_ring: Fix kernel-docYang Li1-1/+1
2020-12-18virtio_ring: Fix two use after free bugsDan Carpenter1-2/+2
2020-12-18virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()Dan Carpenter1-2/+2
2020-08-11Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-2/+5
2020-08-05virtio_ring: Avoid loop when vq is broken in virtqueue_pollMao Wenan1-0/+3
2020-08-03virtio: virtio_has_iommu_quirk -> virtio_has_dma_quirkMichael S. Tsirkin1-1/+1
2020-08-03virtio: VIRTIO_F_IOMMU_PLATFORM -> VIRTIO_F_ACCESS_PLATFORMMichael S. Tsirkin1-1/+1
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-3/+3
2020-03-08virtio_ring: Fix mem leak with vring_new_virtqueue()Suman Anna1-2/+2
2019-11-19virtio_ring: fix return code on DMA mapping failsHalil Pasic1-2/+2
2019-10-28virtio_ring: fix stalls for packed ringsMarvin Liu1-4/+3
2019-09-09virtio_ring: fix unmap of indirect descriptorsMatthias Lange1-2/+6
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102Thomas Gleixner1-14/+1
2019-05-12virtio/virtio_ring: do some comment fixesJiang Biao1-13/+14
2019-05-12virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packedYueHaibing1-0/+1
2019-04-08virtio: Honour 'may_reduce_num' in vring_create_virtqueueCornelia Huck1-0/+2
2019-03-06virtio: Introduce virtio_max_dma_size()Joerg Roedel1-0/+11
2019-02-05virtio: drop internal struct from UAPIMichael S. Tsirkin1-1/+6
2019-01-24virtio: support VIRTIO_F_ORDER_PLATFORMTiwei Bie1-0/+8
2018-11-26virtio_ring: advertize packed ring layoutTiwei Bie1-0/+2
2018-11-26virtio_ring: leverage event idx in packed ringTiwei Bie1-6/+71
2018-11-26virtio_ring: introduce packed ring supportTiwei Bie1-30/+870
2018-11-26virtio_ring: cache whether we will use DMA APITiwei Bie1-4/+8
2018-11-26virtio_ring: extract split ring handling from ring creationTiwei Bie1-99/+121
2018-11-26virtio_ring: allocate desc state for split ring separatelyTiwei Bie1-18/+27
2018-11-26virtio_ring: introduce helper for indirect featureTiwei Bie1-3/+13
2018-11-26virtio_ring: introduce debug helpersTiwei Bie1-22/+27
2018-11-26virtio_ring: put split ring fields in a sub structTiwei Bie1-65/+91
2018-11-26virtio_ring: put split ring functions togetherTiwei Bie1-254/+271
2018-11-26virtio_ring: add _split suffix for split ring functionsTiwei Bie1-96/+155
2018-06-12treewide: kmalloc() -> kmalloc_array()Kees Cook1-1/+1
2018-04-05headers: untangle kmemleak.h from mm.hRandy Dunlap1-1/+0
2018-03-01virtio_ring: fix num_free handling in error caseTiwei Bie1-2/+0
2017-09-07Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-2/+3
2017-08-24scsi: virtio: Reduce BUG if total_sg > virtqueue size to WARN.Richard W.M. Jones1-2/+3
2017-07-24virtio_ring: allow to store zero as the ctxJason Wang1-1/+1
2017-05-02virtio: allow extra context per descriptorMichael S. Tsirkin1-13/+57
2017-05-02virtio: add context flag to find vqsMichael S. Tsirkin1-2/+5
2017-02-03Revert "vring: Force use of DMA API for ARM-based systems with legacy devices"Michael S. Tsirkin1-7/+0
2017-01-25vring: Force use of DMA API for ARM-based systems with legacy devicesWill Deacon1-0/+7
2016-12-16virtio_ring: fix description of virtqueue_get_bufFelipe Franciosi1-1/+1
2016-12-15virtio_ring: fix complaint by sparseGonglei1-2/+2
2016-10-31virtio_ring: mark vring_dma_dev inlineMichael S. Tsirkin1-1/+1
2016-10-31virtio_ring: Make interrupt suppression spec compliantLadi Prosek1-5/+9
2016-09-09virtio: mark vring_dma_dev() staticBaoyou Xie1-1/+1
2016-08-09virtio: fix error handling for debug buildsMichael S. Tsirkin1-0/+1
2016-08-09virtio: fix memory leak in virtqueue_add()Wei Yongjun1-0/+2
2016-08-01virtio: new feature to detect IOMMU device quirkMichael S. Tsirkin1-1/+14
2016-05-01virtio: Silence uninitialized variable warningDan Carpenter1-1/+1
2016-03-02vring: Use the DMA API on XenAndy Lutomirski1-0/+12
2016-03-02virtio: Add improved queue allocation APIAndy Lutomirski1-30/+179
2016-03-02virtio_ring: Support DMA APIsAndy Lutomirski1-35/+165
2016-03-02vring: Introduce vring_use_dma_api()Andy Lutomirski1-0/+24
2016-01-12virtio_ring: use virt_store_mbMichael S. Tsirkin1-6/+9
2015-12-07virtio_ring: shadow available ring flags & indexVenkatesh Srinivas1-12/+34
2015-12-07virtio: Do not drop __GFP_HIGH in alloc_indirectMichal Hocko1-1/+1
2015-02-11virtio: Avoid possible kernel panic if DEBUG is enabled.Tetsuo Handa1-3/+3
2015-01-21virtio_ring: coding style fixMichael S. Tsirkin1-2/+1
2014-12-09virtio: make VIRTIO_F_VERSION_1 a transport bitMichael S. Tsirkin1-0/+2
2014-12-09virtio: allow transports to get avail/used addressesCornelia Huck1-0/+16
2014-12-09virtio_ring: switch to new memory access APIsMichael S. Tsirkin1-44/+45
2014-12-09virtio: use u32, not bitmap for featuresMichael S. Tsirkin1-1/+1
2014-09-13virtio_ring: unify direct/indirect code paths.Rusty Russell1-76/+52
2014-09-13virtio_ring: assume sgs are always well-formed.Rusty Russell1-49/+19
2014-04-28virtio: virtio_break_device() to mark all virtqueues broken.Rusty Russell1-0/+15
2014-03-13virtio: fail adding buffer on broken queues.Rusty Russell1-3/+8
2014-03-13tools/virtio: fix missing kmemleak_ignore symbolJoel Stanley1-0/+1
2013-11-05virtio_ring: adapt to notify() returning boolHeinz Graalfs1-1/+1
2013-10-29virtio_ring: add new function virtqueue_is_broken()Heinz Graalfs1-0/+8
2013-10-29virtio_ring: let virtqueue_{kick()/notify()} return a boolHeinz Graalfs1-4/+16
2013-10-29virtio_ring: change host notification APIHeinz Graalfs1-2/+2
2013-10-17virtio_ring: plug kmemleak false positive.Rusty Russell1-0/+2
2013-07-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-nextLinus Torvalds1-12/+44
2013-07-09virtio: support unlocked queue pollMichael S. Tsirkin1-12/+44
2013-05-20virtio: remove virtqueue_add_buf().Rusty Russell1-34/+3
2013-03-20virtio_ring: virtqueue_add_outbuf / virtqueue_add_inbuf.Rusty Russell1-0/+44
2013-03-20virtio_ring: virtqueue_add_sgs, to add multiple sgs.Rusty Russell1-63/+157
2013-03-20virtio_ring: expose virtio barriers for use in vringh.Rusty Russell1-27/+6
2012-12-18virtio: make virtqueue_add_buf() returning 0 on success, not capacity.Rusty Russell1-5/+2
2012-12-18virtio: move queue_index and num_free fields into core struct virtqueue.Rusty Russell1-23/+11
2012-10-22virtio: force vring descriptors to be allocated from lowmemWill Deacon1-0/+7
2012-09-28virtio-ring: move queue_index to vring_virtqueueJason Wang1-1/+13
2012-01-28virtio: correct the memory barrier in virtqueue_kick_prepare()Jason Wang1-3/+3
2012-01-28virtio: fix typos of memory barriersJason Wang1-1/+1
2012-01-12virtio: add debugging if driver doesn't kick.Rusty Russell1-0/+31
2012-01-12virtio: expose added descriptors immediately.Rusty Russell1-6/+14
2012-01-12virtio: avoid modulus operation.Rusty Russell1-4/+6
2012-01-12virtio: support unlocked queue kickRusty Russell1-12/+48
2012-01-12virtio: rename virtqueue_add_buf_gfp to virtqueue_add_bufRusty Russell1-11/+11
2012-01-12virtio: document functions better.Rusty Russell1-1/+91
2012-01-12virtio: harsher barriers for rpmsg.Rusty Russell1-13/+21
2011-10-31virtio: Add module.h to drivers/virtio users.Paul Gortmaker1-0/+1
2011-10-24Add ethtool -g support to virtio_netRick Jones1-0/+10
2011-05-30virtio: add api for delayed callbacksMichael S. Tsirkin1-0/+27
2011-05-30virtio_ring: support event idx featureMichael S. Tsirkin1-2/+24
2011-04-21virtio: Decrement avail idx on buffer detachAmit Shah1-0/+1
2010-11-24virtio: return correct capacity to usersMichael S. Tsirkin1-3/+0
2010-07-26virtio: fix oops on OOMMichael S. Tsirkin1-2/+3
2010-06-23virtio: return ENOMEM on out of memoryMichael S. Tsirkin1-1/+1
2010-05-19virtio: add_buf_gfpMichael S. Tsirkin1-9/+11
2010-05-19virtio_ring: remove a level of indirectionMichael S. Tsirkin1-20/+16
2010-03-30include cleanup: Update gfp.h and slab.h includes to prepare for breaking imp...Tejun Heo1-0/+1
2010-02-24virtio: Initialize vq->data entries to NULLAmit Shah1-1/+4
2010-02-24virtio: Add ability to detach unused buffers from vringsShirley Ma1-0/+25
2010-02-24virtio: use smp_XX barriers on SMPMichael S. Tsirkin1-4/+22
2010-02-24virtio: remove bogus barriers from DEBUG version of virtio_ring.cRusty Russell1-2/+1
2009-10-29virtio: order used ring after used index readMichael S. Tsirkin1-0/+3
2009-09-23virtio: make add_buf return capacity remainingRusty Russell1-1/+5
2009-06-12virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)Mark McLoughlin1-2/+73
2009-06-12virtio: add names to virtqueue struct, mapping from devices to queues.Rusty Russell1-7/+20
2009-03-30virtio: more neatening of virtio_ring macros.Rusty Russell1-3/+9
2009-03-30virtio: fix BAD_RING, START_US and END_USE macrosRoel Kluin1-8/+8
2008-12-30virtio: hand virtio ring alignment as argument to vring_new_virtqueueRusty Russell1-1/+2
2008-07-25virtio: Add transport feature handling stub for virtio_ring.Rusty Russell1-0/+16
2008-07-25virtio: don't always force a notification when ring is fullRusty Russell1-2/+5
2008-05-30virtio: force callback on empty.Rusty Russell1-7/+0
2008-05-30virtio_net: another race with virtio_net and enable_cbChristian Borntraeger1-1/+0
2008-05-02virtio: ignore corrupted virtqueues rather than spinning.Rusty Russell1-0/+5