[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 10/10] driver/char: add RX support to the XHCI driver
On 26.07.2022 05:23, Marek Marczykowski-Górecki wrote: > @@ -440,6 +442,16 @@ static void xhci_trb_norm_set_ioc(struct xhci_trb *trb) > trb->ctrl |= 0x20; > } > > +static uint64_t xhci_trb_norm_buf(struct xhci_trb *trb) const please. > +{ > + return trb->params; > +} > + > +static uint32_t xhci_trb_norm_len(struct xhci_trb *trb) And again. > +{ > + return trb->status & 0x1FFFF; > +} > + > /** > * Fields for Transfer Event TRBs (see section 6.4.2.1). Note that event > * TRBs are read-only from software > @@ -454,6 +466,12 @@ static uint32_t xhci_trb_tfre_cc(const struct xhci_trb > *trb) > return trb->status >> 24; > } > > +/* Amount of data _not_ transferred */ > +static uint32_t xhci_trb_tfre_len(const struct xhci_trb *trb) > +{ > + return trb->status & 0x1FFFF; > +} Same as xhci_trb_norm_len()? > @@ -985,6 +1054,33 @@ static void dbc_flush(struct dbc *dbc, struct > xhci_trb_ring *trb, > } > > /** > + * Ensure DbC has a pending transfer TRB to receive data into. > + * > + * @param dbc the dbc to flush > + * @param trb the ring for the TRBs to transfer > + * @param wrk the work ring to receive data into > + */ > +static void dbc_enqueue_in(struct dbc *dbc, struct xhci_trb_ring *trb, > + struct dbc_work_ring *wrk) I can't seem to be able to spot any use of this function - it being static, how do things build for you? > +{ > + struct dbc_reg *reg = dbc->dbc_reg; > + uint32_t db = (readl(®->db) & 0xFFFF00FF) | (trb->db << 8); I think I've seen this constant in earlier patches. Can this be a #define please, such that one can easily connect all the places where the same things is meant? > + > + /* Check if there is already queued TRB */ > + if ( xhci_trb_ring_size(trb) >= 1 ) > + return; > + > + if ( dbc_work_ring_full(wrk) ) > + return; What made me spot the lack of caller are these return statements. Without letting the caller know of the failure, how would it know to make another attempt later? Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |