Commit 91aaf974 authored by Mathias Nyman's avatar Mathias Nyman Committed by Greg Kroah-Hartman
Browse files

xhci: dbc: Pass dbc pointer to get_in/out_ep() helper functions to get endpoints



Pass dbc pointer instead of struct xhci_hcd pointer to the get_in_ep() and
get_out_ep() helper functions.

No functional changes
This change helps decoupling xhci and DbC

Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20200723144530.9992-17-mathias.nyman@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b396fa39
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -593,7 +593,7 @@ static void dbc_handle_xfer_event(struct xhci_dbc *dbc, union xhci_trb *event)
	remain_length	= EVENT_TRB_LEN(le32_to_cpu(event->generic.field[2]));
	ep_id		= TRB_TO_EP_ID(le32_to_cpu(event->generic.field[3]));
	dep		= (ep_id == EPID_OUT) ?
				get_out_ep(xhci) : get_in_ep(xhci);
				get_out_ep(dbc) : get_in_ep(dbc);
	ring		= dep->ring;

	switch (comp_code) {
@@ -710,12 +710,12 @@ static enum evtreturn xhci_dbc_do_handle_events(struct xhci_dbc *dbc)
			dbc->state = DS_STALLED;

			if (ctrl & DBC_CTRL_HALT_IN_TR) {
				dep = get_in_ep(xhci);
				dep = get_in_ep(dbc);
				xhci_dbc_flush_endpoint_requests(dep);
			}

			if (ctrl & DBC_CTRL_HALT_OUT_TR) {
				dep = get_out_ep(xhci);
				dep = get_out_ep(dbc);
				xhci_dbc_flush_endpoint_requests(dep);
			}

+2 −6
Original line number Diff line number Diff line
@@ -179,17 +179,13 @@ enum evtreturn {
	EVT_DISC,
};

static inline struct dbc_ep *get_in_ep(struct xhci_hcd *xhci)
static inline struct dbc_ep *get_in_ep(struct xhci_dbc *dbc)
{
	struct xhci_dbc		*dbc = xhci->dbc;

	return &dbc->eps[BULK_IN];
}

static inline struct dbc_ep *get_out_ep(struct xhci_hcd *xhci)
static inline struct dbc_ep *get_out_ep(struct xhci_dbc *dbc)
{
	struct xhci_dbc		*dbc = xhci->dbc;

	return &dbc->eps[BULK_OUT];
}

+7 −7
Original line number Diff line number Diff line
@@ -418,7 +418,7 @@ static const struct tty_port_operations dbc_port_ops = {
};

static void
xhci_dbc_tty_init_port(struct xhci_hcd *xhci, struct dbc_port *port)
xhci_dbc_tty_init_port(struct xhci_dbc *dbc, struct dbc_port *port)
{
	tty_port_init(&port->port);
	spin_lock_init(&port->port_lock);
@@ -427,8 +427,8 @@ xhci_dbc_tty_init_port(struct xhci_hcd *xhci, struct dbc_port *port)
	INIT_LIST_HEAD(&port->read_queue);
	INIT_LIST_HEAD(&port->write_pool);

	port->in =		get_in_ep(xhci);
	port->out =		get_out_ep(xhci);
	port->in =		get_in_ep(dbc);
	port->out =		get_out_ep(dbc);
	port->port.ops =	&dbc_port_ops;
	port->n_read =		0;
}
@@ -446,7 +446,7 @@ int xhci_dbc_tty_register_device(struct xhci_dbc *dbc)
	struct device		*tty_dev;
	struct dbc_port		*port = &dbc->port;

	xhci_dbc_tty_init_port(xhci, port);
	xhci_dbc_tty_init_port(dbc, port);
	tty_dev = tty_port_register_device(&port->port,
					   dbc_tty_driver, 0, NULL);
	if (IS_ERR(tty_dev)) {
@@ -497,7 +497,7 @@ void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)
	port->registered = false;

	kfifo_free(&port->write_fifo);
	xhci_dbc_free_requests(get_out_ep(xhci), &port->read_pool);
	xhci_dbc_free_requests(get_out_ep(xhci), &port->read_queue);
	xhci_dbc_free_requests(get_in_ep(xhci), &port->write_pool);
	xhci_dbc_free_requests(get_out_ep(dbc), &port->read_pool);
	xhci_dbc_free_requests(get_out_ep(dbc), &port->read_queue);
	xhci_dbc_free_requests(get_in_ep(dbc), &port->write_pool);
}