RE: [RFC PATCH v2 02/15] usb:cdns3: Device side header file.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter
>> +
>> +/*
>> + * USBSS-DEV register interface.
>> + * This corresponds to the USBSS Device Controller Interface  */
>> +/**
>> + * struct xhci_cap_regs - xHCI Host Controller Capability Registers.
>
>struct cdns3_usb_regs - device controller registers

thanks,  
I had this from beginning. I don't know why.  
I 
>
>> +struct cdns3_device;
>> +
>> +struct cdns3_endpoint {
>> +	struct usb_ep		endpoint;
>> +	struct list_head	request_list;
>> +	struct list_head	ep_match_pending_list;
>> +
>> +	struct cdns3_trb	*trb_pool;
>> +	dma_addr_t		trb_pool_dma;
>> +
>> +	struct cdns3_device	*cdns3_dev;
>> +	char			name[20];
>> +
>> +#define EP_ENABLED		BIT(0)
>> +#define EP_STALL		BIT(1)
>> +#define EP_WEDGE		BIT(2)
>> +#define EP_TRANSFER_STARTED	BIT(3)
>> +#define EP_UPDATE_EP_TRBADDR	BIT(4)
>> +#define EP_PENDING_REQUEST	BIT(5)
>> +#define EP_USED			BIT(5)
>> +	u32			flags;
>> +
>> +	void			*aligned_buff;
>> +	dma_addr_t		aligned_dma_addr;
>> +	u8			dir;
>> +	u8			num;
>> +	u8			type;
>> +
>> +	int			free_trbs;
>> +	u8			pcs;
>> +	u8			ccs;
>> +	int			enqueue;
>> +	int			dequeue;
>> +};
>> +
>
>Would you please add kernel doc for above structure?

Done.
>
>> +struct cdns3_request {
>> +	struct usb_request request;
>> +	struct cdns3_endpoint *priv_ep;
>> +	struct cdns3_trb *trb;
>> +	int start_trb;
>> +	int end_trb;
>> +	int on_ring:1;
>> +};
>> +
>> +#define to_cdns3_request(r) (container_of(r, struct cdns3_request,
>> +request))
>> +
>> +struct cdns3_device {
>> +	struct device			dev;
>> +	struct cdns3_usb_regs		__iomem *regs;
>> +
>> +	struct usb_gadget		gadget;
>> +	struct usb_gadget_driver	*gadget_driver;
>> +
>> +	struct usb_ctrlrequest		*setup;
>> +	dma_addr_t			setup_dma;
>> +	dma_addr_t			trb_ep0_dma;
>> +	struct cdns3_trb		*trb_ep0;
>> +	void				*zlp_buf;
>> +
>> +	struct cdns3_endpoint		*eps[USB_SS_ENDPOINTS_MAX_COUNT];
>> +	int				ep_nums;
>> +	/*
>> +	 * field used for improving performance. It holds the last
>> +	 * selected endpoint number
>> +	 */
>> +	u32				selected_ep;
>> +	struct usb_request		*ep0_request;
>> +	int				ep0_data_dir;
>> +	int				hw_configured_flag;
>> +	int				wake_up_flag;
>> +	u16				isoch_delay;
>> +	/* generic spin-lock for drivers */
>> +	spinlock_t			lock;
>> +
>> +	unsigned			is_connected:1;
>> +	unsigned			in_standby_mode:1;
>> +	unsigned			status_completion_no_call:1;
>> +	unsigned			u1_allowed:1;
>> +	unsigned			u2_allowed:1;
>> +
>> +	u32				usb_ien;
>> +	u32				ep_ien;
>> +	int				setup_pending;
>> +	struct device			*sysdev;
>> +	/* The device mode is enabled */
>> +	int				start_gadget;
>> +	struct list_head		ep_match_list;
>> +	/* KB */
>> +	int				onchip_mem_allocated_size;
>> +	/* Memory is allocated for OUT */
>> +	int				out_mem_is_allocated:1;
>> +	struct work_struct		pending_status_wq;
>> +	struct usb_request		*pending_status_request;
>> +};
>> +

Cheers
Pawel




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux