Home | History | Annotate | Download | only in pci

Lines Matching refs:virtio_softc

74 	struct virtio_softc	*vq_owner;
127 typedef int (*virtio_callback)(struct virtio_softc*);
131 void (*kick)(struct virtio_softc *, uint16_t);
132 uint16_t (*read_queue_size)(struct virtio_softc *, uint16_t);
133 void (*setup_queue)(struct virtio_softc *, uint16_t, uint64_t);
134 void (*set_status)(struct virtio_softc *, int);
135 void (*neg_features)(struct virtio_softc *, uint64_t);
136 int (*alloc_interrupts)(struct virtio_softc *);
137 void (*free_interrupts)(struct virtio_softc *);
138 int (*setup_interrupts)(struct virtio_softc *, int);
141 struct virtio_softc {
177 struct virtio_softc;
181 /* interrupt types, stored in virtio_softc->sc_flags */
188 void virtio_negotiate_features(struct virtio_softc*, uint64_t);
190 uint8_t virtio_read_device_config_1(struct virtio_softc *, int);
191 uint16_t virtio_read_device_config_2(struct virtio_softc *, int);
192 uint32_t virtio_read_device_config_4(struct virtio_softc *, int);
193 uint64_t virtio_read_device_config_8(struct virtio_softc *, int);
194 uint16_t virtio_read_device_config_le_2(struct virtio_softc *, int);
195 uint32_t virtio_read_device_config_le_4(struct virtio_softc *, int);
196 void virtio_write_device_config_1(struct virtio_softc *, int, uint8_t);
197 void virtio_write_device_config_2(struct virtio_softc *, int, uint16_t);
198 void virtio_write_device_config_4(struct virtio_softc *, int, uint32_t);
199 void virtio_write_device_config_8(struct virtio_softc *, int, uint64_t);
200 void virtio_write_device_config_le_2(struct virtio_softc *, int, uint16_t);
201 void virtio_write_device_config_le_4(struct virtio_softc *, int, uint32_t);
203 void virtio_init_vq(struct virtio_softc *, struct virtqueue *, int,
205 void virtio_init_vq_vqdone(struct virtio_softc *,struct virtqueue *, int,
207 int virtio_alloc_vq(struct virtio_softc*, struct virtqueue*, int, int,
209 int virtio_free_vq(struct virtio_softc*, struct virtqueue*);
210 void virtio_reset(struct virtio_softc *);
211 int virtio_reinit_start(struct virtio_softc *);
212 void virtio_reinit_end(struct virtio_softc *);
213 void virtio_child_attach_start(struct virtio_softc *, device_t, int,
215 int virtio_child_attach_finish(struct virtio_softc *,
218 void virtio_child_attach_failed(struct virtio_softc *);
219 void virtio_child_detach(struct virtio_softc *);
221 int virtio_enqueue_prep(struct virtio_softc*, struct virtqueue*, int*);
222 int virtio_enqueue_reserve(struct virtio_softc*, struct virtqueue*, int, int);
223 int virtio_enqueue(struct virtio_softc*, struct virtqueue*, int,
225 int virtio_enqueue_p(struct virtio_softc*, struct virtqueue*, int,
227 int virtio_enqueue_commit(struct virtio_softc*, struct virtqueue*, int, bool);
228 int virtio_enqueue_abort(struct virtio_softc*, struct virtqueue*, int);
230 int virtio_dequeue(struct virtio_softc*, struct virtqueue*, int *, int *);
231 int virtio_dequeue_commit(struct virtio_softc*, struct virtqueue*, int);
233 bool virtio_vq_is_enqueued(struct virtio_softc *, struct virtqueue *);
234 int virtio_postpone_intr(struct virtio_softc *sc, struct virtqueue *vq,
236 int virtio_postpone_intr_smart(struct virtio_softc *sc, struct virtqueue *vq);
237 int virtio_postpone_intr_far(struct virtio_softc *sc, struct virtqueue *vq);
238 void virtio_stop_vq_intr(struct virtio_softc *, struct virtqueue *);
239 int virtio_start_vq_intr(struct virtio_softc *, struct virtqueue *);
242 bus_dma_tag_t virtio_dmat(struct virtio_softc *);
243 device_t virtio_child(struct virtio_softc *);
244 int virtio_intrhand(struct virtio_softc *);
245 uint64_t virtio_features(struct virtio_softc *);
246 bool virtio_version_1(struct virtio_softc *);
249 void virtio_set_status(struct virtio_softc *, int);
251 int virtio_attach_failed(struct virtio_softc *);
261 uint16_t virtio_rw16(struct virtio_softc *sc, uint16_t val);
262 uint32_t virtio_rw32(struct virtio_softc *sc, uint32_t val);
263 uint64_t virtio_rw64(struct virtio_softc *sc, uint64_t val);