|
@@ -569,7 +569,6 @@ static inline uint32_t cvmx_usb_read_csr32(struct cvmx_usb_state *usb,
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Write a USB 32bit CSR. It performs the necessary address
|
|
* Write a USB 32bit CSR. It performs the necessary address
|
|
* swizzle for 32bit CSRs and logs the value in a readable format
|
|
* swizzle for 32bit CSRs and logs the value in a readable format
|
|
@@ -602,7 +601,6 @@ static inline int cvmx_usb_pipe_needs_split(struct cvmx_usb_state *usb,
|
|
usb->usbcx_hprt.s.prtspd == CVMX_USB_SPEED_HIGH;
|
|
usb->usbcx_hprt.s.prtspd == CVMX_USB_SPEED_HIGH;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Trivial utility function to return the correct PID for a pipe
|
|
* Trivial utility function to return the correct PID for a pipe
|
|
*
|
|
*
|
|
@@ -1002,7 +1000,6 @@ static void cvmx_usb_reset_port(struct cvmx_usb_state *usb)
|
|
CVMX_USBCX_HPRT(usb->index));
|
|
CVMX_USBCX_HPRT(usb->index));
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Disable a USB port. After this call the USB port will not
|
|
* Disable a USB port. After this call the USB port will not
|
|
* generate data transfers and will not generate events.
|
|
* generate data transfers and will not generate events.
|
|
@@ -1021,7 +1018,6 @@ static int cvmx_usb_disable(struct cvmx_usb_state *usb)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Get the current state of the USB port. Use this call to
|
|
* Get the current state of the USB port. Use this call to
|
|
* determine if the usb port has anything connected, is enabled,
|
|
* determine if the usb port has anything connected, is enabled,
|
|
@@ -1166,7 +1162,6 @@ static struct cvmx_usb_pipe *cvmx_usb_open_pipe(struct cvmx_usb_state *usb,
|
|
return pipe;
|
|
return pipe;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Poll the RX FIFOs and remove data as needed. This function is only used
|
|
* Poll the RX FIFOs and remove data as needed. This function is only used
|
|
* in non DMA mode. It is very important that this function be called quickly
|
|
* in non DMA mode. It is very important that this function be called quickly
|
|
@@ -1213,7 +1208,6 @@ static void cvmx_usb_poll_rx_fifo(struct cvmx_usb_state *usb)
|
|
CVMX_SYNCW;
|
|
CVMX_SYNCW;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Fill the TX hardware fifo with data out of the software
|
|
* Fill the TX hardware fifo with data out of the software
|
|
* fifos
|
|
* fifos
|
|
@@ -1275,7 +1269,6 @@ static int cvmx_usb_fill_tx_hw(struct cvmx_usb_state *usb,
|
|
return fifo->head != fifo->tail;
|
|
return fifo->head != fifo->tail;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Check the hardware FIFOs and fill them as needed
|
|
* Check the hardware FIFOs and fill them as needed
|
|
*
|
|
*
|
|
@@ -1312,7 +1305,6 @@ static void cvmx_usb_poll_tx_fifo(struct cvmx_usb_state *usb)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Fill the TX FIFO with an outgoing packet
|
|
* Fill the TX FIFO with an outgoing packet
|
|
*
|
|
*
|
|
@@ -1515,7 +1507,6 @@ static void cvmx_usb_start_channel_control(struct cvmx_usb_state *usb,
|
|
usbc_hctsiz.u32);
|
|
usbc_hctsiz.u32);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Start a channel to perform the pipe's head transaction
|
|
* Start a channel to perform the pipe's head transaction
|
|
*
|
|
*
|
|
@@ -1858,7 +1849,6 @@ static void cvmx_usb_start_channel(struct cvmx_usb_state *usb, int channel,
|
|
cvmx_usb_fill_tx_fifo(usb, channel);
|
|
cvmx_usb_fill_tx_fifo(usb, channel);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Find a pipe that is ready to be scheduled to hardware.
|
|
* Find a pipe that is ready to be scheduled to hardware.
|
|
* @usb: USB device state populated by cvmx_usb_initialize().
|
|
* @usb: USB device state populated by cvmx_usb_initialize().
|
|
@@ -1892,7 +1882,6 @@ static struct cvmx_usb_pipe *cvmx_usb_find_ready_pipe(
|
|
return NULL;
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Called whenever a pipe might need to be scheduled to the
|
|
* Called whenever a pipe might need to be scheduled to the
|
|
* hardware.
|
|
* hardware.
|
|
@@ -2134,7 +2123,6 @@ static void cvmx_usb_perform_complete(struct cvmx_usb_state *usb,
|
|
kfree(transaction);
|
|
kfree(transaction);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Submit a usb transaction to a pipe. Called for all types
|
|
* Submit a usb transaction to a pipe. Called for all types
|
|
* of transactions.
|
|
* of transactions.
|
|
@@ -2209,7 +2197,6 @@ static struct cvmx_usb_transaction *cvmx_usb_submit_transaction(
|
|
return transaction;
|
|
return transaction;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Call to submit a USB Bulk transfer to a pipe.
|
|
* Call to submit a USB Bulk transfer to a pipe.
|
|
*
|
|
*
|
|
@@ -2234,7 +2221,6 @@ static struct cvmx_usb_transaction *cvmx_usb_submit_bulk(
|
|
urb);
|
|
urb);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Call to submit a USB Interrupt transfer to a pipe.
|
|
* Call to submit a USB Interrupt transfer to a pipe.
|
|
*
|
|
*
|
|
@@ -2260,7 +2246,6 @@ static struct cvmx_usb_transaction *cvmx_usb_submit_interrupt(
|
|
urb);
|
|
urb);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Call to submit a USB Control transfer to a pipe.
|
|
* Call to submit a USB Control transfer to a pipe.
|
|
*
|
|
*
|
|
@@ -2292,7 +2277,6 @@ static struct cvmx_usb_transaction *cvmx_usb_submit_control(
|
|
urb);
|
|
urb);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Call to submit a USB Isochronous transfer to a pipe.
|
|
* Call to submit a USB Isochronous transfer to a pipe.
|
|
*
|
|
*
|
|
@@ -2320,7 +2304,6 @@ static struct cvmx_usb_transaction *cvmx_usb_submit_isochronous(
|
|
packets, urb);
|
|
packets, urb);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Cancel one outstanding request in a pipe. Canceling a request
|
|
* Cancel one outstanding request in a pipe. Canceling a request
|
|
* can fail if the transaction has already completed before cancel
|
|
* can fail if the transaction has already completed before cancel
|
|
@@ -2370,7 +2353,6 @@ static int cvmx_usb_cancel(struct cvmx_usb_state *usb,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Cancel all outstanding requests in a pipe. Logically all this
|
|
* Cancel all outstanding requests in a pipe. Logically all this
|
|
* does is call cvmx_usb_cancel() in a loop.
|
|
* does is call cvmx_usb_cancel() in a loop.
|
|
@@ -2395,7 +2377,6 @@ static int cvmx_usb_cancel_all(struct cvmx_usb_state *usb,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Close a pipe created with cvmx_usb_open_pipe().
|
|
* Close a pipe created with cvmx_usb_open_pipe().
|
|
*
|
|
*
|
|
@@ -2437,7 +2418,6 @@ static int cvmx_usb_get_frame_number(struct cvmx_usb_state *usb)
|
|
return frame_number;
|
|
return frame_number;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Poll a channel for status
|
|
* Poll a channel for status
|
|
*
|
|
*
|
|
@@ -3616,7 +3596,6 @@ static int octeon_usb_probe(struct platform_device *pdev)
|
|
dev_err(dev, "Illegal USBN \"clock-frequency\" %u\n",
|
|
dev_err(dev, "Illegal USBN \"clock-frequency\" %u\n",
|
|
clock_rate);
|
|
clock_rate);
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
i = of_property_read_string(usbn_node,
|
|
i = of_property_read_string(usbn_node,
|