Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jul 2013 07:50:44 GMT
From:      bguan@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r255382 - soc2013/bguan/head/sys/dev/xen/usbfront
Message-ID:  <201307310750.r6V7oiua030592@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bguan
Date: Wed Jul 31 07:50:44 2013
New Revision: 255382
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255382

Log:
  initialization for xen usb root hub

Modified:
  soc2013/bguan/head/sys/dev/xen/usbfront/xenhci.h

Modified: soc2013/bguan/head/sys/dev/xen/usbfront/xenhci.h
==============================================================================
--- soc2013/bguan/head/sys/dev/xen/usbfront/xenhci.h	Wed Jul 31 07:50:32 2013	(r255381)
+++ soc2013/bguan/head/sys/dev/xen/usbfront/xenhci.h	Wed Jul 31 07:50:44 2013	(r255382)
@@ -82,6 +82,31 @@
 	enum usb_dev_speed 	speed;
 };
 
+/*
+ * xenhci root HUB support
+*/
+struct xenhci_config_desc {
+	struct usb_config_descriptor		confd;
+	struct usb_interface_descriptor		ifcd;
+	struct usb_endpoint_descriptor		endpd;
+	//struct usb_endpoint_ss_comp_descriptor	endpcd;
+} __packed;
+
+/*
+struct xhci_bos_desc {
+	struct usb_bos_descriptor		bosd;
+	struct usb_devcap_usb2ext_descriptor	usb2extd;
+	struct usb_devcap_ss_descriptor		usbdcd;
+	struct usb_devcap_container_id_descriptor cidd;
+} __packed;*/
+
+union xenhci_hub_desc {
+	struct usb_status		stat;
+	struct usb_port_status		ps;
+	//struct usb_hub_ss_descriptor	hubd;
+	uint8_t				temp[128];
+};
+
 /* 
  The "hardware" in Xen host controller is the shared ring to 
  the backend driver and the data you can send and receive across it
@@ -99,16 +124,30 @@
 //};
 
 struct xenhci_softc {
-	//struct xenhci_hw_softc	sc_hw;
+	//struct xenhci_hw_softc	sc_hw; //need it in xen?
 	/* base device */
 	struct usb_bus		sc_bus;
 	/* configure message */
 	struct usb_bus_msg	sc_config_msg[2];
-
 	struct usb_callout	sc_callout;
+	union xenhci_hub_desc	sc_hub_desc;
 
 	struct usb_device	*sc_devices[XENHCI_MAX_DEVICES];
 
+	/* number of XHCI device slots */
+	uint8_t			sc_noslot;
+	/* number of ports on root HUB */
+	uint8_t			sc_noport;  //<32 in xen
+	/* number of scratch pages */
+	uint8_t			sc_noscratch;
+	/* root HUB device configuration */
+	uint8_t			sc_conf;
+	uint8_t			sc_hub_idata[2];
+
+	/* vendor string for root HUB */
+	char			sc_vendor[16];
+
+
 	/* Virtual Host Controller has 4 urb queues */
 	LIST_ENTRY(list_head)	pending_submit_list;	//??
 	LIST_ENTRY(list_head)	pending_unlink_list;	//??



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307310750.r6V7oiua030592>