PERFORCE change 166029 for review

Sylvestre Gallon syl at FreeBSD.org
Mon Jul 13 18:45:41 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=166029

Change 166029 by syl at syl_atuin on 2009/07/13 18:45:02

	Fix compilation issues.

Affected files ...

.. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 edit
.. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 edit

Differences ...

==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 (text+ko) ====

@@ -134,7 +134,8 @@
  * Transfer stuff.
  */
 
-static void	s3c24dci_device_done(struct usb_xfer *, usb_error_t)
+static void
+s3c24dci_device_done(struct usb_xfer *xfer, usb_error_t error)
 {
 	struct s3c24dci_softc *sc = S3C24_DCI_BUS2SC(xfer->xroot->bus);
 	uint32_t ittmp;
@@ -142,23 +143,35 @@
 
 	USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED);
 
-	DPRINTF(2, "xfer=%p, endpoint=%p, error=%d\n",
-	    xfer, xfer->endpointnom & UE_ADDR);
+	DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n",
+	    xfer, xfer->endpoint, error);
 
 	if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) {
 		ep_no = (xfer->endpointno & UE_ADDR);
 
 		/* disable endpoint interrupt */
-		ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN);
+		ittmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_EP_INT_EN);
 		ittmp &= ~(1<<ep_no);
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_EP_INT_EN, ittmp);	
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_EP_INT_EN, ittmp);	
 
-		DPRINTF(15, "disable interrupts on endpoint %d\n", ep_no);
+		DPRINTFN(15, "disable interrupts on endpoint %d\n", ep_no);
 	}
 
 	usbd_transfer_done(xfer, error);
 }
 
+static void
+s3c24dci_setup_standard_chain(struct usb_xfer *xfer)
+{
+
+}
+
+static void
+s3c24dci_start_standard_chain(struct usb_xfer *xfer)
+{
+
+}
+
 /*
  * s3c24xxdci ctrl/bulk/intr support
  */
@@ -198,7 +211,7 @@
 	.start = s3c24dci_device_xxx_start,
 };
 
-struct usb_pipe_methods s3c24dci_device_bulk_methods = {
+struct usb_pipe_methods s3c24dci_device_intr_methods = {
 	.open = s3c24dci_device_dummy,
 	.enter = s3c24dci_device_dummy,
 	.close = s3c24dci_device_xxx_close,
@@ -219,6 +232,16 @@
 	return ;
 }
 
+static void
+s3c24dci_get_hw_ep_profile(struct usb_device *udev,
+    const struct usb_hw_ep_profile **ppf, uint8_t ep_addr)
+{
+	if (ep_addr < S3C24XX_DCI_EP_MAX)
+		*ppf = (s3c24dci_ep_profile + ep_addr);
+	else
+		*ppf = NULL;
+}
+
 static void 
 s3c24dci_clear_stall_sub(struct s3c24dci_softc *sc, uint8_t ep_no,
 	uint8_t ep_type, uint8_t ep_dir)
@@ -235,25 +258,25 @@
 
 	/* disable ep */
 
-	ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN);
+	ittmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_EP_INT_EN);
 	ittmp &= ~(1<<ep_no);
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_EP_INT_EN, ittmp);	
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_EP_INT_EN, ittmp);	
 
 	/* get endpoint profile */
 	s3c24dci_get_hw_ep_profile(NULL, &pf, ep_no);
 
 	/* Clear SEND_STALL */
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no);
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no);
 	if (ep_dir & UE_DIR_IN) {
-		stallcmp = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1);
-		stallcmp &= ~(S3C24_DCI_IN_SEND_STALL);
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no);
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1 , stallcmp);
+		stalltmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_IN_CSR1);
+		stalltmp &= ~(S3C24_DCI_IN_SEND_STALL);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR1, stalltmp);
 	} else {
-		stallcmp = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1);
-		stallcmp &= ~(S3C24_DCI_OUT_SEND_STALL);
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no);
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1 , stallcmp);
+		stalltmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_OUT_CSR1);
+		stalltmp &= ~(S3C24_DCI_OUT_SEND_STALL);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1 , stalltmp);
 	}	
 	
 	/*
@@ -264,41 +287,41 @@
 
 	/* compute default CSR value */
 
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no);
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_MAXP, S3C24_DCI_MAXP64); 
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no);
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_MAXP, S3C24_DCI_MAXP64); 
 
 	/* enable endpoint */
 	if (ep_dir & UE_DIR_IN) {
 		csr1 = S3C24_DCI_IN_FIFO_FLUSH|S3C24_DCI_IN_CLR_DATA_TOGGLE;
 		csr2 = S3C24_DCI_IN_MODE_IN;
 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1, csr1); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR2, csr2); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR1, csr1); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR2, csr2); 
 
 	} else {
 		csr1 = S3C24_DCI_OUT_CLR_DATA_TOGGLE;
 		csr2 = 0;
 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr1); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR2, csr2); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1, csr1); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR2, csr2); 
 		
 		csr1 = S3C24_DCI_OUT_FIFO_FLUSH | S3C24_DCI_OUT_CLR_DATA_TOGGLE;
 		csr2 = 0;
 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr1); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, ep_no); 
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR2, csr2); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1, csr1); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, ep_no); 
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR2, csr2); 
 	}
 
 	/* enable it on the ep */
