Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e209117 authored by Dave Airlie's avatar Dave Airlie
Browse files

qxl: add ring prep code for s/r



This prepare the ring code for s/r additions, the release ring will need
reinitialising.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent c9fdda2a
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -49,6 +49,11 @@ void qxl_ring_free(struct qxl_ring *ring)
	kfree(ring);
}

void qxl_ring_init_hdr(struct qxl_ring *ring)
{
	ring->ring->header.notify_on_prod = ring->n_elements;
}

struct qxl_ring *
qxl_ring_create(struct qxl_ring_header *header,
		int element_size,
@@ -69,7 +74,7 @@ qxl_ring_create(struct qxl_ring_header *header,
	ring->prod_notify = prod_notify;
	ring->push_event = push_event;
	if (set_prod_notify)
		header->notify_on_prod = ring->n_elements;
		qxl_ring_init_hdr(ring);
	spin_lock_init(&ring->lock);
	return ring;
}
@@ -87,7 +92,7 @@ static int qxl_check_header(struct qxl_ring *ring)
	return ret;
}

static int qxl_check_idle(struct qxl_ring *ring)
int qxl_check_idle(struct qxl_ring *ring)
{
	int ret;
	struct qxl_ring_header *header = &(ring->ring->header);
+2 −0
Original line number Diff line number Diff line
@@ -340,6 +340,8 @@ struct qxl_ring *qxl_ring_create(struct qxl_ring_header *header,
				 bool set_prod_notify,
				 wait_queue_head_t *push_event);
void qxl_ring_free(struct qxl_ring *ring);
void qxl_ring_init_hdr(struct qxl_ring *ring);
int qxl_check_idle(struct qxl_ring *ring);

static inline void *
qxl_fb_virtual_address(struct qxl_device *qdev, unsigned long physical)