-	ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN);
+	ittmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_EP_INT_EN);
 	ittmp |= (1<<ep_no);
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_EP_INT_EN, ittmp);	
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_EP_INT_EN, ittmp);	
 }
 
 static void
@@ -307,7 +330,7 @@
 	struct s3c24dci_softc *sc;
 	struct usb_endpoint_descriptor *ed;
 
-	DPRINTF(5, "endpoint=%p\n", ep);
+	DPRINTFN(5, "endpoint=%p\n", ep);
 
 	/* check mode */
 	if (udev->flags.usb_mode != USB_MODE_DEVICE) {
@@ -336,7 +359,7 @@
 
 	USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED);
 
-	DPRINTF(5, "endpoint=%p\n", ep);
+	DPRINTFN(5, "endpoint=%p\n", ep);
 
 	if (xfer) {
 		/* cancel any ongoing transfers */
@@ -344,30 +367,21 @@
 	}
 
 	/* set STALL */
-	S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, (ep->ed->bEndpointAddress & UE_ADDR));
-	if (ep->ed->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT) == UE_DIR_IN) {
-		csr = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1);
+	sc = S3C24_DCI_BUS2SC(udev->bus);
+	S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, (ep->edesc->bEndpointAddress & UE_ADDR));
+	if ((ep->edesc->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT)) == UE_DIR_IN) {
+		csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_IN_CSR1);
 		csr |= S3C24_DCI_IN_SEND_STALL;
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1, csr);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR1, csr);
 	} else {
-		csr = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1);
+		csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_OUT_CSR1);
 		csr |= S3C24_DCI_OUT_SEND_STALL;
-		S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr);
+		S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1, csr);
 	}
 
 	return ;
 }
 
-static void
-s3c24dci_get_hw_ep_profile(struct usb_device *udev,
-    const struct usb_hw_ep_profile **ppf, uint8_t ep_addr)
-{
-	if (ep_addr < S3C24XX_DCI_EP_MAX)
-		*ppf = (s3c24dci_ep_profile + ep_addr);
-	else
-		*ppf = NULL;
-}
-
 static usb_error_t
 s3c24dci_roothub_exec(struct usb_device *udev,
     struct usb_device_request *req, const void **pptr, uint16_t *plength)
@@ -418,6 +432,8 @@
 		return ;
 	}
 
+	last_obj = NULL;
+
 	if (ntd) {
 		ep_no = xfer->endpointno & UE_ADDR;
 		s3c24dci_get_hw_ep_profile(parm->udev, &pf, ep_no);

==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 (text+ko) ====

@@ -172,14 +172,14 @@
 #define S3C24XX_DCI_READ_4(sc, reg) \
 	bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg)
 
-#define S3C24XX_DCI_WRITE_4(sc, reg, (sc)->sc_io_hdl, reg, data) \
-	bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl,  reg, data)
+#define S3C24XX_DCI_WRITE_4(sc, reg, data) \
+	bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data)
 
-struct s3cdci_td;
+struct s3c24dci_td;
 
-typedef uint8_t (s3c24dci_cmd_t)(struct s3c24dci_td *td);
+typedef uint8_t (*s3c24dci_cmd_t)(struct s3c24dci_td *td);
 
-struct uint8_t s3c24dci_td {
+struct s3c24dci_td {
 	bus_space_tag_t io_tag;
 	bus_space_handle_t io_hdl;
 	struct s3c24dci_td *obj_next;
@@ -199,6 +199,9 @@
 	struct usb_bus sc_bus;
 
 	struct usb_device *sc_devices[2];
+	bus_space_tag_t sc_io_tag;
+	bus_space_handle_t sc_io_hdl;
+
 	uint8_t	sc_rt_addr;		/* root HUB address */
 	uint8_t	sc_dv_addr;		/* device address */
 	uint8_t	sc_conf;		/* root HUB config */


More information about the p4-projects mailing list